From 2541fa25ca4c6505196ed11515f7cce6ef87c2f1 Mon Sep 17 00:00:00 2001 From: Daniel Oaks Date: Sun, 20 Dec 2015 13:07:13 +1000 Subject: [PATCH] irctest.client_tests.test_sasl: Support skipping unsupported mechanism tests --- irctest/client_tests/test_sasl.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/irctest/client_tests/test_sasl.py b/irctest/client_tests/test_sasl.py index 4f823e9..79f25a7 100644 --- a/irctest/client_tests/test_sasl.py +++ b/irctest/client_tests/test_sasl.py @@ -16,6 +16,13 @@ IRX9cyi2wdYg9mUUYyh9GKdBCYHGUJAiCA== """ class SaslTestCase(cases.BaseClientTestCase, cases.ClientNegociationHelper): + def checkMechanismSupport(self, mechanism): + if not hasattr(self.controller, 'supported_sasl_mechanisms'): + return + if mechanism in self.controller.supported_sasl_mechanisms: + return + self.skipTest('SASL Mechanism not supported: {}'.format(mechanism)) + def testPlain(self): auth = authentication.Authentication( mechanisms=[authentication.Mechanisms.plain], @@ -108,6 +115,7 @@ class SaslTestCase(cases.BaseClientTestCase, cases.ClientNegociationHelper): ecdsa_key=ECDSA_KEY, ) m = self.negotiateCapabilities(['sasl'], auth=auth) + self.checkMechanismSupport('ECDSA-NIST256P-CHALLENGE') self.assertEqual(m, Message([], None, 'AUTHENTICATE', ['ECDSA-NIST256P-CHALLENGE'])) self.sendLine('AUTHENTICATE +') m = self.getMessage()