@@ -65,6 +65,7 @@ def test_update_master_status(self):
65
65
chassis = MockChassis ()
66
66
chassis_info = psud .PsuChassisInfo (SYSLOG_IDENTIFIER , chassis )
67
67
68
+ # With first_run set as True
68
69
# Test good values while in bad state
69
70
chassis_info .total_supplied_power = 510.0
70
71
chassis_info .total_consumed_power = 350.0
@@ -75,13 +76,44 @@ def test_update_master_status(self):
75
76
76
77
# Test good values while in good state
77
78
ret = chassis_info .update_master_status ()
78
- assert ret == False
79
+ assert ret == True
79
80
assert chassis_info .master_status_good == True
80
81
81
82
# Test unknown total_supplied_power (0.0)
82
83
chassis_info .total_supplied_power = 0.0
83
84
chassis_info .master_status_good = False
84
85
ret = chassis_info .update_master_status ()
86
+ assert ret == True
87
+ assert chassis_info .master_status_good == False
88
+
89
+ # Test bad values while in good state
90
+ chassis_info .total_supplied_power = 300.0
91
+ chassis_info .total_consumed_power = 350.0
92
+ chassis_info .master_status_good = True
93
+ ret = chassis_info .update_master_status ()
94
+ assert ret == True
95
+ assert chassis_info .master_status_good == False
96
+
97
+ # With first_run set as False
98
+ chassis_info .first_run = False
99
+
100
+ # Test good values while in bad state
101
+ chassis_info .total_supplied_power = 510.0
102
+ chassis_info .total_consumed_power = 350.0
103
+ chassis_info .master_status_good = False
104
+ ret = chassis_info .update_master_status ()
105
+ assert ret == True
106
+ assert chassis_info .master_status_good == True
107
+
108
+ # Test good values while in good state
109
+ ret = chassis_info .update_master_status ()
110
+ assert ret == False
111
+ assert chassis_info .master_status_good == True
112
+
113
+ # Test unknown total_supplied_power (0.0)
114
+ chassis_info .total_supplied_power = 0.0
115
+ chassis_info .master_status_good = True
116
+ ret = chassis_info .update_master_status ()
85
117
assert ret == False
86
118
assert chassis_info .master_status_good == True
87
119
@@ -91,7 +123,7 @@ def test_update_master_status(self):
91
123
chassis_info .master_status_good = False
92
124
ret = chassis_info .update_master_status ()
93
125
assert ret == False
94
- assert chassis_info .master_status_good == True
126
+ assert chassis_info .master_status_good == False
95
127
96
128
# Test bad values while in good state
97
129
chassis_info .total_supplied_power = 300.0
@@ -106,6 +138,7 @@ def test_update_master_status(self):
106
138
assert ret == False
107
139
assert chassis_info .master_status_good == False
108
140
141
+
109
142
def test_supplied_power (self ):
110
143
chassis = MockChassis ()
111
144
psu1 = MockPsu ("PSU 1" , 0 , True , True )
@@ -204,6 +237,7 @@ def test_power_budget(self):
204
237
state_db = daemon_base .db_connect ("STATE_DB" )
205
238
chassis_tbl = mock_swsscommon .Table (state_db , CHASSIS_INFO_TABLE )
206
239
chassis_info = psud .PsuChassisInfo (SYSLOG_IDENTIFIER , chassis )
240
+ chassis_info .first_run = False
207
241
208
242
# Check case where supplied_power < consumed_power
209
243
chassis_info .run_power_budget (chassis_tbl )
@@ -237,6 +271,24 @@ def test_power_budget(self):
237
271
# so we must call it on the class there.
238
272
assert psud .Psu .get_status_master_led () == MockPsu .STATUS_LED_COLOR_GREEN
239
273
274
+ def test_first_run (self ):
275
+ chassis = MockChassis ()
276
+ chassis_info = psud .PsuChassisInfo (SYSLOG_IDENTIFIER , chassis )
277
+
278
+ chassis_info .total_supplied_power = 0.0
279
+ chassis_info .total_consumed_power = 350.0
280
+ chassis_info .master_status_good = False
281
+ ret = chassis_info .update_master_status ()
282
+ assert ret == True
283
+ assert psud .Psu .get_status_master_led () == MockPsu .STATUS_LED_COLOR_RED
284
+
285
+ chassis_info .total_supplied_power = 510.0
286
+ chassis_info .total_consumed_power = 350.0
287
+ chassis_info .master_status_good = True
288
+ ret = chassis_info .update_master_status ()
289
+ assert ret == True
290
+ assert psud .Psu .get_status_master_led () == MockPsu .STATUS_LED_COLOR_GREEN
291
+
240
292
def test_get_psu_key (self ):
241
293
assert psud .get_psu_key (0 ) == psud .PSU_INFO_KEY_TEMPLATE .format (0 )
242
294
assert psud .get_psu_key (1 ) == psud .PSU_INFO_KEY_TEMPLATE .format (1 )
0 commit comments