Seite 3 von 3

Re: Dynamische Strompreise: aus stündlich wird 15-Minuten

Verfasst: So Okt 05, 2025 9:23 am
von Thomas aus W
Bei mir läuft die Regelung schon mal, wenn auch noch nicht perfekt.

Der PR hat jetzt fehl schlagende UnitTests:
https://github.com/openWB/core/actions/ ... 57?pr=2801
Ist für mich etwas unerwartet, da ich die eigentliche Logik (meines Erachtens) nicht geändert habe.

Meine Frage an die Python-Kenner: wie genau mockt der Test create_unix_timestamp_current_full_hour()?

https://github.com/openWB/core/blob/mas ... ff_test.py

Code: Alles auswählen

from unittest.mock import Mock
import pytest

from modules.common.component_state import TariffState
from modules.common.configurable_tariff import ConfigurableElectricityTariff
from modules.electricity_tariffs.awattar.config import AwattarTariff


@pytest.mark.parametrize(
    "tariff_state, expected",
    [
        pytest.param(TariffState(prices={"1652680800": -5.87e-06,
                                         "1652684400": 5.467e-05,
                                         "1652688000": 10.72e-05}),
                     TariffState(prices={"1652680800": -5.87e-06,
                                         "1652684400": 5.467e-05,
                                         "1652688000": 10.72e-05}), id="keine veralteten Einträge"),
        pytest.param(TariffState(prices={"1652677200": -5.87e-06,
                                         "1652680800": 5.467e-05,
                                         "1652684400": 10.72e-05}),
                     TariffState(prices={"1652680800": 5.467e-05,
                                         "1652684400": 10.72e-05}), id="Lösche ersten Eintrag"),
    ],
)
def test_remove_outdated_prices(tariff_state: TariffState, expected: TariffState, monkeypatch):
    # setup
    tariff = ConfigurableElectricityTariff(AwattarTariff(), Mock())

    # test
    result = tariff._remove_outdated_prices(tariff_state)

    # assert
    assert result.prices == expected.prices