From 2ca030352498bdef82f6496fb487be5fce8c98eb Mon Sep 17 00:00:00 2001 From: John Dennis Date: Mon, 25 Jun 2018 17:37:45 -0400 Subject: [PATCH] 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 --- bindings/python/tests/profiles_tests.py | 34 ++++++++++++------------- 1 file changed, 16 insertions(+), 18 deletions(-) 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 = ''' + me + coin + id1 + id2 + id3 + ''' + + 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 = ''' - me - coin - id1 - id2 - id3 - ''' - - 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())