sefrone-api-e2e 1.3.7__tar.gz → 1.3.8__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/PKG-INFO +1 -1
  2. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/api_e2e_manager.py +9 -2
  3. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e.egg-info/PKG-INFO +1 -1
  4. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/setup.py +1 -1
  5. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/README.md +0 -0
  6. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/__init__.py +0 -0
  7. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/0_check_features.yaml +0 -0
  8. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/1_normal_auth_flow.yaml +0 -0
  9. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/2_account_endpoints.yaml +0 -0
  10. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/3_admin_account_endpoints.yaml +0 -0
  11. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/4_workspace_endpoints.yaml +0 -0
  12. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/5_apikey_endpoints.yaml +0 -0
  13. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/6_project_endpoints.yaml +0 -0
  14. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/7_email_2fa_flow.yaml +0 -0
  15. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/8_temporary_passwords_flow.yaml +0 -0
  16. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Auth/9_project_account_access_control_flow.yaml +0 -0
  17. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Oidc/1_relying_party_admin.yaml +0 -0
  18. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Oidc/2_authorization_code_flow.yaml +0 -0
  19. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Oidc/3_disable_propagation_flow.yaml +0 -0
  20. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e/Scenarios/Oidc/4_multi_project_isolation.yaml +0 -0
  21. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/e2e_scenarios_manager.py +0 -0
  22. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/env_patch.py +0 -0
  23. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/json_mock_server.py +0 -0
  24. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/runner_assets.py +0 -0
  25. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/runner_csv.py +0 -0
  26. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/runner_email_mock.py +0 -0
  27. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/runner_excel.py +0 -0
  28. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/runner_rest_api.py +0 -0
  29. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/runner_satim_mock.py +0 -0
  30. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/runner_webhook_mock.py +0 -0
  31. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e/step_runner.py +0 -0
  32. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e.egg-info/SOURCES.txt +0 -0
  33. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e.egg-info/dependency_links.txt +0 -0
  34. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e.egg-info/requires.txt +0 -0
  35. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/sefrone_api_e2e.egg-info/top_level.txt +0 -0
  36. {sefrone_api_e2e-1.3.7 → sefrone_api_e2e-1.3.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sefrone_api_e2e
3
- Version: 1.3.7
3
+ Version: 1.3.8
4
4
  Summary: A Python package to provide e2e testing helpers for sefrone API projects
5
5
  Home-page: https://bitbucket.org/sefrone/sefrone_pypi
6
6
  Author: Sefrone
@@ -268,7 +268,9 @@ class ApiE2ETestsManager:
268
268
 
269
269
  Syntax: $date(<offset>[,<time>])
270
270
 
271
- offset: integer number of days relative to today (e.g. 0, +1, -2)
271
+ offset: integer number of days relative to today in UTC (e.g. 0, +1, -2) -- deliberately
272
+ UTC rather than the runner's local date, since the resolved string is always
273
+ stamped "Z" and compared against real UTC API timestamps.
272
274
  time: optional suffix controlling the time component
273
275
  'start' (default) → T00:00:00Z
274
276
  'end' → T23:59:59Z
@@ -292,7 +294,12 @@ class ApiE2ETestsManager:
292
294
  raise ValueError(
293
295
  f"$date() time suffix must be 'start' or 'end', got: '{time_part}'"
294
296
  )
295
- target = datetime.date.today() + datetime.timedelta(days=offset_days)
297
+ # Resolves against the UTC calendar date, not the local one -- the returned string is
298
+ # stamped "Z" (UTC) and compared against API timestamps that are real UTC (e.g.
299
+ # DateTime.UtcNow), so a local date here would drift for up to a full day depending on
300
+ # the runner's timezone, and briefly disagree with UTC around local midnight every day.
301
+ today_utc = datetime.datetime.now(datetime.timezone.utc).date()
302
+ target = today_utc + datetime.timedelta(days=offset_days)
296
303
  time_str = "T00:00:00Z" if time_part == "start" else "T23:59:59Z"
297
304
  return target.strftime("%Y-%m-%d") + time_str
298
305
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sefrone_api_e2e
3
- Version: 1.3.7
3
+ Version: 1.3.8
4
4
  Summary: A Python package to provide e2e testing helpers for sefrone API projects
5
5
  Home-page: https://bitbucket.org/sefrone/sefrone_pypi
6
6
  Author: Sefrone
@@ -5,7 +5,7 @@ with open("README.md", "r", encoding="utf-8") as fh:
5
5
 
6
6
  setup(
7
7
  name="sefrone_api_e2e",
8
- version="1.3.7",
8
+ version="1.3.8",
9
9
  author="Sefrone",
10
10
  author_email="contact@sefrone.com",
11
11
  description="A Python package to provide e2e testing helpers for sefrone API projects",