conftest.py 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import pytest
  2. from datetime import timedelta
  3. from flexmeasures.data.models.time_series import Sensor, TimedBelief
  4. from flexmeasures.data.models.generic_assets import GenericAsset, GenericAssetType
  5. @pytest.fixture(scope="module")
  6. def dummy_asset(db, app):
  7. dummy_asset_type = GenericAssetType(name="DummyGenericAssetType")
  8. db.session.add(dummy_asset_type)
  9. _dummy_asset = GenericAsset(
  10. name="DummyGenericAsset", generic_asset_type=dummy_asset_type
  11. )
  12. db.session.add(_dummy_asset)
  13. return _dummy_asset
  14. @pytest.fixture(scope="module")
  15. def setup_dummy_sensors(db, app, dummy_asset):
  16. sensor1 = Sensor(
  17. "sensor 1",
  18. generic_asset=dummy_asset,
  19. event_resolution=timedelta(hours=1),
  20. unit="MWh",
  21. )
  22. db.session.add(sensor1)
  23. sensor2 = Sensor(
  24. "sensor 2",
  25. generic_asset=dummy_asset,
  26. event_resolution=timedelta(hours=1),
  27. unit="EUR/MWh",
  28. )
  29. db.session.add(sensor2)
  30. sensor3 = Sensor(
  31. "sensor 3",
  32. generic_asset=dummy_asset,
  33. event_resolution=timedelta(hours=1),
  34. unit="EUR",
  35. )
  36. db.session.add(sensor3)
  37. sensor4 = Sensor(
  38. "sensor 4",
  39. generic_asset=dummy_asset,
  40. event_resolution=timedelta(hours=1),
  41. unit="MW",
  42. )
  43. db.session.add(sensor4)
  44. db.session.commit()
  45. yield sensor1, sensor2
  46. @pytest.fixture(scope="module")
  47. def setup_efficiency_sensors(db, app, dummy_asset):
  48. sensor = Sensor(
  49. "efficiency",
  50. generic_asset=dummy_asset,
  51. event_resolution=timedelta(hours=1),
  52. unit="%",
  53. )
  54. db.session.add(sensor)
  55. db.session.commit()
  56. return sensor
  57. @pytest.fixture(scope="module")
  58. def setup_site_capacity_sensor(db, app, dummy_asset, setup_sources):
  59. sensor = Sensor(
  60. "site-power-capacity",
  61. generic_asset=dummy_asset,
  62. event_resolution="P1Y",
  63. unit="MVA",
  64. )
  65. db.session.add(sensor)
  66. capacity = TimedBelief(
  67. sensor=sensor,
  68. source=setup_sources["Seita"],
  69. event_value=0.8,
  70. belief_horizon="P45D",
  71. event_start="2024-02-26T00:00+02",
  72. )
  73. db.session.add(capacity)
  74. db.session.commit()
  75. return {sensor.name: sensor}