Exemplo n.º 1
0
    def test_mock_value(self):
        self.create_fixture(required(boolean, mock_value="true"))
        loader = load_from_dict()

        metadata = Metadata("test", testing=True)
        config = configure(self.registry.defaults, metadata, loader)
        assert_that(config, has_entries(foo=has_entries(value=True, ), ))
Exemplo n.º 2
0
    def test_comma_separated_list_empty(self):
        self.create_fixture(typed(comma_separated_list, mock_value=""))
        loader = load_from_dict()

        metadata = Metadata("test", testing=True)
        config = configure(self.registry.defaults, metadata, loader)
        assert_that(config, has_entries(foo=has_entries(value=[], ), ))
Exemplo n.º 3
0
    def test_unsupported_arg(self):
        self.create_fixture(value=required(int, mock_value=0, spaghetti="foo"))
        loader = load_from_dict()

        metadata = Metadata("test", testing=True)
        config = configure(self.registry.defaults, metadata, loader)
        assert_that(config, has_entries(foo=has_entries(value=0, ), ))
Exemplo n.º 4
0
    def test_valid_default(self):
        self.create_fixture(required(int, default_value="1"))
        loader = load_from_dict()

        config = configure(self.registry.defaults, self.metadata, loader)
        assert_that(config, has_entries(
            foo=has_entries(
                value=1,
            ),
        ))
Exemplo n.º 5
0
    def test_typed_optional(self):
        self.create_fixture(typed(int))
        loader = load_from_dict()

        config = configure(self.registry.defaults, self.metadata, loader)
        assert_that(config, has_entries(
            foo=has_entries(
                value=None,
            ),
        ))
Exemplo n.º 6
0
    def test_nullable_null_default(self):
        self.create_fixture(value=typed(
            int,
            default_value=None,
            nullable=True,
        ))
        loader = load_from_dict()

        config = configure(self.registry.defaults, self.metadata, loader)
        assert_that(config, has_entries(foo=has_entries(value=None, ), ))
Exemplo n.º 7
0
    def test_comma_separated_list_unconverted(self):
        self.create_fixture(value=required(comma_separated_list,
                                           mock_value=["abc", "def", "ghi"]))
        loader = load_from_dict()

        metadata = Metadata("test", testing=True)
        config = configure(self.registry.defaults, metadata, loader)
        assert_that(
            config,
            has_entries(foo=has_entries(value=["abc", "def", "ghi"], ), ))
Exemplo n.º 8
0
    def test_nullable(self):
        self.create_fixture(value=typed(
            int,
            default_value=0,
            nullable=True,
            mock_value=None,
        ))
        loader = load_from_dict()

        metadata = Metadata("test", testing=True)
        config = configure(self.registry.defaults, metadata, loader)
        assert_that(config, has_entries(foo=has_entries(value=None, ), ))
Exemplo n.º 9
0
    def test_typed_converted(self):
        self.create_fixture(typed(int))
        loader = load_from_dict(
            foo=dict(
                value="1",
            ),
        )

        config = configure(self.registry.defaults, self.metadata, loader)
        assert_that(config, has_entries(
            foo=has_entries(
                value=1,
            ),
        ))
Exemplo n.º 10
0
    def get_scoped_config(self, graph):
        """
        Compute a configuration using the current scope.

        """
        def loader(metadata):
            if not self.current_scope:
                target = graph.config
            else:
                target = graph.config.get(self.current_scope, {})
            return {
                self.key: target.get(self.key, {}),
            }

        defaults = {
            self.key: get_defaults(self.func),
        }
        return configure(defaults, graph.metadata, loader)
Exemplo n.º 11
0
def create_object_graph(name,
                        debug=False,
                        testing=False,
                        import_name=None,
                        root_path=None,
                        loader=load_from_environ,
                        registry=_registry,
                        profiler=None,
                        cache=None):
    """
    Create a new object graph.

    :param name: the name of the microservice
    :param debug: is development debugging enabled?
    :param testing: is unit testing enabled?
    :param loader: the configuration loader to use
    :param registry: the registry to use (defaults to the global)

    """
    metadata = Metadata(
        name=name,
        debug=debug,
        testing=testing,
        import_name=import_name,
        root_path=root_path,
    )

    defaults = registry.defaults
    config = configure(defaults, metadata, loader)

    if profiler is None:
        profiler = NoopProfiler()

    if cache is None or isinstance(cache, str):
        cache = create_cache(cache)

    return ObjectGraph(
        metadata=metadata,
        config=config,
        registry=registry,
        profiler=profiler,
        cache=cache,
        loader=loader,
    )
Exemplo n.º 12
0
    def test_boolean_typed_converted(self):
        self.create_fixture(
            bar=typed(bool, default_value=None),
            baz=typed(bool, default_value=None),
            qux=typed(bool, default_value=None),
            kog=typed(bool, default_value=None),
        )
        loader = load_from_dict(foo=dict(
            bar="False",
            baz="True",
            qux="false",
            kog="true",
        ), )

        config = configure(self.registry.defaults, self.metadata, loader)
        assert_that(
            config,
            has_entries(foo=has_entries(
                bar=False,
                baz=True,
                qux=False,
                kog=True,
            ), ))
Exemplo n.º 13
0
    def test_false_default(self):
        self.create_fixture(value=typed(bool, default_value=False))
        loader = load_from_dict()

        config = configure(self.registry.defaults, self.metadata, loader)
        assert_that(config, has_entries(foo=has_entries(value=False, ), ))
Exemplo n.º 14
0
    def test_valid_default_factory(self):
        self.create_fixture(value=typed(list, default_factory=list))
        loader = load_from_dict()

        config = configure(self.registry.defaults, self.metadata, loader)
        assert_that(config, has_entries(foo=has_entries(value=empty(), ), ))