diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index c54661aae78564..cfb5ae43b5b59b 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -2006,6 +2006,12 @@ PICS: - label: "Does the DUT(server) support the ProductAppearance attribute?" id: BINFO.S.A0014 + - label: "Does the DUT(server) support the SpecificationVersion attribute?" + id: BINFO.S.A0015 + + - label: "Does the DUT(server) support the MaxPathsPerInvoke attribute?" + id: BINFO.S.A0016 + ##### - label: "Does the DUT(server) support the NOC list attribute?" id: OPCREDS.S.A0000 diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml index 77dca1f2a1267d..ef66ccc6463ef9 100644 --- a/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BINFO_2_1.yaml @@ -11,7 +11,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: 11.2.1. [TC-BINFO-2.1] Attributes [DUT-Server] @@ -715,3 +714,84 @@ tests: attribute: "ProductAppearance" response: value: ProductAppearancevalue + + - label: "Step 62: TH reads SpecificationVersion from the DUT." + PICS: BINFO.S.A0015 + command: "readAttribute" + attribute: "SpecificationVersion" + response: + saveAs: SpecificationVersionValue + + - label: + "Step 62: If the SpecificationVersion value is absent or zero this + step cannot be verified, move on to the next step" + PICS: BINFO.S.A0015 + cluster: "EqualityCommands" + command: "UnsignedNumberEquals" + arguments: + values: + - name: "Value1" + value: SpecificationVersionValue + - name: "Value2" + value: null + response: + - values: + - name: "Equals" + saveAs: IsExpectedValue + + - label: + "Step 62: SpecificationVersion the value should in the inclusive range + of (0 to 4294967295) and the initial 7 bits are set to zero." + runIf: "!IsExpectedValue" + PICS: BINFO.S.A0015 + command: "readAttribute" + attribute: "SpecificationVersion" + response: + value: SpecificationVersionValue + constraints: + minValue: 0 + maxValue: 4294967295 + hasMasksClear: [0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40] + + - label: + "Step 63: TH sends Write request message to DUT to change the value of + SpecificationVersion to '0x0103AAF1'." + PICS: BINFO.S.A0015 + command: "writeAttribute" + attribute: "SpecificationVersion" + arguments: + value: "0x0103AAF1" + response: + error: UNSUPPORTED_WRITE + + - label: "Step 64: TH reads SpecificationVersion attribute from DUT" + PICS: BINFO.S.A0015 + command: "readAttribute" + attribute: "SpecificationVersion" + response: + value: SpecificationVersionValue + + - label: "Step 65: TH reads MaxPathsPerInvoke from the DUT." + PICS: BINFO.S.A0016 + command: "readAttribute" + attribute: "MaxPathsPerInvoke" + response: + saveAs: MaxPathsPerInvokeValue + + - label: + "Step 66: TH sends Write request message to DUT to change + MaxPathsPerInvoke to a different value." + PICS: BINFO.S.A0015 + command: "writeAttribute" + attribute: "MaxPathsPerInvoke" + arguments: + value: 12345 + response: + error: UNSUPPORTED_WRITE + + - label: "Step 67: TH reads MaxPathsPerInvoke attribute from DUT" + PICS: BINFO.S.A0015 + command: "readAttribute" + attribute: "MaxPathsPerInvoke" + response: + value: MaxPathsPerInvokeValue diff --git a/src/app/tests/suites/certification/Test_TC_BRBINFO_2_1.yaml b/src/app/tests/suites/certification/Test_TC_BRBINFO_2_1.yaml index 8f37c84f6f6811..2a05ca4cd2f18b 100644 --- a/src/app/tests/suites/certification/Test_TC_BRBINFO_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BRBINFO_2_1.yaml @@ -619,3 +619,35 @@ tests: attribute: "ProductAppearance" response: value: ProductAppearancevalue + + - label: + "Step 62: TH reads attribute ID 0x0015 from the DUT (matches in ID to + CapabilityMinima in the parent cluster, but is absent on the + BridgedDeviceBasicInformation cluster)." + PICS: BRBINFO.S + cluster: "AnyCommands" + command: "ReadById" + arguments: + values: + - name: "ClusterId" + value: BRBINFO.ClusterId + - name: "AttributeId" + value: 0x0015 + response: + error: UNSUPPORTED_ATTRIBUTE + + - label: + "Step 63: TH reads attribute ID 0x0016 from the DUT (matches in ID to + CapabilityMinima in the parent cluster, but is absent on the + BridgedDeviceBasicInformation cluster)." + PICS: BRBINFO.S + cluster: "AnyCommands" + command: "ReadById" + arguments: + values: + - name: "ClusterId" + value: BRBINFO.ClusterId + - name: "AttributeId" + value: 0x0016 + response: + error: UNSUPPORTED_ATTRIBUTE diff --git a/src/app/tests/suites/certification/Test_TC_SC_5_1.yaml b/src/app/tests/suites/certification/Test_TC_SC_5_1.yaml index 7bfb258663ed7c..ae81c4b90885c3 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_5_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_5_1.yaml @@ -11,14 +11,14 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: 26.1.1. [TC-SC-5.1] Adding member to a group - TH as Admin and DUT as Group Member PICS: - - MCORE.ROLE.COMMISSIONEE + - GRPKEY.S + - G.S config: nodeId: 0x12344321 @@ -45,7 +45,15 @@ tests: - name: "nodeId" saveAs: commissionerNodeId - - label: "Step 1: TH adds ACL Operate privileges for Group 0x0103" + - label: + "Step 1: TH writes the ACL attribute in the Access Control cluster to + add Operate privileges for group 0x0103 and maintain the current + administrative privileges for the TH. The following access control + list shall be used: List item 1 (TH admin): 1)Privilege: Administer + (5) 2)AuthMode: CASE (2) 3)Subjects: TH node id ([N1]) 4)Targets: all + (null) List item 2 (group operate access): 1)Privilege: Operate (3) + 2)AuthMode: Group (3) 3)Subjects: group 0x0103 ([0x0103]) 4)Targets: + all (null)" cluster: "Access Control" command: "writeAttribute" attribute: "ACL" @@ -68,7 +76,16 @@ tests: }, ] - - label: "Step 2a: TH sends KeySetWrite command with incorrect key" + - label: + "Step 2a: TH sends KeySetWrite command in the GroupKeyManagement + cluster to DUT using a key that is NOT installed on the TH. This is + intended to test that the key set is correctly updated in the next + step. GroupKeySet fields are as follows: 1)GroupKeySetID: 0x01a3 + 2)GroupKeySecurityPolicy: TrustFirst (0) 3)EpochKey0: + 00000000000000000000000000000001 4)EpochStartTime0: 111 5)EpochKey1: + 00000000000000000000000000000002 6)EpochStartTime1: 222 7)EpochKey2: + 00000000000000000000000000000003 8)EpochStartTime2: 333" + PICS: GRPKEY.S.C00.Rsp cluster: "Group Key Management" command: "KeySetWrite" arguments: @@ -86,7 +103,16 @@ tests: EpochStartTime2: 333, } - - label: "Step 2b: TH sends KeySetWrite command with TH key" + - label: + "Step 2b: TH sends KeySetWrite command in the GroupKeyManagement + cluster to DUT using a key that is pre-installed on the TH. + GroupKeySet fields are as follows: 1)GroupKeySetID: 0x01a3 + 2)GroupKeySecurityPolicy: TrustFirst (0) 3)EpochKey0: + d0d1d2d3d4d5d6d7d8d9dadbdcdddedf 4)EpochStartTime0: 1 5)EpochKey1: + d1d1d2d3d4d5d6d7d8d9dadbdcdddedf 6)EpochStartTime1: + 18446744073709551613 7)EpochKey2: d2d1d2d3d4d5d6d7d8d9dadbdcdddedf + 8)EpochStartTime2: 18446744073709551614" + PICS: GRPKEY.S.C00.Rsp cluster: "Group Key Management" command: "KeySetWrite" arguments: @@ -104,7 +130,12 @@ tests: EpochStartTime2: 18446744073709551614, } - - label: "Step 3: TH binds GroupId to GroupKeySet" + - label: + "Step 3: TH binds GroupId 0x0103 with GroupKeySetID 0x01a3 in the + GroupKeyMap attribute list on GroupKeyManagement cluster by writing + the GroupKeyMap attribute with one entry as follows: List item 1: + 1)GroupId: 0x0103 2)GroupKeySetId: 0x01a3" + PICS: GRPKEY.S.A0000 cluster: "Group Key Management" command: "writeAttribute" attribute: "GroupKeyMap" @@ -114,10 +145,14 @@ tests: - label: "Step 4: TH sends RemoveAllGroups command to the DUT on PIXIT.G.ENDPOINT " + PICS: G.S.C04.Rsp endpoint: Groups.Endpoint command: "RemoveAllGroups" - - label: "Step 5: TH sends AddGroup command to DUT on PIXIT.G.ENDPOINT" + - label: + "Step 5: TH sends AddGroup Command to DUT on PIXIT.G.ENDPOINT with the + the following settings 1)GroupID: 0x0103 2)GroupName: 'Test Group'" + PICS: G.S.C00.Rsp endpoint: Groups.Endpoint command: "AddGroup" arguments: @@ -127,8 +162,10 @@ tests: - name: GroupName value: "Test Group" - - label: "Step 6a: TH sends ViewGroup command to DUT on PIXIT.G.ENDPOINT" - PICS: G.S.F00 + - label: + "Step 6a: TH sends ViewGroup command with the GroupID to the Group + cluster on the DUT on PIXIT.G.ENDPOINT" + PICS: G.S.F00 && G.S.C01.Rsp endpoint: Groups.Endpoint command: "ViewGroup" arguments: @@ -144,8 +181,10 @@ tests: - name: GroupName value: "Test Group" - - label: "Step 6b: TH sends ViewGroup command to DUT on PIXIT.G.ENDPOINT" - PICS: "!(G.S.F00)" + - label: + "Step 6b: TH sends ViewGroup command with the GroupID to the Group + cluster on the DUT on PIXIT.G.ENDPOINT" + PICS: " !G.S.F00 && G.S.C01.Rsp " endpoint: Groups.Endpoint command: "ViewGroup" arguments: @@ -161,7 +200,10 @@ tests: - name: GroupName value: "" - - label: "Step 7: TH sends KeySetRead" + - label: + "Step 7: TH sends KeySetRead command to GroupKeyManagement cluster + with GroupKeySetID as 0x01a3" + PICS: GRPKEY.S.C01.Rsp cluster: "Group Key Management" command: "KeySetRead" arguments: @@ -185,16 +227,19 @@ tests: - label: "Step 8: TH reads GroupKeyMap Attribute from the GroupKeyManagement - cluster" + cluster from DUT" + PICS: GRPKEY.S.A0000 cluster: "Group Key Management" command: "readAttribute" attribute: "GroupKeyMap" response: value: [{ FabricIndex: 1, GroupId: 0x0103, GroupKeySetID: 0x01a3 }] - - label: "Step 9a: TH reads GroupTable attribute" + - label: + "Step 9a: TH reads GroupTable attribute from GroupKeyManagement + cluster on DUT using a fabric-filtered read." cluster: "Group Key Management" - PICS: G.S.F00 + PICS: G.S.F00 && GRPKEY.S.A0001 command: "readAttribute" attribute: "GroupTable" response: @@ -207,16 +252,22 @@ tests: }, ] - - label: "Step 9b: TH reads GroupTable attribute" + - label: + "Step 9b: TH reads GroupTable attribute from GroupKeyManagement + cluster on DUT using a fabric-filtered read." cluster: "Group Key Management" - PICS: " !G.S.F00 " + PICS: " !G.S.F00 && GRPKEY.S.A0001 " command: "readAttribute" attribute: "GroupTable" response: value: [{ GroupId: 0x0103, Endpoints: [Groups.Endpoint], GroupName: "" }] - - label: "Step 10: TH removes the GroupKeySet" + - label: + "Step 10: TH removes the Group key set that was added by sending a + KeySetRemove command to the GroupKeyManagement cluster with the + GroupKeySetID field set to 0x01a3" + PICS: GRPKEY.S.C03.Rsp cluster: "Group Key Management" command: "KeySetRemove" arguments: @@ -225,8 +276,11 @@ tests: value: 0x01a3 - label: - "Step 11: TH verifies the corresponding GroupKeyMap entry has been - removed" + "Step 11: TH verifies that the key set removal in step 10 also removed + the corresponding entries in the GroupKeyMap by Reading the + GroupKeyMap attribute from the GroupKeyManagement cluster using a + fabric-filtered read." + PICS: GRPKEY.S.A0000 cluster: "Group Key Management" command: "readAttribute" attribute: "GroupKeyMap" @@ -236,17 +290,28 @@ tests: - label: "Step 12: TH cleans up groups using RemoveAllGroups command to the DUT on PIXIT.G.ENDPOINT" + PICS: G.S.C04.Rsp endpoint: Groups.Endpoint command: "RemoveAllGroups" - - label: "Step 13: TH verifies the group has been removed in the GroupTable" + - label: + "Step 13: TH reads verifies the group has been removed by reading the + GroupTable attribute from GroupKeyManagement cluster on DUT using a + fabric-filtered read." + PICS: GRPKEY.S.A0001 cluster: "Group Key Management" command: "readAttribute" attribute: "GroupTable" response: value: [] - - label: "Step 14: TH removes ACL Operate privileges for Group 0x0103" + - label: + "Step 14: TH writes the ACL attribute in the Access Control cluster to + remove Operate privileges for group 0x0103 and maintain the current + administrative privileges for the TH. The following access control + list shall be used: List item 1 (TH admin): 1)Privilege: Administer + (5) 2)AuthMode: CASE (2) 3)Subjects: TH node id ([N1]) 4)Targets: all + (null)" cluster: "Access Control" command: "writeAttribute" attribute: "ACL" diff --git a/src/app/tests/suites/certification/Test_TC_SC_5_2.yaml b/src/app/tests/suites/certification/Test_TC_SC_5_2.yaml index 83a3dd76adb12e..b558b0b9111446 100644 --- a/src/app/tests/suites/certification/Test_TC_SC_5_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_SC_5_2.yaml @@ -46,11 +46,11 @@ tests: "Step 1: TH writes the ACL attribute in the Access Control cluster to add Manage privileges for group 0x0103 and maintain the current administrative privileges for the TH. The following access control - list shall be used : List item 1 (TH admin): a)Privilege: Administer - (5) b)AuthMode: CASE (2) c)Subjects: TH node id ([N1]) d)Targets: all - (null) List item 2 (group operate access): a)Privilege: Manage (4) - b)AuthMode: Group (3) c)Subjects: group 0x0103 ([0x0103]) d)Targets: - all (null) " + list shall be used: List item 1 (TH admin): 1)Privilege: Administer + (5) 2)AuthMode: CASE (2) 3)Subjects: TH node id ([N1]) 4)Targets: all + (null) List item 2 (group operate access): 1)Privilege: Manage (4) + 2)AuthMode: Group (3) 3)Subjects: group 0x0103 ([0x0103]) 4)Targets: + all (null)" cluster: "Access Control" command: "writeAttribute" attribute: "ACL" @@ -76,11 +76,13 @@ tests: - label: "Step 2: TH sends KeySetWrite command in the GroupKeyManagement cluster to DUT using a key that is pre-installed on the TH. - GroupKeySet fields are as follows : a)GroupKeySetID: 0x01a3 - b)GroupKeySecurityPolicy: TrustFirst (0) c)EpochStartTime0:1 - d)EpochKey1:d1d1d2d3d4d5d6d7d8d9dadbdcdddedf e)EpochStartTime1: - 18446744073709551613 f)EpochKey2: d2d1d2d3d4d5d6d7d8d9dadbdcdddedf - g)EpochStartTime2: 18446744073709551614 " + GroupKeySet fields are as follows: 1)GroupKeySetID: 0x01a3 + 2)GroupKeySecurityPolicy: TrustFirst (0) 3)EpochKey0: + d0d1d2d3d4d5d6d7d8d9dadbdcdddedf 4)EpochStartTime0:1 5)EpochKey1: + d1d1d2d3d4d5d6d7d8d9dadbdcdddedf 6)EpochStartTime1: + 18446744073709551613 7)EpochKey2: d2d1d2d3d4d5d6d7d8d9dadbdcdddedf + 8)EpochStartTime2: 18446744073709551614" + PICS: GRPKEY.S.C00.Rsp cluster: "Group Key Management" command: "KeySetWrite" arguments: @@ -101,9 +103,10 @@ tests: - label: "Step 3: TH binds GroupId 0x0103 and 0x0101 with GroupKeySetID 0x01a3 in the GroupKeyMap attribute list on GroupKeyManagement cluster by - writing the GroupKeyMap attribute with 2 entries as follows : List - item 1 : a)GroupId: 0x0103 b)GroupKeySetId: 0x01a3 List item 2: - a)GroupId: 0x0101 b)GroupKeySetId: 0x01a3" + writing the GroupKeyMap attribute with 2 entries as follows: List item + 1: 1)GroupId: 0x0103 2)GroupKeySetId: 0x01a3 List item 2: 1)GroupId: + 0x0101 2)GroupKeySetId: 0x01a3" + PICS: GRPKEY.S.A0000 cluster: "Group Key Management" command: "writeAttribute" attribute: "GroupKeyMap" @@ -117,6 +120,7 @@ tests: - label: "Step 4: TH cleans up the groups by sending the RemoveAllGroups command to the DUT on PIXIT.G.ENDPOINT" + PICS: G.S.C04.Rsp endpoint: Groups.Endpoint command: "RemoveAllGroups" @@ -124,6 +128,7 @@ tests: "Step 5: TH sends AddGroup Command to DUT on PIXIT.G.ENDPOINT with the the following settings 1)GroupID: 0x0103 2)GroupName: 'Test Group 0103'" + PICS: G.S.C00.Rsp endpoint: Groups.Endpoint command: "AddGroup" arguments: @@ -143,6 +148,7 @@ tests: "Step 6: TH sends a AddGroup Command to the Groups cluster with the GroupID field set to 0x0101 and the GroupName set to an 'Test Group 0101'. The command is sent as a group command using GroupID 0x0103" + PICS: G.S.C00.Rsp groupId: 0x0103 command: "AddGroup" arguments: @@ -176,8 +182,8 @@ tests: - label: "Step 7: TH sends a ViewGroup Command to the Groups cluster on Endpoint PIXIT.G.ENDPOINT over CASE with the GroupID set to 0x0101 to - confirm that the AddGroup command from step 6 was successful " - PICS: G.S.F00 + confirm that the AddGroup command from step 6 was successful" + PICS: G.S.F00 && G.S.C01.Rsp endpoint: Groups.Endpoint command: "ViewGroup" arguments: @@ -197,7 +203,7 @@ tests: "Step 8: TH sends a ViewGroup Command to the Groups cluster on Endpoint PIXIT.G.ENDPOINT over CASE with the GroupID set to 0x0101 to confirm that the AddGroup command from step 6 was successful " - PICS: "!(G.S.F00)" + PICS: " !G.S.F00 && G.S.C01.Rsp " endpoint: Groups.Endpoint command: "ViewGroup" arguments: @@ -217,6 +223,7 @@ tests: "Step 9: TH removes the Group key set that was added by sending a KeySetRemove command to the GroupKeyManagement cluster with the GroupKeySetID field set to 0x01a3" + PICS: GRPKEY.S.C03.Rsp cluster: "Group Key Management" command: "KeySetRemove" arguments: @@ -227,6 +234,7 @@ tests: - label: "Step 10: TH cleans up the groups by sending the RemoveAllGroups command to the DUT on PIXIT.G.ENDPOINT" + PICS: G.S.C04.Rsp endpoint: Groups.Endpoint command: "RemoveAllGroups" @@ -234,9 +242,9 @@ tests: "Step 11: TH writes the ACL attribute in the Access Control cluster to remove Manage privileges for group 0x0103 and maintain the current administrative privileges for the TH. The following access control - list shall be used : List item 1 (TH admin): a)Privilege: Administer - (5) b)AuthMode: CASE (2) c)Subjects: TH node id ([N1]) d)Targets: - all (null)" + list shall be used: List item 1 (TH admin): 1)Privilege: Administer + (5) 2)AuthMode: CASE (2) 3)Subjects: TH node id ([N1]) 4)Targets: all + (null)" cluster: "Access Control" command: "writeAttribute" attribute: "ACL" diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 50aff04b195f72..a436499adb166d 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -1629,6 +1629,8 @@ BINFO.S.A0011=0 BINFO.S.A0012=1 BINFO.S.A0013=1 BINFO.S.A0014=1 +BINFO.S.A0015=1 +BINFO.S.A0016=1 # Events BINFO.S.E00=1