Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-21225

OidcIdentityPropagationTestCase and related tests are flaky because getAdminAccessToken(..) is not resilient

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 38.0.0.Final, 38.0.1.Final
    • Security
    • None

      The code obtaining the admin token is poorly written and not resilient enough. 

      While the container is booting it keeps hammering it with requests it busy waits without backoff interval, it fails even if proper token is returned but after the deadline (unnecessary failure), it does have any http timeouts set, it returns null instead of propagating the correct failure cause, among other things like code duplication.

      https://ci.wildfly.org/test/673577115183159942?currentProjectId=WF_PullRequest

      java.lang.AssertionError
        at org.junit.Assert.fail(Assert.java:87)
        at org.junit.Assert.assertTrue(Assert.java:42)
        at org.junit.Assert.assertNotNull(Assert.java:713)
        at org.junit.Assert.assertNotNull(Assert.java:723)
        at org.wildfly.test.integration.elytron.oidc.client.OidcBaseTest.sendRealmCreationRequest(OidcBaseTest.java:154)
        at org.wildfly.test.integration.elytron.oidc.client.propagation.OidcIdentityPropagationTestCase$KeycloakAndSubsystemSetup.setup(OidcIdentityPropagationTestCase.java:775)
        at org.jboss.as.arquillian.container.ServerSetupObserver$ServerSetupTaskHolder.setup(ServerSetupObserver.java:259)
        at org.jboss.as.arquillian.container.ServerSetupObserver.executeSetup(ServerSetupObserver.java:186)
        at org.jboss.as.arquillian.container.ServerSetupObserver.handleBeforeDeployment(ServerSetupObserver.java:119)
        at jdk.internal.reflect.GeneratedMethodAccessor78.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:102)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:89)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:61)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:146)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$3.call(ContainerDeployController.java:117)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.executeOperation(ContainerDeployController.java:238)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deploy(ContainerDeployController.java:117)
        at jdk.internal.reflect.GeneratedMethodAccessor77.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:102)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:89)
        at org.jboss.arquillian.container.impl.client.container.DeploymentExceptionHandler.verifyExpectedExceptionDuringDeploy(DeploymentExceptionHandler.java:46)
        at jdk.internal.reflect.GeneratedMethodAccessor76.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:94)
        at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createDeploymentContext(ContainerDeploymentContextHandler.java:70)
        at jdk.internal.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:94)
        at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:53)
        at jdk.internal.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:94)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:61)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:91)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController$1.perform(ContainerDeployController.java:76)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachDeployment(ContainerDeployController.java:231)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.forEachManagedDeployment(ContainerDeployController.java:211)
        at org.jboss.arquillian.container.impl.client.container.ContainerDeployController.deployManaged(ContainerDeployController.java:76)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:102)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:89)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
        at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:61)
        at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:95)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:102)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:89)
        at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:82)
        at jdk.internal.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:94)
        at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:68)
        at jdk.internal.reflect.GeneratedMethodAccessor59.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
        at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
        at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:94)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
        at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
        at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:88)
        at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:163)
        at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:350)
        at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:54)
        at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:177)
        at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
        at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:115)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:316)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:240)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:214)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:155)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
        at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
        at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)
      

              rhn-engineering-rhusar Radoslav Husar
              rhn-engineering-rhusar Radoslav Husar
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: