예제 #1
0
    def test_register__with_decorator_with_tags(self):
        target = registry.CheckRegistry()

        @target.register("foo", "bar")
        def my_check_func(**kwargs):
            pass

        assert len(target) == 1
        assert my_check_func in target
        assert len(my_check_func._check__tags) == 2
예제 #2
0
    def test_register__with_decorator_without_tags(self):
        target = registry.CheckRegistry()

        @target.register
        def my_check_func(**kwargs):
            pass

        assert len(target.registered_checks) == 1
        assert my_check_func in target.registered_checks
        assert len(my_check_func._check__tags) == 0
예제 #3
0
    def test_register__with_method(self):
        target = registry.CheckRegistry()

        def my_check_func(**kwargs):
            pass

        target.register(my_check_func, "foo", "bar")

        assert len(target) == 1
        assert my_check_func in target
        assert len(my_check_func._check__tags) == 2
예제 #4
0
    def test_run_checks__unhandled_exception(self):
        target = registry.CheckRegistry()

        @target.register
        def check(settings, **kwargs):
            raise RuntimeError("Un-expected error")

        actual = target.run_checks()

        assert len(actual) == 1
        assert isinstance(actual[0], messages.UnhandledException)
예제 #5
0
    def test_register__same_check(self):
        target = registry.CheckRegistry()

        @target.register
        def my_check_func(**kwargs):
            pass

        target.register(my_check_func, "foo", "bar")

        assert len(target.registered_checks) == 1
        assert my_check_func in target.registered_checks
        assert len(my_check_func._check__tags) == 2
예제 #6
0
    def test_run_checks__attached_checks(self):
        target = registry.CheckRegistry()

        class MyClass(object):
            def checks(self, settings, **kwargs):
                return messages.Info("Message1"), messages.Info("Message2")

        instance = MyClass()

        target.register(instance)

        actual = target.run_checks()
        assert (messages.Info("Message1"), messages.Info("Message2")) == actual
예제 #7
0
    def test_run_checks__all_successful(self):
        target = registry.CheckRegistry()

        @target.register
        def check_1(settings, **kwargs):
            assert settings

        @target.register()
        def check_2(settings, **kwargs):
            assert settings

        actual = target.run_checks()

        assert len(actual) == 0
예제 #8
0
    def test_register__attached_check(self):
        target = registry.CheckRegistry()

        def my_func():
            return "foo"

        def my_func_checks(**kwargs):
            pass

        my_func.checks = my_func_checks

        target.register(my_func, "foo")

        assert len(target) == 1
        assert my_func in target
        assert len(my_func._check__tags) == 1
예제 #9
0
    def test_run_checks__singular_and_multiple_responses(self):
        target = registry.CheckRegistry()

        @target.register
        def check_1(settings, **kwargs):
            return messages.Info("Message1")

        @target.register()
        def check_2(settings, **kwargs):
            return messages.Info("Message2"), messages.Info("Message3")

        actual = target.run_checks()

        assert len(actual) == 3
        assert (
            messages.Info("Message1"),
            messages.Info("Message2"),
            messages.Info("Message3"),
        ) == actual