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, ), ))
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=[], ), ))
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, ), ))
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, ), ))
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, ), ))
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, ), ))
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"], ), ))
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, ), ))
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, ), ))
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)
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, )
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, ), ))
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, ), ))
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(), ), ))