diff options
Diffstat (limited to 'src/leap/eip')
-rw-r--r-- | src/leap/eip/checks.py | 50 | ||||
-rw-r--r-- | src/leap/eip/tests/test_checks.py | 54 |
2 files changed, 104 insertions, 0 deletions
diff --git a/src/leap/eip/checks.py b/src/leap/eip/checks.py new file mode 100644 index 00000000..bb588cf7 --- /dev/null +++ b/src/leap/eip/checks.py @@ -0,0 +1,50 @@ +import logging +logger = logging.getLogger(name=__name__) + + +class EIPChecker(object): + """ + Executes all tests needed + to ensure a EIPConnection + can be sucessful + """ + def __init__(self): + pass + + def do_all_checks(self, checker=None): + """ + just runs all tests in a row. + will raise if some error encounter. + catching those exceptions is not + our responsibility at this moment + """ + if not checker: + checker = self + + # let's call all tests + # needed for a sane eip session. + + checker.dump_default_eipconfig() + checker.check_is_there_default_provider() + checker.fetch_definition() + checker.fetch_eip_config() + checker.check_complete_eip_config() + checker.ping_gateway() + + def dump_default_eipconfig(self): + raise NotImplementedError + + def check_is_there_default_provider(self): + raise NotImplementedError + + def fetch_definition(self): + raise NotImplementedError + + def fetch_eip_config(self): + raise NotImplementedError + + def check_complete_eip_config(self): + raise NotImplementedError + + def ping_gateway(self): + raise NotImplementedError diff --git a/src/leap/eip/tests/test_checks.py b/src/leap/eip/tests/test_checks.py new file mode 100644 index 00000000..53f8dc6c --- /dev/null +++ b/src/leap/eip/tests/test_checks.py @@ -0,0 +1,54 @@ +try: + import unittest2 as unittest +except ImportError: + import unittest + +from mock import Mock + +from leap.eip import checks as eip_checks +from leap.testing.basetest import BaseLeapTest + + +class EIPCheckTest(BaseLeapTest): + + __name__ = "eip_check_tests" + + def setUp(self): + pass + + def tearDown(self): + pass + + def test_checker_should_implement_check_methods(self): + checker = eip_checks.EIPChecker() + + self.assertTrue(hasattr(checker, "dump_default_eipconfig"), + "missing meth") + self.assertTrue(hasattr(checker, "check_is_there_default_provider"), + "missing meth") + self.assertTrue(hasattr(checker, "fetch_definition"), "missing meth") + self.assertTrue(hasattr(checker, "fetch_eip_config"), "missing meth") + self.assertTrue(hasattr(checker, "check_complete_eip_config"), + "missing meth") + self.assertTrue(hasattr(checker, "ping_gateway"), "missing meth") + + def test_checker_should_actually_call_all_tests(self): + checker = eip_checks.EIPChecker() + + mc = Mock() + checker.do_all_checks(checker=mc) + self.assertTrue(mc.dump_default_eipconfig.called, "not called") + self.assertTrue(mc.check_is_there_default_provider.called, + "not called") + self.assertTrue(mc.fetch_definition.called, + "not called") + self.assertTrue(mc.fetch_eip_config.called, + "not called") + self.assertTrue(mc.check_complete_eip_config.called, + "not called") + self.assertTrue(mc.ping_gateway.called, + "not called") + + +if __name__ == "__main__": + unittest.main() |