Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-2014

TestAuthFilterAuthOozieClient fails after OOZIE-1917

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • trunk
    • 4.2.0
    • tests
    • None

    Description

      As part of OOZIE-1917, we removed the oozie.authentication.signature.secret property so it will default to a randomly generated secret instead of "oozie" as the secret. This causes TestAuthFilterAuthOozieClient.testClientAuthTokenCache to fail because it's comparing the auth token from two calls to two different Oozie server instances, which now don't match because the secret is different.

      testClientAuthTokenCache(org.apache.oozie.servlet.TestAuthFilterAuthOozieClient)  Time elapsed: 0.008 sec  <<< FAILURE!
      junit.framework.ComparisonFailure: expected:<...=simple&e=1411181460[262&s=ih179o8nT7c1pRorbFhE17QKemQ]=> but was:<...=simple&e=1411181460[645&s=mh9optNIM2eTqJsrXT7rcJjeTiI]=>
      	at junit.framework.Assert.assertEquals(Assert.java:85)
      	at junit.framework.Assert.assertEquals(Assert.java:91)
      	at org.apache.oozie.servlet.TestAuthFilterAuthOozieClient.testClientAuthTokenCache(TestAuthFilterAuthOozieClient.java:193)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at junit.framework.TestCase.runTest(TestCase.java:168)
      	at junit.framework.TestCase.runBare(TestCase.java:134)
      	at junit.framework.TestResult$1.protect(TestResult.java:110)
      	at junit.framework.TestResult.runProtected(TestResult.java:128)
      	at junit.framework.TestResult.run(TestResult.java:113)
      	at junit.framework.TestCase.run(TestCase.java:124)
      	at junit.framework.TestSuite.runTest(TestSuite.java:243)
      	at junit.framework.TestSuite.run(TestSuite.java:238)
      	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
      	at org.junit.runners.Suite.runChild(Suite.java:128)
      	at org.junit.runners.Suite.runChild(Suite.java:24)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:744)
      

      Attachments

        1. OOZIE-2014.patch
          7 kB
          Robert Kanter

        Issue Links

          Activity

            rkanter Robert Kanter added a comment -

            The patch sets the secret for just that test to "secret" so it will work again. I also noticed that the tests in that class were setting some System Properties which were actually Configuration properties, so I fixed that too.

            rkanter Robert Kanter added a comment - The patch sets the secret for just that test to "secret" so it will work again. I also noticed that the tests in that class were setting some System Properties which were actually Configuration properties, so I fixed that too.
            • When you set the additionalConf on Services, don't you have to restore it to old value after test was run. setSystemProperty() was doing that before.
            • testClientWithCustomAuthenticator is missing setting of authenticator.class
            rohini Rohini Palaniswamy added a comment - When you set the additionalConf on Services, don't you have to restore it to old value after test was run. setSystemProperty() was doing that before. testClientWithCustomAuthenticator is missing setting of authenticator.class
            rkanter Robert Kanter added a comment -

            We had to do that with setSystemProperty() because it was setting system properties on the JVM. The additionalConf is being set on the Services's Conf, which gets reloaded every time the Services is created; so that's not a problem here.

            testClientWithCustomAuthenticator is still setting the authenticator.class. Unless you mean that I left it as a system property instead of putting it in the additionalConf? Both authenticator.class and oozie.auth.token.cache are actually system properties that the Oozie Client looks at, so these are fine.

            rkanter Robert Kanter added a comment - We had to do that with setSystemProperty() because it was setting system properties on the JVM. The additionalConf is being set on the Services's Conf, which gets reloaded every time the Services is created; so that's not a problem here. testClientWithCustomAuthenticator is still setting the authenticator.class. Unless you mean that I left it as a system property instead of putting it in the additionalConf? Both authenticator.class and oozie.auth.token.cache are actually system properties that the Oozie Client looks at, so these are fine.
            hadoopqa Hadoop QA added a comment -

            Testing JIRA OOZIE-2014

            Cleaning local git workspace

            ----------------------------

            +1 PATCH_APPLIES
            +1 CLEAN
            +1 RAW_PATCH_ANALYSIS
            . +1 the patch does not introduce any @author tags
            . +1 the patch does not introduce any tabs
            . +1 the patch does not introduce any trailing spaces
            . +1 the patch does not introduce any line longer than 132
            . +1 the patch does adds/modifies 1 testcase(s)
            +1 RAT
            . +1 the patch does not seem to introduce new RAT warnings
            +1 JAVADOC
            . +1 the patch does not seem to introduce new Javadoc warnings
            +1 COMPILE
            . +1 HEAD compiles
            . +1 patch compiles
            . +1 the patch does not seem to introduce new javac warnings
            +1 BACKWARDS_COMPATIBILITY
            . +1 the patch does not change any JPA Entity/Colum/Basic/Lob/Transient annotations
            . +1 the patch does not modify JPA files
            -1 TESTS - patch does not compile, cannot run testcases
            +1 DISTRO
            . +1 distro tarball builds with the patch

            ----------------------------
            -1 Overall result, please check the reported -1(s)

            The full output of the test-patch run is available at

            . https://builds.apache.org/job/oozie-trunk-precommit-build/1998/

            hadoopqa Hadoop QA added a comment - Testing JIRA OOZIE-2014 Cleaning local git workspace ---------------------------- +1 PATCH_APPLIES +1 CLEAN +1 RAW_PATCH_ANALYSIS . +1 the patch does not introduce any @author tags . +1 the patch does not introduce any tabs . +1 the patch does not introduce any trailing spaces . +1 the patch does not introduce any line longer than 132 . +1 the patch does adds/modifies 1 testcase(s) +1 RAT . +1 the patch does not seem to introduce new RAT warnings +1 JAVADOC . +1 the patch does not seem to introduce new Javadoc warnings +1 COMPILE . +1 HEAD compiles . +1 patch compiles . +1 the patch does not seem to introduce new javac warnings +1 BACKWARDS_COMPATIBILITY . +1 the patch does not change any JPA Entity/Colum/Basic/Lob/Transient annotations . +1 the patch does not modify JPA files -1 TESTS - patch does not compile, cannot run testcases +1 DISTRO . +1 distro tarball builds with the patch ---------------------------- -1 Overall result, please check the reported -1(s) The full output of the test-patch run is available at . https://builds.apache.org/job/oozie-trunk-precommit-build/1998/
            rkanter Robert Kanter added a comment -

            I'm not sure why it said the patch didn't compile and it couldn't run the test cases...
            It did compile: https://builds.apache.org/job/oozie-trunk-precommit-build/1998/artifact/test-patch/reports/COMPILE-patch.txt
            And the test cases all passed: https://builds.apache.org/job/oozie-trunk-precommit-build/1998/testReport/

            rkanter Robert Kanter added a comment - I'm not sure why it said the patch didn't compile and it couldn't run the test cases... It did compile: https://builds.apache.org/job/oozie-trunk-precommit-build/1998/artifact/test-patch/reports/COMPILE-patch.txt And the test cases all passed: https://builds.apache.org/job/oozie-trunk-precommit-build/1998/testReport/
            rkanter Robert Kanter added a comment -

            Committed to trunk!

            rkanter Robert Kanter added a comment - Committed to trunk!

            People

              rkanter Robert Kanter
              rkanter Robert Kanter
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: