def test_build_entity_address(
    app, info: dict, entity_type: str, host: str, exp_result: str
):
    with app.app_context():
        app.config["FLEXMEASURES_HOSTS_AND_AUTH_START"] = {
            "flexmeasures.io": "2021-01",
            "staging.flexmeasures.io": "2022-09",
        }
        if exp_result.startswith("ea1"):
            assert build_entity_address(info, entity_type, host) == exp_result
        else:
            with pytest.raises(EntityAddressException, match=exp_result):
                build_entity_address(info, entity_type, host) == exp_result
Пример #2
0
 def entity_address_fm0(self) -> str:
     """Entity address under the fm0 scheme for entity addresses."""
     return build_entity_address(
         dict(owner_id=self.owner_id, asset_id=self.id),
         "connection",
         fm_scheme="fm0",
     )
Пример #3
0
 def entity_address_fm0(self) -> str:
     """Entity address under the fm0 scheme for entity addresses."""
     return build_entity_address(
         dict(
             weather_sensor_type_name=self.weather_sensor_type_name,
             latitude=self.latitude,
             longitude=self.longitude,
         ),
         "weather_sensor",
         fm_scheme="fm0",
     )
Пример #4
0
import pytest

from flexmeasures.api.common.schemas.sensors import (
    SensorField,
    EntityAddressValidationError,
)
from flexmeasures.utils.entity_address_utils import build_entity_address


@pytest.mark.parametrize(
    "entity_address, entity_type, fm_scheme, exp_deserialization_name",
    [
        (
            build_entity_address(dict(sensor_id=1), "sensor"),
            "sensor",
            "fm1",
            "height",
        ),
        (
            build_entity_address(
                dict(market_name="epex_da"), "market", fm_scheme="fm0"
            ),
            "market",
            "fm0",
            "epex_da",
        ),
        (
            build_entity_address(
                dict(owner_id=1, asset_id=4), "connection", fm_scheme="fm0"
            ),
            "connection",
Пример #5
0
 def entity_address(self) -> str:
     """Entity address under the latest fm scheme for entity addresses."""
     return build_entity_address(
         dict(sensor_id=self.id),
         "sensor",
     )
Пример #6
0
 def entity_address_fm0(self) -> str:
     """Entity address under the fm0 scheme for entity addresses."""
     return build_entity_address(dict(market_name=self.name),
                                 "market",
                                 fm_scheme="fm0")
Пример #7
0
 def entity_address(self) -> str:
     return build_entity_address(dict(sensor_id=self.id), "sensor")