@@ -64,15 +64,10 @@ def is_valid_bssid(bssid) -> bool:
64
64
return False
65
65
66
66
def assert_valid_bssid (self , value , field_name ):
67
- """Asserts that the value is a valid BSSID (MAC address), None, or NullValue."""
68
- if isinstance (value , Nullable ):
69
- if value == NullValue :
70
- return
71
- value = value .Value
72
-
73
- if value is not None :
67
+ """Asserts that the value is a valid BSSID (MAC address), or NullValue."""
68
+ if value is not NullValue :
74
69
asserts .assert_true (self .is_valid_bssid (value ),
75
- f"{ field_name } should be a valid BSSID string (e.g., '00:11:22:33:44:55') or None/ NullValue." )
70
+ f"{ field_name } should be a valid BSSID string (e.g., '00:11:22:33:44:55') or NullValue." )
76
71
77
72
async def read_dgwifi_attribute_expect_success (self , endpoint , attribute ):
78
73
cluster = Clusters .Objects .WiFiNetworkDiagnostics
@@ -134,76 +129,60 @@ async def test_TC_DGWIFI_2_1(self):
134
129
# SecurityType is an enum. If the interface is not operational, it could be NULL.
135
130
# If not NULL, we expect an integer in the SecurityType enum range.
136
131
# Just do a minimal check here; you can refine or extend based on the spec.
137
- if security_type is not None :
138
- asserts .assert_true (isinstance (security_type , Nullable ),
139
- "SecurityType must be of type 'Nullable' when not None." )
140
-
141
- if security_type is not NullValue :
142
- security_type_value = security_type .Value
143
- self .assert_valid_uint8 (security_type_value , "SecurityType" )
144
-
145
- # Check if the security_type is a valid SecurityTypeEnum member
146
- self .assert_true (
147
- security_type_value in [item .value for item in Clusters .Objects .WiFiNetworkDiagnostics .Enums .SecurityTypeEnum ],
148
- f"SecurityType { security_type_value } is not a valid SecurityTypeEnum value"
149
- )
150
-
151
- # Additional check that it's not kUnknownEnumValue:
152
- self .assert_true (
153
- security_type_value != Clusters .Objects .WiFiNetworkDiagnostics .Enums .SecurityTypeEnum .kUnknownEnumValue .value ,
154
- f"SecurityType should not be kUnknownEnumValue "
155
- f"({ Clusters .Objects .WiFiNetworkDiagnostics .Enums .SecurityTypeEnum .kUnknownEnumValue .value } )"
156
- )
132
+ if security_type is not NullValue :
133
+ security_type_value = security_type .Value
134
+ self .assert_valid_uint8 (security_type_value , "SecurityType" )
135
+
136
+ # Check if the security_type is a valid SecurityTypeEnum member
137
+ self .assert_true (
138
+ security_type_value in [item .value for item in Clusters .Objects .WiFiNetworkDiagnostics .Enums .SecurityTypeEnum ],
139
+ f"SecurityType { security_type_value } is not a valid SecurityTypeEnum value"
140
+ )
141
+
142
+ # Additional check that it's not kUnknownEnumValue:
143
+ self .assert_true (
144
+ security_type_value != Clusters .Objects .WiFiNetworkDiagnostics .Enums .SecurityTypeEnum .kUnknownEnumValue .value ,
145
+ f"SecurityType should not be kUnknownEnumValue "
146
+ f"({ Clusters .Objects .WiFiNetworkDiagnostics .Enums .SecurityTypeEnum .kUnknownEnumValue .value } )"
147
+ )
157
148
158
149
#
159
150
# STEP 4: TH reads WiFiVersion attribute
160
151
#
161
152
self .step (4 )
162
153
wifi_version = await self .read_dgwifi_attribute_expect_success (endpoint = endpoint , attribute = attributes .WiFiVersion )
163
154
# WiFiVersion is an enum. If not configured or operational, might be NULL.
164
- if wifi_version is not None :
165
- asserts .assert_true (isinstance (wifi_version , Nullable ),
166
- "WiFiVersion must be of type 'Nullable' when not None." )
167
-
168
- if wifi_version is not NullValue :
169
- wifi_version_value = wifi_version .Value
170
- self .assert_valid_uint8 (wifi_version_value , "WiFiVersion" )
155
+ if wifi_version is not NullValue :
156
+ wifi_version_value = wifi_version .Value
157
+ self .assert_valid_uint8 (wifi_version_value , "WiFiVersion" )
171
158
172
- # Check if the wifi_version is a valid WiFiVersionEnum member
173
- self .assert_true (wifi_version_value in [item .value for item in Clusters .Objects .WiFiNetworkDiagnostics .Enums .WiFiVersionEnum ],
174
- f"WiFiVersion { wifi_version_value } is not a valid WiFiVersionEnum value" )
159
+ # Check if the wifi_version is a valid WiFiVersionEnum member
160
+ self .assert_true (wifi_version_value in [item .value for item in Clusters .Objects .WiFiNetworkDiagnostics .Enums .WiFiVersionEnum ],
161
+ f"WiFiVersion { wifi_version_value } is not a valid WiFiVersionEnum value" )
175
162
176
- # Additional check that it's not kUnknownEnumValue:
177
- self .assert_true (wifi_version_value != Clusters .Objects .WiFiNetworkDiagnostics .Enums .WiFiVersionEnum .kUnknownEnumValue .value ,
178
- f"WiFiVersion should not be kUnknownEnumValue ({ Clusters .Objects .WiFiNetworkDiagnostics .Enums .WiFiVersionEnum .kUnknownEnumValue .value } )" )
163
+ # Additional check that it's not kUnknownEnumValue:
164
+ self .assert_true (wifi_version_value != Clusters .Objects .WiFiNetworkDiagnostics .Enums .WiFiVersionEnum .kUnknownEnumValue .value ,
165
+ f"WiFiVersion should not be kUnknownEnumValue ({ Clusters .Objects .WiFiNetworkDiagnostics .Enums .WiFiVersionEnum .kUnknownEnumValue .value } )" )
179
166
180
167
#
181
168
# STEP 5: TH reads ChannelNumber attribute
182
169
#
183
170
self .step (5 )
184
171
channel_number = await self .read_dgwifi_attribute_expect_success (endpoint = endpoint , attribute = attributes .ChannelNumber )
185
172
# If not operational, might be NULL. Else we expect an unsigned integer channel.
186
- if channel_number is not None :
187
- asserts .assert_true (isinstance (channel_number , Nullable ),
188
- "ChannelNumber must be of type 'Nullable' when not None." )
189
-
190
- if channel_number is not NullValue :
191
- self .assert_valid_uint16 (channel_number .Value , "ChannelNumber" )
173
+ if channel_number is not NullValue :
174
+ self .assert_valid_uint16 (channel_number .Value , "ChannelNumber" )
192
175
193
176
#
194
177
# STEP 6: TH reads RSSI attribute
195
178
#
196
179
self .step (6 )
197
180
rssi = await self .read_dgwifi_attribute_expect_success (endpoint = endpoint , attribute = attributes .Rssi )
198
181
# RSSI is typically a signed integer (dB). If not operational, might be NULL.
199
- if rssi is not None :
200
- asserts .assert_true (isinstance (rssi , Nullable ),
201
- "RSSI must be of type 'Nullable' when not None." )
202
-
203
- if rssi is not NullValue :
204
- rssi_value = rssi .Value
205
- asserts .assert_true (isinstance (rssi_value , int ) and - 120 <= rssi_value <= 0 ,
206
- "rssi_value is not within valid range." )
182
+ if rssi is not NullValue :
183
+ rssi_value = rssi .Value
184
+ asserts .assert_true (isinstance (rssi_value , int ) and - 120 <= rssi_value <= 0 ,
185
+ "rssi_value is not within valid range." )
207
186
208
187
#
209
188
# STEP 7: TH reads BeaconLostCount attribute
0 commit comments