From 448923acf277a70e8704c949311bf4feaef8cab6 Mon Sep 17 00:00:00 2001 From: Charly Laurent Date: Fri, 17 Nov 2023 19:22:22 +0100 Subject: [PATCH] fix: replace deprecated `datetime.datetime.utcnow()` (#552) Fixes #540 Co-authored-by: Anthonios Partheniou --- google/api_core/datetime_helpers.py | 2 +- noxfile.py | 2 +- testing/constraints-3.12.txt | 0 tests/asyncio/test_retry_async.py | 4 +--- tests/unit/test_retry.py | 4 +--- tests/unit/test_timeout.py | 8 ++++---- 6 files changed, 8 insertions(+), 12 deletions(-) create mode 100644 testing/constraints-3.12.txt diff --git a/google/api_core/datetime_helpers.py b/google/api_core/datetime_helpers.py index c584c8cd..c3792300 100644 --- a/google/api_core/datetime_helpers.py +++ b/google/api_core/datetime_helpers.py @@ -42,7 +42,7 @@ def utcnow(): """A :meth:`datetime.datetime.utcnow()` alias to allow mocking in tests.""" - return datetime.datetime.utcnow() + return datetime.datetime.now(tz=datetime.timezone.utc).replace(tzinfo=None) def to_milliseconds(value): diff --git a/noxfile.py b/noxfile.py index 82ea2669..d0ce6d6c 100644 --- a/noxfile.py +++ b/noxfile.py @@ -143,7 +143,7 @@ def default(session, install_grpc=True): session.run(*pytest_args) -@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11"]) +@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"]) def unit(session): """Run the unit test suite.""" default(session) diff --git a/testing/constraints-3.12.txt b/testing/constraints-3.12.txt new file mode 100644 index 00000000..e69de29b diff --git a/tests/asyncio/test_retry_async.py b/tests/asyncio/test_retry_async.py index 14807eb5..16f5c3db 100644 --- a/tests/asyncio/test_retry_async.py +++ b/tests/asyncio/test_retry_async.py @@ -280,7 +280,6 @@ async def test___call___and_execute_success(self, sleep): @mock.patch("asyncio.sleep", autospec=True) @pytest.mark.asyncio async def test___call___and_execute_retry(self, sleep, uniform): - on_error = mock.Mock(spec=["__call__"], side_effect=[None]) retry_ = retry_async.AsyncRetry( predicate=retry_async.if_exception_type(ValueError) @@ -305,7 +304,6 @@ async def test___call___and_execute_retry(self, sleep, uniform): @mock.patch("asyncio.sleep", autospec=True) @pytest.mark.asyncio async def test___call___and_execute_retry_hitting_deadline(self, sleep, uniform): - on_error = mock.Mock(spec=["__call__"], side_effect=[None] * 10) retry_ = retry_async.AsyncRetry( predicate=retry_async.if_exception_type(ValueError), @@ -315,7 +313,7 @@ async def test___call___and_execute_retry_hitting_deadline(self, sleep, uniform) deadline=9.9, ) - utcnow = datetime.datetime.utcnow() + utcnow = datetime.datetime.now(tz=datetime.timezone.utc) utcnow_patcher = mock.patch( "google.api_core.datetime_helpers.utcnow", return_value=utcnow ) diff --git a/tests/unit/test_retry.py b/tests/unit/test_retry.py index d770f7a2..2faf77c9 100644 --- a/tests/unit/test_retry.py +++ b/tests/unit/test_retry.py @@ -361,7 +361,6 @@ def test___call___and_execute_success(self, sleep): @mock.patch("random.uniform", autospec=True, side_effect=lambda m, n: n) @mock.patch("time.sleep", autospec=True) def test___call___and_execute_retry(self, sleep, uniform): - on_error = mock.Mock(spec=["__call__"], side_effect=[None]) retry_ = retry.Retry(predicate=retry.if_exception_type(ValueError)) @@ -383,7 +382,6 @@ def test___call___and_execute_retry(self, sleep, uniform): @mock.patch("random.uniform", autospec=True, side_effect=lambda m, n: n) @mock.patch("time.sleep", autospec=True) def test___call___and_execute_retry_hitting_deadline(self, sleep, uniform): - on_error = mock.Mock(spec=["__call__"], side_effect=[None] * 10) retry_ = retry.Retry( predicate=retry.if_exception_type(ValueError), @@ -393,7 +391,7 @@ def test___call___and_execute_retry_hitting_deadline(self, sleep, uniform): deadline=30.9, ) - utcnow = datetime.datetime.utcnow() + utcnow = datetime.datetime.now(tz=datetime.timezone.utc) utcnow_patcher = mock.patch( "google.api_core.datetime_helpers.utcnow", return_value=utcnow ) diff --git a/tests/unit/test_timeout.py b/tests/unit/test_timeout.py index a83a2ecb..0bcf07f0 100644 --- a/tests/unit/test_timeout.py +++ b/tests/unit/test_timeout.py @@ -58,10 +58,10 @@ def test___str__(self): def test_apply(self): target = mock.Mock(spec=["__call__", "__name__"], __name__="target") - datetime.datetime.utcnow() + datetime.datetime.now(tz=datetime.timezone.utc) datetime.timedelta(seconds=1) - now = datetime.datetime.utcnow() + now = datetime.datetime.now(tz=datetime.timezone.utc) times = [ now, @@ -92,10 +92,10 @@ def _clock(): def test_apply_no_timeout(self): target = mock.Mock(spec=["__call__", "__name__"], __name__="target") - datetime.datetime.utcnow() + datetime.datetime.now(tz=datetime.timezone.utc) datetime.timedelta(seconds=1) - now = datetime.datetime.utcnow() + now = datetime.datetime.now(tz=datetime.timezone.utc) times = [ now,