Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions tests/container.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import dataclasses
import datetime
import datetime as dt
import logging
import typing

Expand All @@ -9,18 +9,18 @@
logger = logging.getLogger(__name__)


def create_sync_resource() -> typing.Iterator[datetime.datetime]:
def create_sync_resource() -> typing.Iterator[dt.datetime]:
logger.debug("Resource initiated")
try:
yield datetime.datetime.now(tz=datetime.timezone.utc)
yield dt.datetime.now(tz=dt.timezone.utc)
finally:
logger.debug("Resource destructed")


async def create_async_resource() -> typing.AsyncIterator[datetime.datetime]:
async def create_async_resource() -> typing.AsyncIterator[dt.datetime]:
logger.debug("Async resource initiated")
try:
yield datetime.datetime.now(tz=datetime.timezone.utc)
yield dt.datetime.now(tz=dt.timezone.utc)
finally:
logger.debug("Async resource destructed")

Expand All @@ -31,15 +31,15 @@ class SimpleFactory:
dep2: int


async def async_factory(now: datetime.datetime) -> datetime.datetime:
return now + datetime.timedelta(hours=1)
async def async_factory(now: dt.datetime) -> dt.datetime:
return now + dt.timedelta(hours=1)


@dataclasses.dataclass(kw_only=True, slots=True)
class DependentFactory:
simple_factory: SimpleFactory
sync_resource: datetime.datetime
async_resource: datetime.datetime
sync_resource: dt.datetime
async_resource: dt.datetime


@dataclasses.dataclass(kw_only=True, slots=True)
Expand Down
22 changes: 11 additions & 11 deletions tests/creators.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt
import logging
import types
import typing
Expand All @@ -7,26 +7,26 @@
logger = logging.getLogger(__name__)


async def create_async_resource() -> typing.AsyncIterator[datetime.datetime]:
async def create_async_resource() -> typing.AsyncIterator[dt.datetime]:
logger.debug("Async resource initiated")
try:
yield datetime.datetime.now(tz=datetime.timezone.utc)
yield dt.datetime.now(tz=dt.timezone.utc)
finally:
logger.debug("Async resource destructed")


def create_sync_resource() -> typing.Iterator[datetime.datetime]:
def create_sync_resource() -> typing.Iterator[dt.datetime]:
logger.debug("Resource initiated")
try:
yield datetime.datetime.now(tz=datetime.timezone.utc)
yield dt.datetime.now(tz=dt.timezone.utc)
finally:
logger.debug("Resource destructed")


class ContextManagerResource(typing.ContextManager[datetime.datetime]):
def __enter__(self) -> datetime.datetime:
class ContextManagerResource(typing.ContextManager[dt.datetime]):
def __enter__(self) -> dt.datetime:
logger.debug("Resource initiated")
return datetime.datetime.now(tz=datetime.timezone.utc)
return dt.datetime.now(tz=dt.timezone.utc)

def __exit__(
self,
Expand All @@ -37,10 +37,10 @@ def __exit__(
logger.debug("Resource destructed")


class AsyncContextManagerResource(typing.AsyncContextManager[datetime.datetime]):
async def __aenter__(self) -> datetime.datetime:
class AsyncContextManagerResource(typing.AsyncContextManager[dt.datetime]):
async def __aenter__(self) -> dt.datetime:
logger.debug("Async resource initiated")
return datetime.datetime.now(tz=datetime.timezone.utc)
return dt.datetime.now(tz=dt.timezone.utc)

async def __aexit__(
self,
Expand Down
8 changes: 4 additions & 4 deletions tests/integrations/fastapi/test_fastapi_di.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt
import typing

import fastapi
Expand Down Expand Up @@ -34,8 +34,8 @@ async def read_root(
fastapi.Depends(container.DIContainer.singleton),
],
singleton_attribute: typing.Annotated[bool, fastapi.Depends(container.DIContainer.singleton.dep1)],
context_resource: typing.Annotated[datetime.datetime, fastapi.Depends(container.DIContainer.context_resource)],
) -> datetime.datetime:
context_resource: typing.Annotated[dt.datetime, fastapi.Depends(container.DIContainer.context_resource)],
) -> dt.datetime:
assert dependency.sync_resource == free_dependency.dependent_factory.sync_resource
assert dependency.async_resource == free_dependency.dependent_factory.async_resource
assert singleton.dep1 is True
Expand All @@ -57,6 +57,6 @@ async def test_read_main(fastapi_client: TestClient) -> None:
response = fastapi_client.get("/")
assert response.status_code == status.HTTP_200_OK
assert (
datetime.datetime.fromisoformat(response.json().replace("Z", "+00:00"))
dt.datetime.fromisoformat(response.json().replace("Z", "+00:00"))
== await container.DIContainer.async_resource()
)
11 changes: 5 additions & 6 deletions tests/integrations/faststream/test_faststream_di.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt
import typing

from faststream import Depends
Expand Down Expand Up @@ -28,13 +28,13 @@ async def index_subscriber(
Depends(container.DIContainer.singleton),
],
singleton_attribute: typing.Annotated[bool, Depends(container.DIContainer.singleton.dep1)],
context_resource: typing.Annotated[datetime.datetime, Depends(container.DIContainer.context_resource)],
) -> datetime.datetime:
context_resource: typing.Annotated[dt.datetime, Depends(container.DIContainer.context_resource)],
) -> dt.datetime:
assert dependency.sync_resource == free_dependency.dependent_factory.sync_resource
assert dependency.async_resource == free_dependency.dependent_factory.async_resource
assert singleton.dep1 is True
assert singleton_attribute is True
assert isinstance(context_resource, datetime.datetime)
assert isinstance(context_resource, dt.datetime)
return dependency.async_resource


Expand All @@ -44,6 +44,5 @@ async def test_read_main() -> None:

result_str = typing.cast(str, await result.decode())
assert (
datetime.datetime.fromisoformat(result_str.replace("Z", "+00:00"))
== await container.DIContainer.async_resource()
dt.datetime.fromisoformat(result_str.replace("Z", "+00:00")) == await container.DIContainer.async_resource()
)
6 changes: 3 additions & 3 deletions tests/integrations/litestar/test_litestar_di_simple.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt

from litestar import Litestar, get
from litestar.di import Provide
Expand All @@ -9,7 +9,7 @@


@get("/")
async def index(injected: datetime.datetime) -> datetime.datetime:
async def index(injected: dt.datetime) -> dt.datetime:
return injected


Expand All @@ -21,6 +21,6 @@ async def test_litestar_di() -> None:
response = client.get("/")
assert response.status_code == HTTP_200_OK, response.text
assert (
datetime.datetime.fromisoformat(response.json().replace("Z", "+00:00"))
dt.datetime.fromisoformat(response.json().replace("Z", "+00:00"))
== await container.DIContainer.async_resource()
)
8 changes: 4 additions & 4 deletions tests/providers/test_context_resources.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import asyncio
import datetime
import datetime as dt
import logging
import threading
import time
Expand Down Expand Up @@ -133,7 +133,7 @@ async def test_async_context_resource_in_sync_context(async_context_resource: pr


async def test_context_resource_different_context(
context_resource: providers.ContextResource[datetime.datetime],
context_resource: providers.ContextResource[dt.datetime],
) -> None:
async with container_context(context_resource):
context_resource_instance1 = await context_resource()
Expand All @@ -145,7 +145,7 @@ async def test_context_resource_different_context(


async def test_context_resource_included_context(
context_resource: providers.ContextResource[datetime.datetime],
context_resource: providers.ContextResource[dt.datetime],
) -> None:
async with container_context(context_resource):
context_resource_instance1 = await context_resource()
Expand All @@ -159,7 +159,7 @@ async def test_context_resource_included_context(


async def test_context_resources_overriding(context_resource: providers.ContextResource[str]) -> None:
context_resource_mock = datetime.datetime.now(tz=datetime.timezone.utc)
context_resource_mock = dt.datetime.now(tz=dt.timezone.utc)
context_resource.override_sync(context_resource_mock)

context_resource_result = await context_resource()
Expand Down
4 changes: 2 additions & 2 deletions tests/providers/test_main_providers.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt

import pytest

Expand All @@ -18,7 +18,7 @@ async def test_factory_providers() -> None:
assert DIContainer.simple_factory.resolve_sync() is not simple_factory
assert dependent_factory.sync_resource == sync_resource
assert dependent_factory.async_resource == async_resource
assert isinstance(async_factory, datetime.datetime)
assert isinstance(async_factory, dt.datetime)


async def test_factories_cannot_deregister_arguments() -> None:
Expand Down
22 changes: 11 additions & 11 deletions tests/providers/test_providers_overriding.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt
import typing

import pytest
Expand All @@ -9,9 +9,9 @@


async def test_batch_providers_overriding() -> None:
async_resource_mock = datetime.datetime.fromisoformat("2023-01-01")
sync_resource_mock = datetime.datetime.fromisoformat("2024-01-01")
async_factory_mock = datetime.datetime.fromisoformat("2025-01-01")
async_resource_mock = dt.datetime.fromisoformat("2023-01-01")
sync_resource_mock = dt.datetime.fromisoformat("2024-01-01")
async_factory_mock = dt.datetime.fromisoformat("2025-01-01")
simple_factory_mock = container.SimpleFactory(dep1="override", dep2=999)
singleton_mock = container.SingletonFactory(dep1=False)
object_mock = object()
Expand Down Expand Up @@ -44,8 +44,8 @@ async def test_batch_providers_overriding() -> None:


async def test_batch_providers_overriding_sync_resolve() -> None:
async_resource_mock = datetime.datetime.fromisoformat("2023-01-01")
sync_resource_mock = datetime.datetime.fromisoformat("2024-01-01")
async_resource_mock = dt.datetime.fromisoformat("2023-01-01")
sync_resource_mock = dt.datetime.fromisoformat("2024-01-01")
simple_factory_mock = container.SimpleFactory(dep1="override", dep2=999)
singleton_mock = container.SingletonFactory(dep1=False)
object_mock = object()
Expand Down Expand Up @@ -106,9 +106,9 @@ def test_providers_overriding_fail_with_unknown_provider() -> None:


async def test_providers_overriding() -> None:
async_resource_mock = datetime.datetime.fromisoformat("2023-01-01")
sync_resource_mock = datetime.datetime.fromisoformat("2024-01-01")
async_factory_mock = datetime.datetime.fromisoformat("2025-01-01")
async_resource_mock = dt.datetime.fromisoformat("2023-01-01")
sync_resource_mock = dt.datetime.fromisoformat("2024-01-01")
async_factory_mock = dt.datetime.fromisoformat("2025-01-01")
simple_factory_mock = container.SimpleFactory(dep1="override", dep2=999)
singleton_mock = container.SingletonFactory(dep1=False)
object_mock = object()
Expand Down Expand Up @@ -138,8 +138,8 @@ async def test_providers_overriding() -> None:


async def test_providers_overriding_sync_resolve() -> None:
async_resource_mock = datetime.datetime.fromisoformat("2023-01-01")
sync_resource_mock = datetime.datetime.fromisoformat("2024-01-01")
async_resource_mock = dt.datetime.fromisoformat("2023-01-01")
sync_resource_mock = dt.datetime.fromisoformat("2024-01-01")
simple_factory_mock = container.SimpleFactory(dep1="override", dep2=999)
singleton_mock = container.SingletonFactory(dep1=False)
object_mock = object()
Expand Down
6 changes: 3 additions & 3 deletions tests/providers/test_selector.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt
import logging
import typing

Expand Down Expand Up @@ -28,7 +28,7 @@ class DIContainer(BaseContainer):
alias = "selector_container"
sync_resource = providers.Resource(create_sync_resource)
async_resource = providers.Resource(create_async_resource)
selector: providers.Selector[datetime.datetime] = providers.Selector(
selector: providers.Selector[dt.datetime] = providers.Selector(
selector_state.get_selector_state,
sync_resource=sync_resource,
async_resource=async_resource,
Expand Down Expand Up @@ -64,7 +64,7 @@ async def test_selector_provider_sync_missing() -> None:


async def test_selector_provider_overriding() -> None:
now = datetime.datetime.now(tz=datetime.timezone.utc)
now = dt.datetime.now(tz=dt.timezone.utc)
DIContainer.selector.override_sync(now)
selected_async = await DIContainer.selector()
selected_sync = DIContainer.selector.resolve_sync()
Expand Down
4 changes: 2 additions & 2 deletions tests/test_dynamic_container.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt

import pytest

Expand All @@ -8,7 +8,7 @@

class DIContainer(BaseContainer):
alias = "dynamic_container"
sync_resource: providers.Resource[datetime.datetime]
sync_resource: providers.Resource[dt.datetime]


async def test_dynamic_container_not_supported() -> None:
Expand Down
4 changes: 2 additions & 2 deletions tests/test_injection.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import asyncio
import datetime
import datetime as dt
import random
import typing
import warnings
Expand Down Expand Up @@ -140,7 +140,7 @@ async def test_injection(
default_zero: int = 0,
) -> None:
assert simple_factory.dep1
assert isinstance(dependent_factory.async_resource, datetime.datetime)
assert isinstance(dependent_factory.async_resource, dt.datetime)
assert default_zero == 0
assert fixture_one == 1

Expand Down
4 changes: 2 additions & 2 deletions tests/test_multiple_containers.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import datetime
import datetime as dt

import pytest

Expand All @@ -21,7 +21,7 @@ class OuterContainer(BaseContainer):

async def test_included_container() -> None:
sequence = await OuterContainer.sequence()
assert all(isinstance(x, datetime.datetime) for x in sequence)
assert all(isinstance(x, dt.datetime) for x in sequence)

await OuterContainer.tear_down()
assert not is_set(InnerContainer.sync_resource._context.instance)
Expand Down
Loading