You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
4.2 KiB
84 lines
4.2 KiB
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())
|