Beispiel #1
0
    def test_session_factory__region_name(self):
        with settings.modify() as context:
            context.AWS_CREDENTIALS = {"default": {"region_name": "foo"}}
            session_factory = factory.SessionFactory("AWS_CREDENTIALS")
            session = session_factory.create()

        assert session._session_instance_vars["region"] == "foo"
Beispiel #2
0
    def test_debug_enabled__warning_returned_if_enabled(self):
        with settings.modify() as patch:
            patch.DEBUG = True

            result = built_in.debug_enabled(settings)

        assert result == built_in.W001
Beispiel #3
0
    def test_session_factory__credentials(self, credential, expected):
        with settings.modify() as context:
            context.AWS_CREDENTIALS = {"default": {credential: "foo"}}
            session_factory = factory.SessionFactory("AWS_CREDENTIALS")
            session = session_factory.create()

        assert getattr(session._credentials, expected) == "foo"
Beispiel #4
0
    def test_checks_ignore_unknown_keys(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = {'default': {'foo': 123, 'eek': 321}}

            target = helpers.NamedConfiguration('NAMED_CONFIG')
            actual = target.checks(settings=settings)

        assert len(actual) == 0
Beispiel #5
0
    def test_checks_ignore_unknown_keys(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = {"default": {"foo": 123, "eek": 321}}

            target = helpers.NamedConfiguration("NAMED_CONFIG")
            actual = target.checks(settings=settings)

        assert len(actual) == 0
Beispiel #6
0
def test_run_report_from_app(args, exit_code=4):
    with settings.modify() as patch:
        patch.DEBUG = True

        with pytest.raises(SystemExit) as ex:
            app.dispatch(args=args)

        assert ex.value.code == exit_code
Beispiel #7
0
    def test_checks_ignore_none_settings(self):
        with settings.modify() as patch:
            patch.FACTORY = None
            target = conf_factory.NamedPluginFactory("FACTORY")

            actual = target.checks(settings=settings)

        assert actual is None
Beispiel #8
0
    def test_checks__multiple_instance_messages(self):
        target = ProviderFactoryTest(multi_messages=True)

        with settings.modify() as ctx:
            ctx.TEST_PROVIDERS = ("tests.conf.helpers.test_providers.ProviderBaseTest",)

            actual = target.checks(settings=settings)

            assert actual == [checks.Info("foo"), checks.Warn("bar")]
    def test_checks(self, provider_settings, expected):
        target = ProviderFactoryTest()

        with settings.modify() as ctx:
            ctx.TEST_PROVIDERS = provider_settings

            actual = target.checks(settings=settings)

            assert actual == expected
Beispiel #10
0
    def test_checks_ignore_none_settings(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = None
            target = helpers.NamedConfiguration('NAMED_CONFIG')

            actual = target.checks(settings=settings)

        assert actual is None
        assert actual is None
Beispiel #11
0
    def test_resolve_from_settings(self, flag, expected):
        with settings.modify() as patch:
            patch.FEATURE_FLAGS = {
                "enable-a": True,
                "Enable b": False,
            }

            actual = feature_flags.DEFAULT._resolve_from_settings(flag)

        assert actual is expected
Beispiel #12
0
    def test_checks_invalid_type(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = []

            target = helpers.NamedConfiguration('NAMED_CONFIG')
            actual = target.checks(settings=settings)

        assert isinstance(actual, checks.Critical)
        assert "NOT A DICT INSTANCE" in actual.msg.upper()
        assert actual.obj == 'settings.NAMED_CONFIG'
Beispiel #13
0
    def test_checks_invalid_type(self):
        with settings.modify() as patch:
            patch.INVALID_SETTING = []

            target = conf_factory.NamedPluginFactory("INVALID_SETTING")
            actual = target.checks(settings=settings)

        assert isinstance(actual, checks.Critical)
        assert "NOT A DICT INSTANCE" in actual.msg.upper()
        assert actual.obj == "settings.INVALID_SETTING"
Beispiel #14
0
    def test_checks_default_not_defined(self):
        with settings.modify() as patch:
            patch.FACTORY = {}

            target = conf_factory.NamedPluginFactory("FACTORY")
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Warn)
        assert "DEFAULT DEFINITION NOT DEFINED" in message.msg.upper()
        assert message.obj == "settings.FACTORY"
Beispiel #15
0
    def test_checks_invalid_instance_def_length(self):
        with settings.modify() as patch:
            patch.FACTORY = {"default": ("a", "b", "c")}

            target = conf_factory.NamedPluginFactory("FACTORY")
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Critical)
        assert "NOT A TYPE NAME, KWARG" in message.msg.upper()
        assert message.obj == "settings.FACTORY[default]"
Beispiel #16
0
    def test_checks_default_not_defined(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = {}

            target = helpers.NamedConfiguration('NAMED_CONFIG')
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Warn)
        assert "DEFAULT DEFINITION NOT DEFINED" in message.msg.upper()
        assert message.obj == 'settings.NAMED_CONFIG'
    def test_checks__missing_settings(self):
        target = ProviderFactoryTest()

        with settings.modify() as ctx:
            del ctx.TEST_PROVIDERS

            actual = target.checks(settings=settings)

            assert actual == checks.Critical(
                u"Provider definitions missing from settings.",
                u"Add a TEST_PROVIDERS entry into settings.",
                u"settings.TEST_PROVIDERS")
Beispiel #18
0
    def test_checks_invalid_instance_def_kwargs(self):
        with settings.modify() as patch:
            patch.FACTORY = {"default": ("tests.factory.IronBar", [])}

            target = conf_factory.NamedPluginFactory("FACTORY")
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Critical)
        assert "KWARGS IS NOT A DICT" in message.msg.upper()
        assert message.obj == "settings.FACTORY[default]"
Beispiel #19
0
    def test_checks_invalid_instance_def_cannot_import(self):
        with settings.modify() as patch:
            patch.FACTORY = {"default": ("a.b.c", {})}

            target = conf_factory.NamedPluginFactory("FACTORY")
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Error)
        assert "UNABLE TO IMPORT TYPE" in message.msg.upper()
        assert message.obj == "settings.FACTORY[default]"
Beispiel #20
0
    def test_checks_invalid_instance_def_type(self):
        with settings.modify() as patch:
            patch.FACTORY = {"default": {}}

            target = conf_factory.NamedPluginFactory("FACTORY")
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Critical)
        assert "DEFINITION IS NOT A LIST/TUPLE" in message.msg.upper()
        assert message.obj == "settings.FACTORY[default]"
Beispiel #21
0
    def test_checks_alias_unknown_name(self):
        with settings.modify() as patch:
            patch.FACTORY = {"default": ("Alias", {"name": "foo"})}

            target = conf_factory.NamedPluginFactory("FACTORY")
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Critical)
        assert "Alias target not defined" in message.msg
        assert message.obj == "settings.FACTORY[default][foo]"
Beispiel #22
0
    def test_checks_invalid_instance_def_type(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = {'default': []}

            target = helpers.NamedConfiguration('NAMED_CONFIG')
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Critical)
        assert "DEFINITION ENTRY IS NOT A DICT" in message.msg.upper()
        assert message.obj == 'settings.NAMED_CONFIG[default]'
Beispiel #23
0
def test_run_report_from_simple_app(monkeypatch, args, exit_code=4):
    monkeypatch.setattr(tests.sample_app_simple.app, "application_settings",
                        None)
    monkeypatch.setattr(tests.sample_app_simple.app, "application_checks",
                        "__main__.checks")

    with settings.modify() as patch:
        patch.DEBUG = True

        with pytest.raises(SystemExit) as ex:
            tests.sample_app_simple.app.dispatch(args=args)

        assert ex.value.code == exit_code
Beispiel #24
0
    def test_checks_alias(self):
        with settings.modify() as patch:
            patch.FACTORY = {
                "default": ("Alias", {
                    "name": "foo"
                }),
                "foo": ("tests.factory.IronBar", {}),
            }

            target = conf_factory.NamedPluginFactory("FACTORY")
            actual = target.checks(settings=settings)

        assert len(actual) == 0
Beispiel #25
0
    def test_resolve(self, monkeypatch, flag, expected):
        monkeypatch.setenv("PYAPP_FLAG_ENABLE_A", "On")
        monkeypatch.setenv("PYAPP_FLAG_ENABLE_B", "true")

        with settings.modify() as patch:
            patch.FEATURE_FLAGS = {
                "enable-b": False,
                "Enable_C": True,
            }

            actual = feature_flags.DEFAULT._resolve(flag, False)

        assert actual is expected
Beispiel #26
0
    def test_checks_required_key_missing(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = {'default': {}}

            target = helpers.NamedConfiguration('NAMED_CONFIG',
                                                required_keys=('foo', ))
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Critical)
        assert "DOES NOT CONTAIN `FOO` VALUE" in message.msg.upper()
        assert message.obj == 'settings.NAMED_CONFIG[default]'
Beispiel #27
0
    def test_checks_unknown_key(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = {"default": {"foo": 123, "eek": 321}}

            target = helpers.NamedConfiguration("NAMED_CONFIG",
                                                required_keys=("foo", ),
                                                optional_keys=("bar", ))
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Warn)
        assert "CONTAINS UNKNOWN VALUE `EEK`" in message.msg.upper()
        assert message.obj == "settings.NAMED_CONFIG[default][eek]"
    def test_checks__invalid_import(self):
        target = ProviderFactoryTest()

        with settings.modify() as ctx:
            ctx.TEST_PROVIDERS = [
                'tests.test_conf_helpers_providers.ProviderBaseTest',
                'tests.wrong.ProviderBaseTest'
            ]

            actual = target.checks(settings=settings)[0]

            assert isinstance(actual, checks.Critical)
            assert actual.msg == u"Unable to import provider type."
            assert actual.obj == u"settings.TEST_PROVIDERS[1]"
Beispiel #29
0
    def test_checks_unknown_key(self):
        with settings.modify() as patch:
            patch.NAMED_CONFIG = {'default': {'foo': 123, 'eek': 321}}

            target = helpers.NamedConfiguration('NAMED_CONFIG',
                                                required_keys=('foo', ),
                                                optional_keys=('bar', ))
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Warn)
        assert "CONTAINS UNKNOWN VALUE `EEK`" in message.msg.upper()
        assert message.obj == 'settings.NAMED_CONFIG[default][eek]'
Beispiel #30
0
    def test_checks_alias_additional_args(self):
        with settings.modify() as patch:
            patch.FACTORY = {
                "default": ("Alias", {
                    "name": "foo",
                    "bar": "123"
                }),
                "foo": ("tests.factory.IronBar", {}),
            }

            target = conf_factory.NamedPluginFactory("FACTORY")
            actual = target.checks(settings=settings)

        assert len(actual) == 1
        message = actual[0]
        assert isinstance(message, checks.Warn)
        assert "Alias contains unknown arguments" in message.msg
        assert message.obj == "settings.FACTORY[default]"