Add wiring tests for required() modifier

This commit is contained in:
Roman Mogylatov 2021-01-16 08:02:52 -05:00
parent d039dc002e
commit b62010d37f
2 changed files with 33 additions and 8 deletions

View File

@ -43,11 +43,23 @@ def test_function_provider(service_provider: Callable[..., Service] = Provider[C
@inject
def test_config_value(
some_value_int: int = Provide[Container.config.a.b.c.as_int()],
some_value_str: str = Provide[Container.config.a.b.c.as_(str)],
some_value_decimal: Decimal = Provide[Container.config.a.b.c.as_(Decimal)],
value_int: int = Provide[Container.config.a.b.c.as_int()],
value_str: str = Provide[Container.config.a.b.c.as_(str)],
value_decimal: Decimal = Provide[Container.config.a.b.c.as_(Decimal)],
value_required: str = Provide[Container.config.a.b.c.required()],
value_required_int: int = Provide[Container.config.a.b.c.required().as_int()],
value_required_str: str = Provide[Container.config.a.b.c.required().as_(str)],
value_required_decimal: str = Provide[Container.config.a.b.c.required().as_(Decimal)],
):
return some_value_int, some_value_str, some_value_decimal
return (
value_int,
value_str,
value_decimal,
value_required,
value_required_int,
value_required_str,
value_required_decimal,
)
@inject

View File

@ -109,10 +109,23 @@ class WiringTest(unittest.TestCase):
self.assertIs(service, test_service)
def test_configuration_option(self):
int_value, str_value, decimal_value = module.test_config_value()
self.assertEqual(int_value, 10)
self.assertEqual(str_value, '10')
self.assertEqual(decimal_value, Decimal(10))
(
value_int,
value_str,
value_decimal,
value_required,
value_required_int,
value_required_str,
value_required_decimal,
) = module.test_config_value()
self.assertEqual(value_int, 10)
self.assertEqual(value_str, '10')
self.assertEqual(value_decimal, Decimal(10))
self.assertEqual(value_required, 10)
self.assertEqual(value_required_int, 10)
self.assertEqual(value_required_str, '10')
self.assertEqual(value_required_decimal, Decimal(10))
def test_provide_provider(self):
service = module.test_provide_provider()