Blob Blame History Raw
commit 623d785f957acc9eccb47a9a3f88e5e167a370b6
Author: John Dennis <jdennis@redhat.com>
Date:   Mon Jun 25 17:37:45 2018 -0400

    fix duplicate definition of LogoutTestCase and logoutSuite
    
    Commit 6f617027e added a duplicate definition of the LogoutTestCase
    class containing only 1 test which shaddowed the original
    LogoutTestCase containing 4 tests. The logoutSuite variable was also
    shadowed and the allTests variable contained a duplicate of
    logoutSuite causing the 2nd definition of LogoutTestCase to be run
    twice.
    
    Not only were the original 4 tests not being run but the entire unit
    test in profiles_tests.py was failing under Python3. This is because
    the unittest code in Py3 deletes a test from it's list of tests to run
    once it's been run. The second time the logoutSuite was invoked it no
    longer contained any tests which caused an exception to be raised
    because there were no tests to be run.
    
    License: MIT
    Signed-off-by: John Dennis <jdennis@redhat.com>

diff --git a/bindings/python/tests/profiles_tests.py b/bindings/python/tests/profiles_tests.py
index 547c9e24..0ba1e56e 100755
--- a/bindings/python/tests/profiles_tests.py
+++ b/bindings/python/tests/profiles_tests.py
@@ -386,6 +386,21 @@ class LogoutTestCase(unittest.TestCase):
         else:
             self.fail('Logout processResponseMsg should have failed.')
 
+    def test05(self):
+        '''Test parsing of a logout request with more than one session index'''
+        content = '''<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="xxxx" Version="2.0" IssueInstant="2010-06-14T22:00:00">
+        <saml:Issuer>me</saml:Issuer>
+        <saml:NameID>coin</saml:NameID>
+        <samlp:SessionIndex>id1</samlp:SessionIndex>
+        <samlp:SessionIndex>id2</samlp:SessionIndex>
+        <samlp:SessionIndex>id3</samlp:SessionIndex>
+        </samlp:LogoutRequest>'''
+
+        node = lasso.Samlp2LogoutRequest.newFromXmlNode(content)
+        assert isinstance(node, lasso.Samlp2LogoutRequest)
+        assert node.sessionIndex == 'id1'
+        assert node.sessionIndexes == ('id1', 'id2', 'id3')
+
 class DefederationTestCase(unittest.TestCase):
     def test01(self):
         """IDP initiated defederation; testing processNotificationMsg with non Liberty query."""
@@ -478,32 +493,15 @@ class AttributeAuthorityTestCase(unittest.TestCase):
         assert aq.response.assertion[0].attributeStatement[0].attribute[0]
         assert aq.response.assertion[0].attributeStatement[0].attribute[0].attributeValue[0]
 
-class LogoutTestCase(unittest.TestCase):
-    def test01(self):
-        '''Test parsing of a logout request with more than one session index'''
-        content = '''<samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="xxxx" Version="2.0" IssueInstant="2010-06-14T22:00:00">
-        <saml:Issuer>me</saml:Issuer>
-        <saml:NameID>coin</saml:NameID>
-        <samlp:SessionIndex>id1</samlp:SessionIndex>
-        <samlp:SessionIndex>id2</samlp:SessionIndex>
-        <samlp:SessionIndex>id3</samlp:SessionIndex>
-        </samlp:LogoutRequest>'''
-
-        node = lasso.Samlp2LogoutRequest.newFromXmlNode(content)
-        assert isinstance(node, lasso.Samlp2LogoutRequest)
-        assert node.sessionIndex == 'id1'
-        assert node.sessionIndexes == ('id1', 'id2', 'id3')
-
 serverSuite = unittest.makeSuite(ServerTestCase, 'test')
 loginSuite = unittest.makeSuite(LoginTestCase, 'test')
 logoutSuite = unittest.makeSuite(LogoutTestCase, 'test')
 defederationSuite = unittest.makeSuite(DefederationTestCase, 'test')
 identitySuite = unittest.makeSuite(IdentityTestCase, 'test')
 attributeSuite = unittest.makeSuite(AttributeAuthorityTestCase, 'test')
-logoutSuite = unittest.makeSuite(LogoutTestCase, 'test')
 
 allTests = unittest.TestSuite((serverSuite, loginSuite, logoutSuite, defederationSuite,
-                               identitySuite, attributeSuite, logoutSuite))
+                               identitySuite, attributeSuite))
 
 if __name__ == '__main__':
     sys.exit(not unittest.TextTestRunner(verbosity = 2).run(allTests).wasSuccessful())