Skip to content

Commit e59a5db

Browse files
authored
fix: Prevent microsecond drift when offsets are equal in e2e test (#504)
fix: Prevent microsecond drift when offsets are equal in e2e test
1 parent dc400d1 commit e59a5db

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

tests/aignostics/platform/e2e_test.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@
6767
60 * 60
6868
) # 1 hour - timeout should never happen if cancel on deadline exceeded works
6969

70-
TEST_APPLICATION_SUBMIT_AND_FIND_DEADLINE_SECONDS = 60 * 60 * 1 # 1 hours
71-
TEST_APPLICATION_SUBMIT_AND_FIND_DUE_DATE_SECONDS = 60 * 60 * 1 # 1 hours
70+
TEST_APPLICATION_SUBMIT_AND_FIND_DUE_DATE_SECONDS = 60 * 30 # 30 minutes
71+
TEST_APPLICATION_SUBMIT_AND_FIND_DEADLINE_SECONDS = 60 * 60 * 1 # 1 hour
7272
TEST_APPLICATION_SUBMIT_AND_FIND_SUBMIT_TIMEOUT_SECONDS = 60 * 10 # 10 minutes
7373
TEST_APPLICATION_FIND_AND_VALIDATE_TIMEOUT_SECONDS = 60 * 5 # 5 minutes
7474

@@ -78,7 +78,7 @@
7878
60 * 60 * 5
7979
) # 5 hours - timeout should never happen if cancel on deadline exceeded works
8080

81-
HETA_APPLICATION_SUBMIT_AND_FIND_DUE_DATE_SECONDS = 60 * 60 * 24 # 24 hours
81+
HETA_APPLICATION_SUBMIT_AND_FIND_DUE_DATE_SECONDS = 60 * 60 * 20 # 20 hours
8282
HETA_APPLICATION_SUBMIT_AND_FIND_DEADLINE_SECONDS = 60 * 60 * 24 # 24 hours
8383
HETA_APPLICATION_SUBMIT_AND_FIND_SUBMIT_TIMEOUT_SECONDS = 60 * 10 # 10 minutes
8484
HETA_APPLICATION_FIND_AND_VALIDATE_TIMEOUT_SECONDS = 60 * 5 # 5 minutes
@@ -89,10 +89,10 @@
8989
SPECIAL_APPLICATION_SLIDE_PER_RUN_COUNT = 100
9090
SPECIAL_APPLICATION_SLIDE_PER_RUN_COUNT_ON_00 = 2000 # Minute 0..9
9191
SPECIAL_APPLICATION_SLIDE_PER_RUN_COUNT_ON_20 = 2000 # Minute 20..29
92-
SPECIAL_APPLICATION_SUBMIT_AND_FIND_DUE_DATE_SECONDS = 60 * 60 * 24 # 1 day(s)
93-
SPECIAL_APPLICATION_SUBMIT_AND_FIND_DEADLINE_SECONDS = 60 * 60 * 24 # 1 day(s)
94-
SPECIAL_APPLICATION_SUBMIT_AND_FIND_DUE_DATE_SECONDS_ON_40 = 60 * 60 * 3 # 3 hours; Minute 40..49
95-
SPECIAL_APPLICATION_SUBMIT_AND_FIND_DEADLINE_SECONDS_ON_40 = 60 * 60 * 3 # 3 hours; Minute 40..49
92+
SPECIAL_APPLICATION_SUBMIT_AND_FIND_DUE_DATE_SECONDS = 60 * 60 * 20 # 20 hours
93+
SPECIAL_APPLICATION_SUBMIT_AND_FIND_DEADLINE_SECONDS = 60 * 60 * 24 # 24 hours
94+
SPECIAL_APPLICATION_SUBMIT_AND_FIND_DUE_DATE_SECONDS_ON_40 = 60 * 60 * 2 # 2 hours
95+
SPECIAL_APPLICATION_SUBMIT_AND_FIND_DEADLINE_SECONDS_ON_40 = 60 * 60 * 3 # 3 hours
9696
SPECIAL_APPLICATION_SUBMIT_AND_FIND_SUBMIT_TIMEOUT_SECONDS = 60 * 30 # 30 minutes
9797
SPECIAL_APPLICATION_FIND_AND_VALIDATE_TIMEOUT_SECONDS = 60 * 60 # 60 minutes
9898

@@ -273,7 +273,9 @@ def _submit_and_validate( # noqa: PLR0913, PLR0917
273273
ValueError: If more than one tag is provided.
274274
"""
275275
tags = tags or set()
276-
deadline = datetime.now(tz=UTC) + timedelta(seconds=deadline_seconds)
276+
now = datetime.now(tz=UTC)
277+
due_date = now + timedelta(seconds=due_date_seconds)
278+
deadline = now + timedelta(seconds=deadline_seconds)
277279
find_and_validate_at = deadline + timedelta(hours=1)
278280
tags.add(
279281
f"find_and_validate:{find_and_validate_at.month}_{find_and_validate_at.day}_{find_and_validate_at.hour}"
@@ -282,7 +284,7 @@ def _submit_and_validate( # noqa: PLR0913, PLR0917
282284
logger.trace(f"Submitting application run for {application_id} version {application_version}")
283285
client = platform.Client()
284286
scheduling = {
285-
"due_date": (datetime.now(tz=UTC) + timedelta(seconds=due_date_seconds)).isoformat(),
287+
"due_date": due_date.isoformat(),
286288
"deadline": deadline.isoformat(),
287289
}
288290
custom_metadata = {
@@ -630,7 +632,7 @@ def test_platform_special_app_submit() -> None:
630632
631633
The test behavior varies based on the current minute when triggered by cron (*/10):
632634
- Minutes 0-9 (every 6th run): Uses 1000 items instead of 100
633-
- Minutes 40-49 (every 4th run): Uses 3h due date/deadline instead of 24h
635+
- Minutes 40-49 (every 4th run): Uses 2h due date / 3h deadline instead of 20h due date / 24h deadline
634636
635637
Raises:
636638
AssertionError: If any of the validation checks fail.

0 commit comments

Comments
 (0)