@@ -249,9 +249,12 @@ async def test_TC_IDM_2_2(self):
249
249
250
250
for endpoint in read_request :
251
251
for cluster in read_request [endpoint ]:
252
- if endpoint != 1 or cluster != Clusters .ModeSelect : # Endpoint 1 seems an issue with ModeSelect (ServerList has an extra 4293984257)
253
- returned_attrs = sorted ([x .attribute_id for x in read_request [endpoint ][cluster ].keys () if x != Clusters .Attribute .DataVersion ])
254
- attr_list = sorted ([x for x in read_request [endpoint ][cluster ][cluster .Attributes .AttributeList ] if x != Clusters .UnitTesting .Attributes .WriteOnlyInt8u .attribute_id ])
252
+ # Endpoint 1 seems an issue with ModeSelect (ServerList has an extra 4293984257)
253
+ if endpoint != 1 or cluster != Clusters .ModeSelect :
254
+ returned_attrs = sorted ([x .attribute_id for x in read_request [endpoint ]
255
+ [cluster ].keys () if x != Clusters .Attribute .DataVersion ])
256
+ attr_list = sorted ([x for x in read_request [endpoint ][cluster ][cluster .Attributes .AttributeList ]
257
+ if x != Clusters .UnitTesting .Attributes .WriteOnlyInt8u .attribute_id ])
255
258
asserts .assert_equal (returned_attrs , attr_list , f"Mismatch for { cluster } at endpoint { endpoint } " )
256
259
257
260
# Step 6
@@ -299,14 +302,14 @@ async def test_TC_IDM_2_2(self):
299
302
300
303
asserts .assert_in (Clusters .Objects .Descriptor , read_request [0 ].keys (), "Descriptor cluster not in output" )
301
304
asserts .assert_in (Clusters .Objects .Descriptor .Attributes .ServerList ,
302
- read_request [0 ][Clusters .Objects .Descriptor ], "ServerList not in output" )
305
+ read_request [0 ][Clusters .Objects .Descriptor ], "ServerList not in output" )
303
306
304
307
for cluster in read_request [0 ]:
305
308
attribute_ids = [a .attribute_id for a in read_request [0 ]
306
- [cluster ].keys () if a != Clusters .Attribute .DataVersion ]
309
+ [cluster ].keys () if a != Clusters .Attribute .DataVersion ]
307
310
asserts .assert_equal (sorted (attribute_ids ),
308
- sorted (read_request [0 ][cluster ][cluster .Attributes .AttributeList ]),
309
- "Expected attribute list does not match actual list for cluster {cluster} on endpoint 0" )
311
+ sorted (read_request [0 ][cluster ][cluster .Attributes .AttributeList ]),
312
+ "Expected attribute list does not match actual list for cluster {cluster} on endpoint 0" )
310
313
self .verify_attribute_list_cluster (read_request , 0 , Clusters .Descriptor )
311
314
312
315
# Step 9
@@ -407,7 +410,8 @@ async def test_TC_IDM_2_2(self):
407
410
all_clusters = set (list (ClusterObjects .ALL_CLUSTERS .keys ()))
408
411
409
412
for endpoint_id , endpoint in self .endpoints .items ():
410
- dut_standard_clusters = set ([x .id for x in endpoint .keys () if global_attribute_ids .cluster_id_type (x .id ) == global_attribute_ids .ClusterIdType .kStandard ])
413
+ dut_standard_clusters = set ([x .id for x in endpoint .keys () if global_attribute_ids .cluster_id_type (
414
+ x .id ) == global_attribute_ids .ClusterIdType .kStandard ])
411
415
unsupported = [id for id in list (all_clusters - dut_standard_clusters ) if global_attribute_ids .attribute_id_type (id )
412
416
== global_attribute_ids .AttributeIdType .kStandardNonGlobal ]
413
417
if unsupported :
@@ -569,15 +573,15 @@ async def test_TC_IDM_2_2(self):
569
573
EndpointId = 0 ,
570
574
ClusterId = None ,
571
575
AttributeId = Clusters .Descriptor .Attributes .ServerList .attribute_id )
572
- # AttributeId=global_attribute_ids.GlobalAttributeIds.ATTRIBUTE_LIST_ID)
576
+ # AttributeId=global_attribute_ids.GlobalAttributeIds.ATTRIBUTE_LIST_ID)
573
577
try :
574
578
read_request = await self .default_controller .ReadAttribute (
575
579
self .dut_node_id ,
576
580
[attribute_path ]
577
581
)
578
582
except ChipStackError as e :
579
583
asserts .assert_equal (e .err , 0x580 ,
580
- "Incorrect error response for reading non-global attribute on all clusters at endpoint 0" )
584
+ "Incorrect error response for reading non-global attribute on all clusters at endpoint 0" )
581
585
582
586
# Step 30
583
587
@@ -586,11 +590,11 @@ async def test_TC_IDM_2_2(self):
586
590
587
591
# On the TH verify that the DUT sends an error message and not the value of the attribute.
588
592
self .print_step (30 , "Send the Read Request Message to the DUT to read a non global attribute from all clusters at all Endpoints" )
589
-
593
+
590
594
endpoint = 0
591
595
read_request = await self .default_controller .Read (self .dut_node_id ,
592
- [(endpoint , Clusters .AccessControl .Attributes .Acl )],
593
- )
596
+ [(endpoint , Clusters .AccessControl .Attributes .Acl )],
597
+ )
594
598
595
599
dut_acl_original = read_request .attributes [endpoint ][Clusters .AccessControl ][Clusters .AccessControl .Attributes .Acl ]
596
600
@@ -606,19 +610,22 @@ async def test_TC_IDM_2_2(self):
606
610
607
611
result = await self .default_controller .WriteAttribute (self .dut_node_id , [(endpoint , Clusters .AccessControl .Attributes .Acl (dut_acl ))])
608
612
read_request = await self .default_controller .Read (self .dut_node_id ,
609
- [(endpoint , Clusters .AccessControl .Attributes .Acl )],
610
- )
613
+ [(endpoint , Clusters .AccessControl .Attributes .Acl )],
614
+ )
615
+
611
616
asserts .assert_equal (len (read_request .attributes [0 ][Clusters .AccessControl ][Clusters .AccessControl .Attributes .Acl ]), 2 )
612
617
613
- asserts .assert_equal (type (read_request .attributes [0 ][Clusters .AccessControl ][Clusters .AccessControl .Attributes .Acl ][0 ].targets ), Clusters .Types .Nullable )
614
- asserts .assert_not_equal (type (read_request .attributes [0 ][Clusters .AccessControl ][Clusters .AccessControl .Attributes .Acl ][1 ].targets ), Clusters .Types .Nullable )
618
+ asserts .assert_equal (type (read_request .attributes [0 ][Clusters .AccessControl ]
619
+ [Clusters .AccessControl .Attributes .Acl ][0 ].targets ), Clusters .Types .Nullable )
620
+ asserts .assert_not_equal (type (read_request .attributes [0 ][Clusters .AccessControl ]
621
+ [Clusters .AccessControl .Attributes .Acl ][1 ].targets ), Clusters .Types .Nullable )
615
622
asserts .assert_equal (len (read_request .tlvAttributes [0 ][31 ][0 ]), 2 )
616
623
617
624
# attribute_path = AttributePath(
618
625
# EndpointId=0,
619
626
# ClusterId=None,
620
627
# AttributeId=Clusters.Descriptor.Attributes.ServerList.attribute_id)
621
-
628
+
622
629
# read_request = await self.default_controller.ReadAttribute(
623
630
# self.dut_node_id,
624
631
# [attribute_path]
@@ -627,12 +634,13 @@ async def test_TC_IDM_2_2(self):
627
634
# Cleanup
628
635
await self .default_controller .WriteAttribute (self .dut_node_id , [(endpoint , Clusters .AccessControl .Attributes .Acl (dut_acl_original ))])
629
636
read_request = await self .default_controller .Read (self .dut_node_id ,
630
- [(endpoint , Clusters .AccessControl .Attributes .Acl )],
631
- )
637
+ [(endpoint , Clusters .AccessControl .Attributes .Acl )],
638
+ )
632
639
asserts .assert_equal (len (read_request .tlvAttributes [0 ][31 ][0 ]), 1 )
633
640
asserts .assert_equal (len (read_request .attributes [0 ][Clusters .AccessControl ][Clusters .AccessControl .Attributes .Acl ]), 1 )
634
- asserts .assert_equal (type (read_request .attributes [0 ][Clusters .AccessControl ][Clusters .AccessControl .Attributes .Acl ][0 ].targets ), Clusters .Types .Nullable )
635
-
641
+ asserts .assert_equal (type (read_request .attributes [0 ][Clusters .AccessControl ]
642
+ [Clusters .AccessControl .Attributes .Acl ][0 ].targets ), Clusters .Types .Nullable )
643
+
636
644
# Step 31
637
645
638
646
# TH should have access to only a single cluster at one Endpoint1.
0 commit comments