Merge remote-tracking branch 'upstream/develop'

This commit is contained in:
shubhendra 2021-02-25 20:59:25 +05:30
commit 4f37040486
No known key found for this signature in database
GPG Key ID: 9AFEF5C98D542137
6 changed files with 39 additions and 1 deletions

View File

@ -15,3 +15,4 @@ Dependency Injector Contributors
+ Rüdiger Busche (JarnoRFB)
+ Dmitry Rassoshenko (rda-dev)
+ Fotis Koutoupas (kootoopas)
+ Shubhendra Singh Chauhan (withshubh)

View File

@ -7,6 +7,17 @@ that were made in every particular version.
From version 0.7.6 *Dependency Injector* framework strictly
follows `Semantic versioning`_
Development version
-------------------
- Add tests for ``.as_float()`` modifier usage with wiring.
- Make refactoring of wiring module and tests.
See PR # `#406 <https://github.com/ets-labs/python-dependency-injector/issues/406>`_.
Thanks to `@withshubh <https://github.com/withshubh>`_ for the contribution:
- Refactor unnecessary ``else`` / ``elif`` in ``wiring`` module when ``if`` block has a
return statement.
- Remove unused imports in tests.
- Use literal syntax to create data structure in tests.
4.26.0
------
- Add wiring by string id.

View File

@ -44,19 +44,23 @@ def test_function_provider(service_provider: Callable[..., Service] = Provider[C
@inject
def test_config_value(
value_int: int = Provide[Container.config.a.b.c.as_int()],
value_float: float = Provide[Container.config.a.b.c.as_float()],
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_float: float = Provide[Container.config.a.b.c.required().as_float()],
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 (
value_int,
value_float,
value_str,
value_decimal,
value_required,
value_required_int,
value_required_float,
value_required_str,
value_required_decimal,
)

View File

@ -3,7 +3,17 @@
from decimal import Decimal
from typing import Callable
from dependency_injector.wiring import inject, Provide, Provider, as_int, as_, required, invariant, provided
from dependency_injector.wiring import (
inject,
Provide,
Provider,
as_int,
as_float,
as_,
required,
invariant,
provided,
)
from .container import Container
from .service import Service
@ -44,19 +54,23 @@ def test_function_provider(service_provider: Callable[..., Service] = Provider['
@inject
def test_config_value(
value_int: int = Provide['config.a.b.c', as_int()],
value_float: float = Provide['config.a.b.c', as_float()],
value_str: str = Provide['config.a.b.c', as_(str)],
value_decimal: Decimal = Provide['config.a.b.c', as_(Decimal)],
value_required: str = Provide['config.a.b.c', required()],
value_required_int: int = Provide['config.a.b.c', required().as_int()],
value_required_float: float = Provide['config.a.b.c', required().as_float()],
value_required_str: str = Provide['config.a.b.c', required().as_(str)],
value_required_decimal: str = Provide['config.a.b.c', required().as_(Decimal)],
):
return (
value_int,
value_float,
value_str,
value_decimal,
value_required,
value_required_int,
value_required_float,
value_required_str,
value_required_decimal,
)

View File

@ -120,19 +120,23 @@ class WiringTest(unittest.TestCase):
def test_configuration_option(self):
(
value_int,
value_float,
value_str,
value_decimal,
value_required,
value_required_int,
value_required_float,
value_required_str,
value_required_decimal,
) = module.test_config_value()
self.assertEqual(value_int, 10)
self.assertEqual(value_float, 10.0)
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_float, 10.0)
self.assertEqual(value_required_str, '10')
self.assertEqual(value_required_decimal, Decimal(10))

View File

@ -115,19 +115,23 @@ class WiringTest(unittest.TestCase):
def test_configuration_option(self):
(
value_int,
value_float,
value_str,
value_decimal,
value_required,
value_required_int,
value_required_float,
value_required_str,
value_required_decimal,
) = module.test_config_value()
self.assertEqual(value_int, 10)
self.assertEqual(value_float, 10.0)
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_float, 10.0)
self.assertEqual(value_required_str, '10')
self.assertEqual(value_required_decimal, Decimal(10))