From fe0d65f7c8454084e04ca614e2240e5e1388e2c9 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Wed, 17 Feb 2021 22:43:37 +0100 Subject: [PATCH] Fix oragono tests broken by 9b2a6a063c811d0f37bebce79cb89662c66d213e. --- irctest/controllers/oragono.py | 3 + irctest/server_tests/test_confusables.py | 13 ++--- irctest/server_tests/test_lusers.py | 24 ++++---- irctest/server_tests/test_register_verify.py | 58 ++++++++++++-------- 4 files changed, 58 insertions(+), 40 deletions(-) diff --git a/irctest/controllers/oragono.py b/irctest/controllers/oragono.py index fb99271..044ee40 100644 --- a/irctest/controllers/oragono.py +++ b/irctest/controllers/oragono.py @@ -178,6 +178,9 @@ class OragonoController(BaseServerController, DirectoryBasedController): 'enabled': True, } + if 'oragono_config' in self.test_config: + self.test_config['oragono_config'](config) + self.port = port bind_address = "127.0.0.1:%s" % (port,) listener_conf = None # plaintext diff --git a/irctest/server_tests/test_confusables.py b/irctest/server_tests/test_confusables.py index 3fb2203..735ace1 100644 --- a/irctest/server_tests/test_confusables.py +++ b/irctest/server_tests/test_confusables.py @@ -2,14 +2,13 @@ from irctest import cases from irctest.numerics import RPL_WELCOME, ERR_NICKNAMEINUSE class ConfusablesTestCase(cases.BaseServerTestCase): - - def customizedConfig(self): - config = self.controller.baseConfig() - config['accounts']['nick-reservation'] = { - 'enabled': True, - 'method': 'strict', + @staticmethod + def config(): + return { + "oragono_config": lambda config: config['accounts'].update( + {'nick-reservation': {'enabled': True, 'method': 'strict'}} + ) } - return config @cases.SpecificationSelector.requiredBySpecification('Oragono') def testConfusableNicks(self): diff --git a/irctest/server_tests/test_lusers.py b/irctest/server_tests/test_lusers.py index 6d01f92..787711d 100644 --- a/irctest/server_tests/test_lusers.py +++ b/irctest/server_tests/test_lusers.py @@ -185,11 +185,13 @@ class LusersUnregisteredTestCase(LusersTestCase): class LusersUnregisteredDefaultInvisibleTest(LusersUnregisteredTestCase): """Same as above but with +i as the default.""" - - def customizedConfig(self): - conf = self.controller.baseConfig() - conf['accounts']['default-user-modes'] = '+i' - return conf + @staticmethod + def config(): + return { + "oragono_config": lambda config: config['accounts'].update( + {'default-user-modes': '+i'} + ) + } @cases.SpecificationSelector.requiredBySpecification('Oragono') def testLusers(self): @@ -276,11 +278,13 @@ class LuserOpersTest(LusersTestCase): class OragonoInvisibleDefaultTest(LusersTestCase): - - def customizedConfig(self): - conf = self.controller.baseConfig() - conf['accounts']['default-user-modes'] = '+i' - return conf + @staticmethod + def config(): + return { + "oragono_config": lambda config: config['accounts'].update( + {'default-user-modes': '+i'} + ) + } @cases.SpecificationSelector.requiredBySpecification('Oragono') def testLusers(self): diff --git a/irctest/server_tests/test_register_verify.py b/irctest/server_tests/test_register_verify.py index 5799c8a..c072b15 100644 --- a/irctest/server_tests/test_register_verify.py +++ b/irctest/server_tests/test_register_verify.py @@ -3,11 +3,13 @@ from irctest import cases REGISTER_CAP_NAME = 'draft/register' class TestRegisterBeforeConnect(cases.BaseServerTestCase): - - def customizedConfig(self): - config = self.controller.baseConfig() - config['accounts']['registration']['allow-before-connect'] = True - return config + @staticmethod + def config(): + return { + "oragono_config": lambda config: config['accounts']['registration'].update( + {'allow-before-connect': True} + ) + } @cases.SpecificationSelector.requiredBySpecification('Oragono') def testBeforeConnect(self): @@ -23,11 +25,13 @@ class TestRegisterBeforeConnect(cases.BaseServerTestCase): self.assertEqual(register_response.params[0], 'SUCCESS') class TestRegisterBeforeConnectDisallowed(cases.BaseServerTestCase): - - def customizedConfig(self): - config = self.controller.baseConfig() - config['accounts']['registration']['allow-before-connect'] = False - return config + @staticmethod + def config(): + return { + "oragono_config": lambda config: config['accounts']['registration'].update( + {'allow-before-connect': False} + ) + } @cases.SpecificationSelector.requiredBySpecification('Oragono') def testBeforeConnect(self): @@ -43,15 +47,21 @@ class TestRegisterBeforeConnectDisallowed(cases.BaseServerTestCase): self.assertEqual(fail_response.params[:2], ['REGISTER', 'DISALLOWED']) class TestRegisterEmailVerified(cases.BaseServerTestCase): - def customizedConfig(self): - config = self.controller.baseConfig() - config['accounts']['registration']['email-verification'] = { - 'enabled': True, - 'sender': 'test@example.com', - 'require-tls': True, - 'helo-domain': 'example.com', + @staticmethod + def config(): + return { + "oragono_config": lambda config: config['accounts']['registration'].update( + { + 'email-verification': { + 'enabled': True, + 'sender': 'test@example.com', + 'require-tls': True, + 'helo-domain': 'example.com', + }, + 'allow-before-connect': True, + } + ) } - config['accounts']['registration']['allow-before-connect'] = True return config @cases.SpecificationSelector.requiredBySpecification('Oragono') @@ -76,11 +86,13 @@ class TestRegisterEmailVerified(cases.BaseServerTestCase): self.assertEqual(fail_response.params[:2], ['REGISTER', 'INVALID_EMAIL']) class TestRegisterNoLandGrabs(cases.BaseServerTestCase): - - def customizedConfig(self): - config = self.controller.baseConfig() - config['accounts']['registration']['allow-before-connect'] = True - return config + @staticmethod + def config(): + return { + "oragono_config": lambda config: config['accounts']['registration'].update( + {'allow-before-connect': True} + ) + } @cases.SpecificationSelector.requiredBySpecification('Oragono') def testBeforeConnect(self):