Feedback (Vitor): the intent was a single scenario covering both
max_count=1 and max_count>1, checking that in both cases each tag's
own latest (properly aggregated) timestamp prevails — not just the
max_count>1 case from the previous commit.
Renamed the existing fixture to
pi_web_api_scouter_distinct_tag_timestamps_multi_point.json and added
a sibling _single_point.json (max_count=1, one point per tag, distinct
timestamps across tags). test_scenario_2_1_4 is now parametrized over
both fixtures with the same assertion: each tag's stored Postgres row
keeps its own real timestamp, never another tag's.
SIENTIAPDE-1993
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Existing e2e coverage (2.1.2 multiple_tags) never exercised the actual
bug, since all its tags happened to share the same latest timestamp,
so aggregation's own per-tag last-timestamp pick coincided with the
old (buggy) batch-wide max regardless of the fix.
Add scenario 2.1.4: two tags with max_count=2, each with two historical
points, but with genuinely different latest timestamps (~12:00 vs
~15:00). Asserts each tag's stored Postgres row keeps its own real
timestamp rather than the other tag's. This test fails against the
pre-fix code (both rows would show ~15:00) and passes with the fix.
SIENTIAPDE-1993
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Update project configuration and dependencies
- Added .mypy_cache and .cursor to .gitignore.
- Changed asyncio_default_fixture_loop_scope and asyncio_default_test_loop_scope to "session" in pyproject.toml.
- Updated e2e testing dependencies in requirements-dev.txt, replacing fakeredis and mongomock with pytest-httpserver.
- Updated requirements.txt to use sientia_do instead of a specific git commit.
- Modified sonar-project.properties to remove a file from coverage exclusions.
- Enhanced E2E test fixtures in e2e/conftest.py for better container management.
- Cleaned up e2e test files related to CoreScouter and PIWebAPIScouter workflows.