|
6 | 6 | from typing import Any |
7 | 7 |
|
8 | 8 | import pytest |
9 | | -from frequenz.client.reporting._client import MetricSample |
| 9 | +from frequenz.client.reporting._types import MetricSample |
10 | 10 |
|
11 | 11 | from frequenz.reporting import delete_me |
12 | 12 | from frequenz.reporting._reporting import extract_state_durations |
|
23 | 23 | { |
24 | 24 | "description": "No matching metrics", |
25 | 25 | "samples": [ |
26 | | - MetricSample(datetime(2023, 1, 1, 0, 0), 1, 101, "temperature", 25), |
27 | | - MetricSample(datetime(2023, 1, 1, 1, 0), 1, 101, "humidity", 60), |
| 26 | + MetricSample(datetime(2023, 1, 1, 0, 0), 1, "101", "temperature", 25), |
| 27 | + MetricSample(datetime(2023, 1, 1, 1, 0), 1, "101", "humidity", 60), |
28 | 28 | ], |
29 | 29 | "alert_states": [1], |
30 | 30 | "include_warnings": True, |
|
34 | 34 | { |
35 | 35 | "description": "Single state change", |
36 | 36 | "samples": [ |
37 | | - MetricSample(datetime(2023, 1, 1, 0, 0), 1, 101, "state", 0), |
38 | | - MetricSample(datetime(2023, 1, 1, 1, 0), 1, 101, "state", 1), |
| 37 | + MetricSample(datetime(2023, 1, 1, 0, 0), 1, "101", "state", 0), |
| 38 | + MetricSample(datetime(2023, 1, 1, 1, 0), 1, "101", "state", 1), |
39 | 39 | ], |
40 | 40 | "alert_states": [1], |
41 | 41 | "include_warnings": True, |
42 | 42 | "expected_all_states": [ |
43 | 43 | { |
44 | 44 | "microgrid_id": 1, |
45 | | - "component_id": 101, |
| 45 | + "component_id": "101", |
46 | 46 | "state_type": "state", |
47 | 47 | "state_value": 0, |
48 | 48 | "start_time": datetime(2023, 1, 1, 0, 0), |
49 | 49 | "end_time": datetime(2023, 1, 1, 1, 0), |
50 | 50 | }, |
51 | 51 | { |
52 | 52 | "microgrid_id": 1, |
53 | | - "component_id": 101, |
| 53 | + "component_id": "101", |
54 | 54 | "state_type": "state", |
55 | 55 | "state_value": 1, |
56 | 56 | "start_time": datetime(2023, 1, 1, 1, 0), |
|
60 | 60 | "expected_alert_records": [ |
61 | 61 | { |
62 | 62 | "microgrid_id": 1, |
63 | | - "component_id": 101, |
| 63 | + "component_id": "101", |
64 | 64 | "state_type": "state", |
65 | 65 | "state_value": 1, |
66 | 66 | "start_time": datetime(2023, 1, 1, 1, 0), |
|
71 | 71 | { |
72 | 72 | "description": "Warnings and errors included", |
73 | 73 | "samples": [ |
74 | | - MetricSample(datetime(2023, 1, 2, 0, 0), 3, 303, "state", 0), |
75 | | - MetricSample(datetime(2023, 1, 2, 0, 30), 3, 303, "warning", "W1"), |
76 | | - MetricSample(datetime(2023, 1, 2, 1, 0), 3, 303, "state", 1), |
77 | | - MetricSample(datetime(2023, 1, 2, 1, 30), 3, 303, "error", "E1"), |
| 74 | + MetricSample(datetime(2023, 1, 2, 0, 0), 3, "303", "state", 0), |
| 75 | + MetricSample(datetime(2023, 1, 2, 0, 30), 3, "303", "warning", 10), |
| 76 | + MetricSample(datetime(2023, 1, 2, 1, 0), 3, "303", "state", 1), |
| 77 | + MetricSample(datetime(2023, 1, 2, 1, 30), 3, "303", "error", 20), |
78 | 78 | ], |
79 | 79 | "alert_states": [1], |
80 | 80 | "include_warnings": True, |
81 | 81 | "expected_all_states": [ |
82 | 82 | # State transitions |
83 | 83 | { |
84 | 84 | "microgrid_id": 3, |
85 | | - "component_id": 303, |
| 85 | + "component_id": "303", |
86 | 86 | "state_type": "state", |
87 | 87 | "state_value": 0, |
88 | 88 | "start_time": datetime(2023, 1, 2, 0, 0), |
89 | 89 | "end_time": datetime(2023, 1, 2, 1, 0), |
90 | 90 | }, |
91 | 91 | { |
92 | 92 | "microgrid_id": 3, |
93 | | - "component_id": 303, |
| 93 | + "component_id": "303", |
94 | 94 | "state_type": "state", |
95 | 95 | "state_value": 1, |
96 | 96 | "start_time": datetime(2023, 1, 2, 1, 0), |
|
99 | 99 | # Warning transitions |
100 | 100 | { |
101 | 101 | "microgrid_id": 3, |
102 | | - "component_id": 303, |
| 102 | + "component_id": "303", |
103 | 103 | "state_type": "warning", |
104 | | - "state_value": "W1", |
| 104 | + "state_value": 10, |
105 | 105 | "start_time": datetime(2023, 1, 2, 0, 30), |
106 | 106 | "end_time": None, |
107 | 107 | }, |
108 | 108 | # Error transitions |
109 | 109 | { |
110 | 110 | "microgrid_id": 3, |
111 | | - "component_id": 303, |
| 111 | + "component_id": "303", |
112 | 112 | "state_type": "error", |
113 | | - "state_value": "E1", |
| 113 | + "state_value": 20, |
114 | 114 | "start_time": datetime(2023, 1, 2, 1, 30), |
115 | 115 | "end_time": None, |
116 | 116 | }, |
117 | 117 | ], |
118 | 118 | "expected_alert_records": [ |
119 | 119 | { |
120 | 120 | "microgrid_id": 3, |
121 | | - "component_id": 303, |
| 121 | + "component_id": "303", |
122 | 122 | "state_type": "warning", |
123 | | - "state_value": "W1", |
| 123 | + "state_value": 10, |
124 | 124 | "start_time": datetime(2023, 1, 2, 0, 30), |
125 | 125 | "end_time": None, |
126 | 126 | }, |
127 | 127 | { |
128 | 128 | "microgrid_id": 3, |
129 | | - "component_id": 303, |
| 129 | + "component_id": "303", |
130 | 130 | "state_type": "error", |
131 | | - "state_value": "E1", |
| 131 | + "state_value": 20, |
132 | 132 | "start_time": datetime(2023, 1, 2, 1, 30), |
133 | 133 | "end_time": None, |
134 | 134 | }, |
135 | 135 | # State alert |
136 | 136 | { |
137 | 137 | "microgrid_id": 3, |
138 | | - "component_id": 303, |
| 138 | + "component_id": "303", |
139 | 139 | "state_type": "state", |
140 | 140 | "state_value": 1, |
141 | 141 | "start_time": datetime(2023, 1, 2, 1, 0), |
|
0 commit comments