From fb1643712f19c90f201559bf8b781e11d2a98ebe Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 10:33:55 +0200 Subject: [PATCH 01/20] Set a fixed test-time for test_pulse_collection_consumption() --- tests/test_usb.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index d10ac122f..40fda6821 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -946,8 +946,9 @@ def test_pulse_collection_consumption( """Testing pulse collection class.""" monkeypatch.setattr(pw_energy_pulses, "MAX_LOG_HOURS", 24) - fixed_timestamp_utc = dt.now(UTC) - fixed_this_hour = fixed_timestamp_utc.replace(minute=0, second=0, microsecond=0) + # fixed_timestamp_utc = dt.now(UTC) + # fixed_this_hour = fixed_timestamp_utc.replace(minute=0, second=0, microsecond=0) + fixed_this_hour = freeze_time("2025-04-04 00:00:00") # Test consumption logs tst_consumption = pw_energy_pulses.PulseCollection(mac="0098765432101234") From d8f13726306227f75f41122f26880d2ac7e7d611 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 10:45:09 +0200 Subject: [PATCH 02/20] Try --- tests/test_usb.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 40fda6821..3e0e26555 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -939,7 +939,7 @@ async def fake_get_missing_energy_logs(address: int) -> None: ) await stick.disconnect() - @freeze_time(dt.now()) + @freeze_time("2025-04-04 00:00:00", tz_offset=-2) def test_pulse_collection_consumption( self, monkeypatch: pytest.MonkeyPatch ) -> None: @@ -948,7 +948,7 @@ def test_pulse_collection_consumption( # fixed_timestamp_utc = dt.now(UTC) # fixed_this_hour = fixed_timestamp_utc.replace(minute=0, second=0, microsecond=0) - fixed_this_hour = freeze_time("2025-04-04 00:00:00") + fixed_this_hour = dt.now(UTC) # Test consumption logs tst_consumption = pw_energy_pulses.PulseCollection(mac="0098765432101234") From 593aa114381cb8bac34beb4ac5e831821b45c2f2 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 10:51:53 +0200 Subject: [PATCH 03/20] Try 2 --- tests/test_usb.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 3e0e26555..b23ef6d95 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -939,7 +939,7 @@ async def fake_get_missing_energy_logs(address: int) -> None: ) await stick.disconnect() - @freeze_time("2025-04-04 00:00:00", tz_offset=-2) + @freeze_time("2025-04-04 00:00:00", tz_offset=0) def test_pulse_collection_consumption( self, monkeypatch: pytest.MonkeyPatch ) -> None: @@ -948,7 +948,7 @@ def test_pulse_collection_consumption( # fixed_timestamp_utc = dt.now(UTC) # fixed_this_hour = fixed_timestamp_utc.replace(minute=0, second=0, microsecond=0) - fixed_this_hour = dt.now(UTC) + fixed_this_hour = dt.now() # Test consumption logs tst_consumption = pw_energy_pulses.PulseCollection(mac="0098765432101234") From 730a43037eabb79a41f49e0b5ca116a25c8a8ce6 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 11:02:08 +0200 Subject: [PATCH 04/20] Try 3 --- tests/test_usb.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index b23ef6d95..8d4c99cf2 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -939,7 +939,7 @@ async def fake_get_missing_energy_logs(address: int) -> None: ) await stick.disconnect() - @freeze_time("2025-04-04 00:00:00", tz_offset=0) + @freeze_time("2025-04-04 00:00:00") def test_pulse_collection_consumption( self, monkeypatch: pytest.MonkeyPatch ) -> None: @@ -948,7 +948,7 @@ def test_pulse_collection_consumption( # fixed_timestamp_utc = dt.now(UTC) # fixed_this_hour = fixed_timestamp_utc.replace(minute=0, second=0, microsecond=0) - fixed_this_hour = dt.now() + fixed_this_hour = dt.now(UTC) # Test consumption logs tst_consumption = pw_energy_pulses.PulseCollection(mac="0098765432101234") From 3b483dbc4624c8047eafe2766debb32fe46509f0 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 11:24:33 +0200 Subject: [PATCH 05/20] Fix timestamp for added log --- tests/test_usb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 8d4c99cf2..3ee81f021 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1126,7 +1126,7 @@ def test_pulse_collection_consumption( assert tst_consumption.collected_pulses( test_timestamp, is_consumption=True ) == (45, pulse_update_4) - tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1, minutes=1, seconds=5)), 2222) + tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) assert tst_consumption.log_rollover # Test collection of the last full hour assert tst_consumption.collected_pulses( From 2f5b17e6772ee3496ad8508f684b2d7dc6abac5b Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 11:35:16 +0200 Subject: [PATCH 06/20] Change frozen time --- tests/test_usb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 3ee81f021..efa34232f 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -939,7 +939,7 @@ async def fake_get_missing_energy_logs(address: int) -> None: ) await stick.disconnect() - @freeze_time("2025-04-04 00:00:00") + @freeze_time("2025-04-03 23:00:00") def test_pulse_collection_consumption( self, monkeypatch: pytest.MonkeyPatch ) -> None: From df0dd4568c0fa63093cd320379d95a12dddb6769 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 11:53:36 +0200 Subject: [PATCH 07/20] Fix wrong asserts --- tests/test_usb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index efa34232f..7f9e08ef1 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1127,7 +1127,7 @@ def test_pulse_collection_consumption( test_timestamp, is_consumption=True ) == (45, pulse_update_4) tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) - assert tst_consumption.log_rollover + assert not tst_consumption.log_rollover # Test collection of the last full hour assert tst_consumption.collected_pulses( fixed_this_hour, is_consumption=True From 4ccd0e6d9a89f58fcc2ba30ff87a314ed22cf58c Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 10 Apr 2025 19:06:38 +0200 Subject: [PATCH 08/20] Correct timestamps for collected_pulses() --- tests/test_usb.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 7f9e08ef1..da9f767e5 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1122,7 +1122,8 @@ def test_pulse_collection_consumption( pulse_update_4 = fixed_this_hour + td(hours=1, minutes=1, seconds=3) tst_consumption.update_pulse_counter(45, 0, pulse_update_4) assert tst_consumption.log_rollover - test_timestamp = fixed_this_hour + td(hours=1, minutes=1, seconds=4) + assert tst_consumption.hourly_reset_time == pulse_update_4 + test_timestamp = fixed_this_hour + td(hours=1) assert tst_consumption.collected_pulses( test_timestamp, is_consumption=True ) == (45, pulse_update_4) @@ -1133,11 +1134,10 @@ def test_pulse_collection_consumption( fixed_this_hour, is_consumption=True ) == (45 + 2222, pulse_update_4) pulse_update_5 = fixed_this_hour + td(hours=1, minutes=1, seconds=18) - test_timestamp_2 = fixed_this_hour + td(hours=1, minutes=1, seconds=20) tst_consumption.update_pulse_counter(145, 0, pulse_update_5) # Test collection of the last new hour assert tst_consumption.collected_pulses( - test_timestamp_2, is_consumption=True + test_timestamp, is_consumption=True ) == (145, pulse_update_5) # Test log rollover by updating log first before updating pulses From d110820790efe24d25088d718478f896376a4667 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 12:03:32 +0200 Subject: [PATCH 09/20] Lower frozen time --- tests/test_usb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index da9f767e5..1accde9e0 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -939,7 +939,7 @@ async def fake_get_missing_energy_logs(address: int) -> None: ) await stick.disconnect() - @freeze_time("2025-04-03 23:00:00") + @freeze_time("2025-04-03 22:00:00") def test_pulse_collection_consumption( self, monkeypatch: pytest.MonkeyPatch ) -> None: From a0cfd08a4bdbe3e9c1a23afde9343b7426141552 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 12:18:16 +0200 Subject: [PATCH 10/20] Add asserts, correct from_timestamps --- tests/test_usb.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 1accde9e0..a70503bc3 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1116,8 +1116,13 @@ def test_pulse_collection_consumption( pulse_update_3 = fixed_this_hour + td(hours=0, minutes=0, seconds=30) tst_consumption.update_pulse_counter(2500, 0, pulse_update_3) assert not tst_consumption.log_rollover + # Collected pulses last hour: assert tst_consumption.collected_pulses( - test_timestamp, is_consumption=True + fixed_this_hour, is_consumption=True + ) == (2500, pulse_update_3) + # Collected pulses last day: + assert tst_consumption.collected_pulses( + fixed_this_hour - td(hours=24), is_consumption=True ) == (2500 + 1111 + 1000 + 750, pulse_update_3) pulse_update_4 = fixed_this_hour + td(hours=1, minutes=1, seconds=3) tst_consumption.update_pulse_counter(45, 0, pulse_update_4) From 4e3dc0d67bdb808ffdefc2e50fe56df77d43b4a4 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 12:35:50 +0200 Subject: [PATCH 11/20] Fix last-day assert --- tests/test_usb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index a70503bc3..12619ebc7 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1123,7 +1123,7 @@ def test_pulse_collection_consumption( # Collected pulses last day: assert tst_consumption.collected_pulses( fixed_this_hour - td(hours=24), is_consumption=True - ) == (2500 + 1111 + 1000 + 750, pulse_update_3) + ) == (2500 + 23861, pulse_update_3) pulse_update_4 = fixed_this_hour + td(hours=1, minutes=1, seconds=3) tst_consumption.update_pulse_counter(45, 0, pulse_update_4) assert tst_consumption.log_rollover From 1943e57dce91e59acb78ea90d28ac9e7637fe798 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 12:42:04 +0200 Subject: [PATCH 12/20] Add/update collected_pulses asserts for pulse-counter reset --- tests/test_usb.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 12619ebc7..04dff67d3 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1124,14 +1124,19 @@ def test_pulse_collection_consumption( assert tst_consumption.collected_pulses( fixed_this_hour - td(hours=24), is_consumption=True ) == (2500 + 23861, pulse_update_3) - pulse_update_4 = fixed_this_hour + td(hours=1, minutes=1, seconds=3) + pulse_update_4 = fixed_this_hour + td(hours=0, minutes=1) tst_consumption.update_pulse_counter(45, 0, pulse_update_4) assert tst_consumption.log_rollover assert tst_consumption.hourly_reset_time == pulse_update_4 test_timestamp = fixed_this_hour + td(hours=1) + # Collected pulses last hour: assert tst_consumption.collected_pulses( - test_timestamp, is_consumption=True + fixed_this_hour, is_consumption=True ) == (45, pulse_update_4) + # Collected pulses last day: + assert tst_consumption.collected_pulses( + fixed_this_hour - td(hours=24), is_consumption=True + ) == (2500 + 23861, pulse_update_3) tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) assert not tst_consumption.log_rollover # Test collection of the last full hour From 9e3e91cb7315c1f3d7664fd5c0bf5b70b630ad13 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 12:59:37 +0200 Subject: [PATCH 13/20] Test-updates --- tests/test_usb.py | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 04dff67d3..c375a34b0 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1113,42 +1113,42 @@ def test_pulse_collection_consumption( # Test rollover by updating pulses before log record - pulse_update_3 = fixed_this_hour + td(hours=0, minutes=0, seconds=30) + pulse_update_3 = fixed_this_hour + td(hours=1, minutes=0, seconds=30) + test_timestamp = fixed_this_hour + td(hours=1) tst_consumption.update_pulse_counter(2500, 0, pulse_update_3) - assert not tst_consumption.log_rollover + assert tst_consumption.log_rollover # Collected pulses last hour: assert tst_consumption.collected_pulses( - fixed_this_hour, is_consumption=True + test_timestamp, is_consumption=True ) == (2500, pulse_update_3) # Collected pulses last day: assert tst_consumption.collected_pulses( - fixed_this_hour - td(hours=24), is_consumption=True - ) == (2500 + 23861, pulse_update_3) - pulse_update_4 = fixed_this_hour + td(hours=0, minutes=1) + test_timestamp - td(hours=24), is_consumption=True + ) == (2500 + 22861, pulse_update_3) + pulse_update_4 = fixed_this_hour + td(hours=1, minutes=1) tst_consumption.update_pulse_counter(45, 0, pulse_update_4) assert tst_consumption.log_rollover assert tst_consumption.hourly_reset_time == pulse_update_4 - test_timestamp = fixed_this_hour + td(hours=1) # Collected pulses last hour: assert tst_consumption.collected_pulses( - fixed_this_hour, is_consumption=True + test_timestamp, is_consumption=True ) == (45, pulse_update_4) # Collected pulses last day: assert tst_consumption.collected_pulses( - fixed_this_hour - td(hours=24), is_consumption=True - ) == (2500 + 23861, pulse_update_3) - tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) - assert not tst_consumption.log_rollover - # Test collection of the last full hour - assert tst_consumption.collected_pulses( - fixed_this_hour, is_consumption=True - ) == (45 + 2222, pulse_update_4) - pulse_update_5 = fixed_this_hour + td(hours=1, minutes=1, seconds=18) - tst_consumption.update_pulse_counter(145, 0, pulse_update_5) - # Test collection of the last new hour - assert tst_consumption.collected_pulses( - test_timestamp, is_consumption=True - ) == (145, pulse_update_5) + test_timestamp - td(hours=24), is_consumption=True + ) == (45 + 2500 + 23861, pulse_update_4) + # tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) + # assert not tst_consumption.log_rollover + ## Test collection of the last full hour + # assert tst_consumption.collected_pulses( + # fixed_this_hour, is_consumption=True + # ) == (45 + 2222, pulse_update_4) + # pulse_update_5 = fixed_this_hour + td(hours=1, minutes=1, seconds=18) + # tst_consumption.update_pulse_counter(145, 0, pulse_update_5) + ## Test collection of the last new hour + # assert tst_consumption.collected_pulses( + # test_timestamp, is_consumption=True + # ) == (145, pulse_update_5) # Test log rollover by updating log first before updating pulses tst_consumption.add_log(100, 3, (fixed_this_hour + td(hours=2)), 3333) From 9da04f3a4784cb84716084522b992cc6ad01847b Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Sun, 6 Apr 2025 11:40:22 +0200 Subject: [PATCH 14/20] Drop log when exact 24hrs old --- plugwise_usb/nodes/helpers/pulses.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugwise_usb/nodes/helpers/pulses.py b/plugwise_usb/nodes/helpers/pulses.py index 81de2ca1a..0c0d4d94d 100644 --- a/plugwise_usb/nodes/helpers/pulses.py +++ b/plugwise_usb/nodes/helpers/pulses.py @@ -468,7 +468,7 @@ def _add_log_record( return False # Drop useless log records when we have at least 4 logs - if self.collected_logs > 4 and log_record.timestamp < ( + if self.collected_logs > 4 and log_record.timestamp <= ( datetime.now(tz=UTC) - timedelta(hours=MAX_LOG_HOURS) ): return False From 6c5dd05ed92df860dcbb355c6b72b6e6bd4fce93 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 10 Apr 2025 19:13:01 +0200 Subject: [PATCH 15/20] Remove no longer available hourly_reset assert --- tests/test_usb.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index c375a34b0..3572cbaee 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1128,7 +1128,6 @@ def test_pulse_collection_consumption( pulse_update_4 = fixed_this_hour + td(hours=1, minutes=1) tst_consumption.update_pulse_counter(45, 0, pulse_update_4) assert tst_consumption.log_rollover - assert tst_consumption.hourly_reset_time == pulse_update_4 # Collected pulses last hour: assert tst_consumption.collected_pulses( test_timestamp, is_consumption=True From b45ac8578728d68d240e1f46b35c38584370ec37 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 10 Apr 2025 19:14:29 +0200 Subject: [PATCH 16/20] Adapt test-assert --- tests/test_usb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 3572cbaee..5cc21b1a8 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1135,7 +1135,7 @@ def test_pulse_collection_consumption( # Collected pulses last day: assert tst_consumption.collected_pulses( test_timestamp - td(hours=24), is_consumption=True - ) == (45 + 2500 + 23861, pulse_update_4) + ) == (45 + 2500 + 20361, pulse_update_4) # tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) # assert not tst_consumption.log_rollover ## Test collection of the last full hour From f39a80bea94dce6f48e63ff7a0416ef4bd08a58e Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 10 Apr 2025 19:37:57 +0200 Subject: [PATCH 17/20] Enable extra tests --- tests/test_usb.py | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 5cc21b1a8..59d78a472 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1135,32 +1135,34 @@ def test_pulse_collection_consumption( # Collected pulses last day: assert tst_consumption.collected_pulses( test_timestamp - td(hours=24), is_consumption=True - ) == (45 + 2500 + 20361, pulse_update_4) - # tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) - # assert not tst_consumption.log_rollover - ## Test collection of the last full hour - # assert tst_consumption.collected_pulses( - # fixed_this_hour, is_consumption=True - # ) == (45 + 2222, pulse_update_4) - # pulse_update_5 = fixed_this_hour + td(hours=1, minutes=1, seconds=18) - # tst_consumption.update_pulse_counter(145, 0, pulse_update_5) - ## Test collection of the last new hour - # assert tst_consumption.collected_pulses( - # test_timestamp, is_consumption=True - # ) == (145, pulse_update_5) + ) == (45 + 23861, pulse_update_4) + # pulse-count of 2500 is ignored, the code does not export this incorrect value - # Test log rollover by updating log first before updating pulses - tst_consumption.add_log(100, 3, (fixed_this_hour + td(hours=2)), 3333) - assert tst_consumption.log_rollover - assert tst_consumption.collected_pulses( - fixed_this_hour, is_consumption=True - ) == (145 + 2222 + 3333, pulse_update_5) - pulse_update_6 = fixed_this_hour + td(hours=2, seconds=10) - tst_consumption.update_pulse_counter(321, 0, pulse_update_6) + tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) assert not tst_consumption.log_rollover + # Test collection of the last full hour assert tst_consumption.collected_pulses( fixed_this_hour, is_consumption=True - ) == (2222 + 3333 + 321, pulse_update_6) + ) == (45 + 2222, pulse_update_4) + pulse_update_5 = fixed_this_hour + td(hours=1, minutes=1, seconds=18) + tst_consumption.update_pulse_counter(145, 0, pulse_update_5) + # Test collection of the last new hour + assert tst_consumption.collected_pulses( + test_timestamp, is_consumption=True + ) == (145, pulse_update_5) + + # Test log rollover by updating log first before updating pulses + # tst_consumption.add_log(100, 3, (fixed_this_hour + td(hours=2)), 3333) + # assert tst_consumption.log_rollover + # assert tst_consumption.collected_pulses( + # fixed_this_hour, is_consumption=True + # ) == (145 + 2222 + 3333, pulse_update_5) + # pulse_update_6 = fixed_this_hour + td(hours=2, seconds=10) + # tst_consumption.update_pulse_counter(321, 0, pulse_update_6) + # assert not tst_consumption.log_rollover + # assert tst_consumption.collected_pulses( + # fixed_this_hour, is_consumption=True + # ) == (2222 + 3333 + 321, pulse_update_6) @freeze_time(dt.now()) def test_pulse_collection_consumption_empty( From 8f4bcec63c9a26954d6dbbab5b1fe8fab26ec1fb Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Thu, 10 Apr 2025 19:51:13 +0200 Subject: [PATCH 18/20] Fix assert --- tests/test_usb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 59d78a472..1ab7fde51 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1135,7 +1135,7 @@ def test_pulse_collection_consumption( # Collected pulses last day: assert tst_consumption.collected_pulses( test_timestamp - td(hours=24), is_consumption=True - ) == (45 + 23861, pulse_update_4) + ) == (45 + 22861, pulse_update_4) # pulse-count of 2500 is ignored, the code does not export this incorrect value tst_consumption.add_log(100, 2, (fixed_this_hour + td(hours=1)), 2222) From 8cd4ed693a6a22e7bbefc0915fd6d1981042d6fe Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Fri, 11 Apr 2025 16:58:49 +0200 Subject: [PATCH 19/20] Uncomment disabled test-asserts --- tests/test_usb.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 1ab7fde51..53a8d932e 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -1152,17 +1152,17 @@ def test_pulse_collection_consumption( ) == (145, pulse_update_5) # Test log rollover by updating log first before updating pulses - # tst_consumption.add_log(100, 3, (fixed_this_hour + td(hours=2)), 3333) - # assert tst_consumption.log_rollover - # assert tst_consumption.collected_pulses( - # fixed_this_hour, is_consumption=True - # ) == (145 + 2222 + 3333, pulse_update_5) - # pulse_update_6 = fixed_this_hour + td(hours=2, seconds=10) - # tst_consumption.update_pulse_counter(321, 0, pulse_update_6) - # assert not tst_consumption.log_rollover - # assert tst_consumption.collected_pulses( - # fixed_this_hour, is_consumption=True - # ) == (2222 + 3333 + 321, pulse_update_6) + tst_consumption.add_log(100, 3, (fixed_this_hour + td(hours=2)), 3333) + assert tst_consumption.log_rollover + assert tst_consumption.collected_pulses( + fixed_this_hour, is_consumption=True + ) == (145 + 2222 + 3333, pulse_update_5) + pulse_update_6 = fixed_this_hour + td(hours=2, seconds=10) + tst_consumption.update_pulse_counter(321, 0, pulse_update_6) + assert not tst_consumption.log_rollover + assert tst_consumption.collected_pulses( + fixed_this_hour, is_consumption=True + ) == (2222 + 3333 + 321, pulse_update_6) @freeze_time(dt.now()) def test_pulse_collection_consumption_empty( From 0ba88c077df2f788647ae7e77803dca715d63bc0 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk Date: Fri, 18 Apr 2025 09:50:32 +0200 Subject: [PATCH 20/20] Cleanup --- tests/test_usb.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/test_usb.py b/tests/test_usb.py index 53a8d932e..1a2b99bc3 100644 --- a/tests/test_usb.py +++ b/tests/test_usb.py @@ -945,9 +945,6 @@ def test_pulse_collection_consumption( ) -> None: """Testing pulse collection class.""" monkeypatch.setattr(pw_energy_pulses, "MAX_LOG_HOURS", 24) - - # fixed_timestamp_utc = dt.now(UTC) - # fixed_this_hour = fixed_timestamp_utc.replace(minute=0, second=0, microsecond=0) fixed_this_hour = dt.now(UTC) # Test consumption logs @@ -1086,7 +1083,6 @@ def test_pulse_collection_consumption( assert not tst_consumption.log_rollover # add missing logs - test_timestamp = fixed_this_hour - td(hours=3) tst_consumption.add_log(99, 2, (fixed_this_hour - td(hours=3)), 1000) tst_consumption.add_log(99, 1, (fixed_this_hour - td(hours=4)), 1000) tst_consumption.add_log(98, 4, (fixed_this_hour - td(hours=5)), 1000)