6
6
from datetime import datetime , timezone
7
7
8
8
import pytest
9
+ from frequenz .microgrid .betterproto .frequenz .api import microgrid
10
+ from frequenz .microgrid .betterproto .frequenz .api .common import metrics
11
+ from frequenz .microgrid .betterproto .frequenz .api .common .metrics import electrical
12
+ from frequenz .microgrid .betterproto .frequenz .api .microgrid import inverter
9
13
10
- # pylint: disable=no-name-in-module
11
- from frequenz .api .common .metrics .electrical_pb2 import AC
12
- from frequenz .api .common .metrics_pb2 import Bounds , Metric
13
- from frequenz .api .microgrid .inverter_pb2 import (
14
- COMPONENT_STATE_DISCHARGING ,
15
- Data ,
16
- Error ,
17
- Inverter ,
18
- State ,
19
- )
20
- from frequenz .api .microgrid .microgrid_pb2 import ComponentData as PbComponentData
21
- from google .protobuf .timestamp_pb2 import Timestamp
22
-
23
- # pylint: enable=no-name-in-module
24
14
from frequenz .client .microgrid import ComponentData , InverterData
25
15
26
16
@@ -35,45 +25,52 @@ def test_inverter_data() -> None:
35
25
"""Verify the constructor for the InverterData class."""
36
26
seconds = 1234567890
37
27
38
- raw = PbComponentData (
28
+ raw = microgrid . ComponentData (
39
29
id = 5 ,
40
- ts = Timestamp (seconds = seconds ),
41
- inverter = Inverter (
42
- state = State (component_state = COMPONENT_STATE_DISCHARGING ),
43
- errors = [Error (msg = "error message" )],
44
- data = Data (
45
- dc_battery = None ,
46
- dc_solar = None ,
47
- temperature = None ,
48
- ac = AC (
49
- frequency = Metric (value = 50.1 ),
50
- power_active = Metric (
30
+ ts = datetime .fromtimestamp (seconds , timezone .utc ),
31
+ inverter = inverter .Inverter (
32
+ state = inverter .State (
33
+ component_state = inverter .ComponentState .COMPONENT_STATE_DISCHARGING
34
+ ),
35
+ errors = [inverter .Error (msg = "error message" )],
36
+ data = inverter .Data (
37
+ ac = electrical .Ac (
38
+ frequency = metrics .Metric (value = 50.1 ),
39
+ power_active = metrics .Metric (
51
40
value = 100.2 ,
52
- system_exclusion_bounds = Bounds (lower = - 501.0 , upper = 501.0 ),
53
- system_inclusion_bounds = Bounds (lower = - 51_000.0 , upper = 51_000.0 ),
41
+ system_exclusion_bounds = metrics .Bounds (
42
+ lower = - 501.0 , upper = 501.0
43
+ ),
44
+ system_inclusion_bounds = metrics .Bounds (
45
+ lower = - 51_000.0 , upper = 51_000.0
46
+ ),
54
47
),
55
- power_reactive = Metric (
48
+ power_reactive = metrics . Metric (
56
49
value = 200.3 ,
57
- system_exclusion_bounds = Bounds (lower = - 502.0 , upper = 502.0 ),
58
- system_inclusion_bounds = Bounds (lower = - 52_000.0 , upper = 52_000.0 ),
50
+ system_exclusion_bounds = metrics .Bounds (
51
+ lower = - 502.0 , upper = 502.0
52
+ ),
53
+ system_inclusion_bounds = metrics .Bounds (
54
+ lower = - 52_000.0 , upper = 52_000.0
55
+ ),
59
56
),
60
- phase_1 = AC . ACPhase (
61
- current = Metric (value = 12.3 ),
62
- voltage = Metric (value = 229.8 ),
63
- power_active = Metric (value = 33.1 ),
64
- power_reactive = Metric (value = 10.1 ),
57
+ phase_1 = electrical . AcAcPhase (
58
+ current = metrics . Metric (value = 12.3 ),
59
+ voltage = metrics . Metric (value = 229.8 ),
60
+ power_active = metrics . Metric (value = 33.1 ),
61
+ power_reactive = metrics . Metric (value = 10.1 ),
65
62
),
66
- phase_2 = AC . ACPhase (
67
- current = Metric (value = 23.4 ),
68
- voltage = Metric (value = 230.0 ),
69
- power_active = Metric (value = 33.3 ),
70
- power_reactive = Metric (value = 10.2 ),
63
+ phase_2 = electrical . AcAcPhase (
64
+ current = metrics . Metric (value = 23.4 ),
65
+ voltage = metrics . Metric (value = 230.0 ),
66
+ power_active = metrics . Metric (value = 33.3 ),
67
+ power_reactive = metrics . Metric (value = 10.2 ),
71
68
),
72
- phase_3 = AC . ACPhase (
73
- current = Metric (value = 34.5 ),
74
- voltage = Metric (value = 230.2 ),
75
- power_active = Metric (value = 33.8 ),
76
- power_reactive = Metric (value = 10.3 ),
69
+ phase_3 = electrical . AcAcPhase (
70
+ current = metrics . Metric (value = 34.5 ),
71
+ voltage = metrics . Metric (value = 230.2 ),
72
+ power_active = metrics . Metric (value = 33.8 ),
73
+ power_reactive = metrics . Metric (value = 10.3 ),
77
74
),
78
75
),
79
76
),
@@ -84,10 +81,10 @@ def test_inverter_data() -> None:
84
81
assert inv_data .component_id == 5
85
82
assert inv_data .timestamp == datetime .fromtimestamp (seconds , timezone .utc )
86
83
assert ( # pylint: disable=protected-access
87
- inv_data ._component_state == COMPONENT_STATE_DISCHARGING
84
+ inv_data ._component_state == inverter . ComponentState . COMPONENT_STATE_DISCHARGING
88
85
)
89
86
assert inv_data ._errors == [ # pylint: disable=protected-access
90
- Error (msg = "error message" )
87
+ inverter . Error (msg = "error message" )
91
88
]
92
89
assert inv_data .frequency == pytest .approx (50.1 )
93
90
assert inv_data .active_power == pytest .approx (100.2 )
0 commit comments