Skip to content

Commit 181b1a7

Browse files
committed
Metadata API: remove dateutil requirement
I added "dateutil" as a possible argument type for `Metadata.bump_expiration()` as we are already testing for this and implying it should be supported. The problem is that "dateutil" is not added as a nontest requirement and after a discussion, we decided we don't want to add it as well. That's why we decided to remove "dateutil" mentions from the code and not confuse our users we support it. We will create a separate issue discussing the validity of `Metadata.bump_expiration()`. Signed-off-by: Martin Vrachev <[email protected]>
1 parent bdf1cbb commit 181b1a7

File tree

3 files changed

+1
-18
lines changed

3 files changed

+1
-18
lines changed

requirements-test.txt

-4
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,6 @@
33
# pinned tuf runtime dependencies (should auto-update and -trigger ci/cd)
44
-r requirements-pinned.txt
55

6-
# tuf.api tests use python-dateutil
7-
python-dateutil
8-
96
# additional test tools for linting and coverage measurement
107
coverage
118
black
@@ -14,4 +11,3 @@ pylint
1411
mypy
1512
bandit
1613
types-requests
17-
types-python-dateutil

tests/test_api.py

-10
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
from datetime import datetime, timedelta
1717
from typing import ClassVar, Dict
1818

19-
from dateutil.relativedelta import relativedelta
2019
from securesystemslib import hash as sslib_hash
2120
from securesystemslib.interface import (
2221
import_ed25519_privatekey_from_file,
@@ -333,15 +332,6 @@ def test_metadata_timestamp(self) -> None:
333332
timestamp.signed.bump_expiration(timedelta(days=365))
334333
self.assertEqual(timestamp.signed.expires, datetime(2031, 1, 2, 0, 0))
335334

336-
# Test whether dateutil.relativedelta works, this provides a much
337-
# easier to use interface for callers
338-
delta = relativedelta(days=1)
339-
timestamp.signed.bump_expiration(delta)
340-
self.assertEqual(timestamp.signed.expires, datetime(2031, 1, 3, 0, 0))
341-
delta = relativedelta(years=5)
342-
timestamp.signed.bump_expiration(delta)
343-
self.assertEqual(timestamp.signed.expires, datetime(2036, 1, 3, 0, 0))
344-
345335
# Create a MetaFile instance representing what we expect
346336
# the updated data to be.
347337
hashes = {

tuf/api/metadata.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
cast,
4848
)
4949

50-
from dateutil.relativedelta import relativedelta
5150
from securesystemslib import exceptions as sslib_exceptions
5251
from securesystemslib import hash as sslib_hash
5352
from securesystemslib import keys as sslib_keys
@@ -501,9 +500,7 @@ def is_expired(self, reference_time: Optional[datetime] = None) -> bool:
501500
return reference_time >= self.expires
502501

503502
# Modification.
504-
def bump_expiration(
505-
self, delta: Union[timedelta, relativedelta] = timedelta(days=1)
506-
) -> None:
503+
def bump_expiration(self, delta: timedelta = timedelta(days=1)) -> None:
507504
"""Increments the expires attribute by the passed timedelta."""
508505
self.expires += delta
509506

0 commit comments

Comments
 (0)