# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# 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:
    125.2.2. [TC-G-2.2] Commands - AddGroup, ViewGroup, RemoveGroup,
    RemoveAllGroups [DUT-Server]

PICS:
    - G.S

config:
    nodeId: 0x12344321
    cluster: "Basic Information"
    endpoint: 0

tests:
    - label:
          "Precondition: TH reads the MaxGroupsPerFabric from Group key
          Management Cluster and saves it as maxgroups"
      verification: |
          ./chip-tool groupkeymanagement read max-groups-per-fabric 1 0

          Verify the "MaxGroupsPerFabric value" on the TH(Chip-tool)  Log:

          [1658322885.576847][4918:4923] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0002 DataVersion: 3844079670
          [1658322885.576907][4918:4923] CHIP:TOO:   MaxGroupsPerFabric: 3
      disabled: true

    - label:
          "Precondition: If maxgroups>1, proceed with the following steps TH
          generates fabric-unique GroupID, GroupName, random key, EpochKey0 and
          GroupKeySetID. TH generates an EpochKey and saves as
          epoch_key_set1_epoch0, TH sends a KeySetWriteCommand to the Group Key
          Management cluster with the following fields set in the GroupKeySet
          struct: GroupKeySetId is 1, EpochKey0 is epoch_key_set0_epoch0,
          GroupKeySecurityPolicy = TrustFirst (1) GroupKeyMulticastPolicy =
          PerGroupID (0) EpochStartTime0 = 0,TH binds GroupId(0x0001 to
          (maxgroups+1)) with GroupKeySetID in the GroupKeyMap attribute list on
          GroupKeyManagement cluster with the values provided in the above steps"
      verification: |
          Execute the following command in TH to generate the pre-condition to execute this test case:

          ./chip-tool groupkeymanagement key-set-write "{"groupKeySetID": 1,
          "groupKeySecurityPolicy": 0, "epochKey0":
          "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1":
          "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2":
          "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }" 1 0

          Verify the "status is success" on the TH(Chip-tool)  Log:

          [1658316948.574526][4039:4044] CHIP:DMG:                                StatusIB =
          [1658316948.574561][4039:4044] CHIP:DMG:                                {
          [1658316948.574597][4039:4044] CHIP:DMG:                                   status = 0x00 (SUCCESS),
          [1658316948.574632][4039:4044] CHIP:DMG:                                },

          Before adding the Groups (0x0001,0x0002) execute this command

          ./chip-tool groupkeymanagement write group-key-map "[{"groupId": 1, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":2, "groupKeySetID": 1, "fabricIndex": 1} ]" 1 0

          Verify the "status is success" on the TH(Chip-tool)  Log:

          [1663071507.364542][23693:23698] CHIP:DMG: WriteClient moving to [ResponseRe]
          [1663071507.364603][23693:23698] CHIP:DMG: WriteResponseMessage =
          [1663071507.364635][23693:23698] CHIP:DMG: {
          [1663071507.364661][23693:23698] CHIP:DMG:         AttributeStatusIBs =
          [1663071507.364699][23693:23698] CHIP:DMG:         [
          [1663071507.364728][23693:23698] CHIP:DMG:                 AttributeStatusIB =
          [1663071507.364768][23693:23698] CHIP:DMG:                 {
          [1663071507.364799][23693:23698] CHIP:DMG:                         AttributePathIB =
          [1663071507.364838][23693:23698] CHIP:DMG:                         {
          [1663071507.364876][23693:23698] CHIP:DMG:                                 Endpoint = 0x0,
          [1663071507.364921][23693:23698] CHIP:DMG:                                 Cluster = 0x3f,
          [1663071507.364961][23693:23698] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1663071507.365002][23693:23698] CHIP:DMG:                         }
          [1663071507.365044][23693:23698] CHIP:DMG:
          [1663071507.365079][23693:23698] CHIP:DMG:                         StatusIB =
          [1663071507.365121][23693:23698] CHIP:DMG:                         {
          [1663071507.365164][23693:23698] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1663071507.365201][23693:23698] CHIP:DMG:                         },
          [1663071507.365243][23693:23698] CHIP:DMG:
          [1663071507.365275][23693:23698] CHIP:DMG:                 },
          [1663071507.365320][23693:23698] CHIP:DMG:
          [1663071507.365351][23693:23698] CHIP:DMG:                 AttributeStatusIB =
          [1663071507.365385][23693:23698] CHIP:DMG:                 {
          [1663071507.365417][23693:23698] CHIP:DMG:                         AttributePathIB =
          [1663071507.365453][23693:23698] CHIP:DMG:                         {
          [1663071507.365489][23693:23698] CHIP:DMG:                                 Endpoint = 0x0,
          [1663071507.365532][23693:23698] CHIP:DMG:                                 Cluster = 0x3f,
          [1663071507.365574][23693:23698] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1663071507.365612][23693:23698] CHIP:DMG:                                 ListIndex = Null,
          [1663071507.365652][23693:23698] CHIP:DMG:                         }
          [1663071507.365696][23693:23698] CHIP:DMG:
          [1663071507.365735][23693:23698] CHIP:DMG:                         StatusIB =
          [1663071507.365773][23693:23698] CHIP:DMG:                         {
          [1663071507.365810][23693:23698] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1663071507.365846][23693:23698] CHIP:DMG:                         },
          [1663071507.365883][23693:23698] CHIP:DMG:
          [1663071507.365915][23693:23698] CHIP:DMG:                 },
          [1663071507.365958][23693:23698] CHIP:DMG:
          [1663071507.365987][23693:23698] CHIP:DMG:                 AttributeStatusIB =
          [1663071507.366017][23693:23698] CHIP:DMG:                 {
          [1663071507.366047][23693:23698] CHIP:DMG:                         AttributePathIB =
          [1663071507.366082][23693:23698] CHIP:DMG:                         {
          [1663071507.366121][23693:23698] CHIP:DMG:                                 Endpoint = 0x0,
          [1663071507.366164][23693:23698] CHIP:DMG:                                 Cluster = 0x3f,
          [1663071507.366204][23693:23698] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1663071507.366243][23693:23698] CHIP:DMG:                                 ListIndex = Null,
          [1663071507.366280][23693:23698] CHIP:DMG:                         }
          [1663071507.366319][23693:23698] CHIP:DMG:
          [1663071507.366355][23693:23698] CHIP:DMG:                         StatusIB =
          [1663071507.366390][23693:23698] CHIP:DMG:                         {
          [1663071507.366428][23693:23698] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1663071507.366466][23693:23698] CHIP:DMG:                         },


          Before adding the Groups (0x0003) execute this command

          ./chip-tool groupkeymanagement write group-key-map "[{"groupId": 3, "groupKeySetID": 1, "fabricIndex": 1}]" 1 0


          Verify the "status is success" on the TH(Chip-tool)  Log:

          [1663071565.926340][23704:23709] CHIP:DMG: WriteClient moving to [ResponseRe]
          [1663071565.926399][23704:23709] CHIP:DMG: WriteResponseMessage =
          [1663071565.926427][23704:23709] CHIP:DMG: {
          [1663071565.926464][23704:23709] CHIP:DMG:         AttributeStatusIBs =
          [1663071565.926498][23704:23709] CHIP:DMG:         [
          [1663071565.926535][23704:23709] CHIP:DMG:                 AttributeStatusIB =
          [1663071565.926568][23704:23709] CHIP:DMG:                 {
          [1663071565.926609][23704:23709] CHIP:DMG:                         AttributePathIB =
          [1663071565.926689][23704:23709] CHIP:DMG:                         {
          [1663071565.926730][23704:23709] CHIP:DMG:                                 Endpoint = 0x0,
          [1663071565.926775][23704:23709] CHIP:DMG:                                 Cluster = 0x3f,
          [1663071565.926814][23704:23709] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1663071565.926909][23704:23709] CHIP:DMG:                         }
          [1663071565.926961][23704:23709] CHIP:DMG:
          [1663071565.926993][23704:23709] CHIP:DMG:                         StatusIB =
          [1663071565.927037][23704:23709] CHIP:DMG:                         {
          [1663071565.927074][23704:23709] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1663071565.927116][23704:23709] CHIP:DMG:                         },
          [1663071565.927153][23704:23709] CHIP:DMG:
          [1663071565.927191][23704:23709] CHIP:DMG:                 },
          [1663071565.927230][23704:23709] CHIP:DMG:
          [1663071565.927265][23704:23709] CHIP:DMG:                 AttributeStatusIB =
          [1663071565.927295][23704:23709] CHIP:DMG:                 {
          [1663071565.927332][23704:23709] CHIP:DMG:                         AttributePathIB =
          [1663071565.927365][23704:23709] CHIP:DMG:                         {
          [1663071565.927406][23704:23709] CHIP:DMG:                                 Endpoint = 0x0,
          [1663071565.927442][23704:23709] CHIP:DMG:                                 Cluster = 0x3f,
          [1663071565.927487][23704:23709] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1663071565.927524][23704:23709] CHIP:DMG:                                 ListIndex = Null,
          [1663071565.927570][23704:23709] CHIP:DMG:                         }
          [1663071565.927607][23704:23709] CHIP:DMG:
          [1663071565.927651][23704:23709] CHIP:DMG:                         StatusIB =
          [1663071565.927686][23704:23709] CHIP:DMG:                         {
          [1663071565.927728][23704:23709] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1663071565.927760][23704:23709] CHIP:DMG:                         },



          After executing all commands related to the above three groups, execute the below command before adding the Group 0x0004 to check the Resource_Exhausted Condition


          ./chip-tool groupkeymanagement write group-key-map "[{"groupId": 4, "groupKeySetID": 1, "fabricIndex": 1}]" 1 0

          Verify the "status is success" on the TH(Chip-tool)  Log:

          [1658323590.007082][4982:4987] CHIP:DMG:                        StatusIB =
          [1658323590.007117][4982:4987] CHIP:DMG:                        {
          [1658323590.007156][4982:4987] CHIP:DMG:                                status = 0x00 (SUCCESS),
          [1658323590.007196][4982:4987] CHIP:DMG:                        },
          [1658323590.006453][4982:4987] CHIP:DMG:                        StatusIB =
          [1658323590.006489][4982:4987] CHIP:DMG:                        {
          [1658323590.006527][4982:4987] CHIP:DMG:                                status = 0x00 (SUCCESS),
          [1658323590.006562][4982:4987] CHIP:DMG:                        },
      disabled: true

    - label:
          "If maxgroups>0, TH sends AddGroup command to DUT as unicast with the
          following fields : GroupID as 0x0001 GroupName as Gp1"
      PICS: G.S.C00.Rsp && G.S.C00.Tx
      verification: |
          ./chip-tool groups add-group 0x0001 grp1 1 1

          Verify the "status is success" on the TH(Chip-tool)  Log  and  Group ID is in the inclusive range of 0x0001 to 0xffff ,below is the sample log provided for the raspi platform:

          [1651218084.427102][2526:2531] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000
          [1651218084.427203][2526:2531] CHIP:TOO:   AddGroupResponse: {
          [1651218084.427241][2526:2531] CHIP:TOO:     status: 0
          [1651218084.427264][2526:2531] CHIP:TOO:     groupId: 1
          [1651218084.427314][2526:2531] CHIP:TOO:    }
      disabled: true

    - label:
          "If maxgroups > 0, TH reads GroupTable attribute from the
          GroupKeyManagement cluster from DUT on PIXIT.G.ENDPOINT"
      PICS: GRPKEY.S.A0001
      verification: |
          ./chip-tool groupkeymanagement read group-table 1 0

          Verify the "grouptable entries" on the TH(Chip-tool)  Log  ,GroupId as 0x0001 and below is the sample log provided for the raspi platform:

          [1651218198.062850][2538:2543] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 2261933069
          [1651218198.062980][2538:2543] CHIP:TOO:   GroupTable: 1 entries
          [1651218198.067019][2538:2543] CHIP:TOO:     [1]: {
          [1651218198.067076][2538:2543] CHIP:TOO:       GroupId: 1
          [1651218198.067123][2538:2543] CHIP:TOO:       Endpoints: 1 entries
          [1651218198.067192][2538:2543] CHIP:TOO:         [1]: 1
          [1651218198.067241][2538:2543] CHIP:TOO:       GroupName: grp1
          [1651218198.067284][2538:2543] CHIP:TOO:       FabricIndex: 1
          [1651218198.067327][2538:2543] CHIP:TOO:      }
      disabled: true

    - label:
          "If maxgroups>1, TH sends AddGroup command to DUT as unicast with the
          following fields : GroupID as 0x0002 GroupName as Gp2"
      PICS: G.S.C00.Rsp && G.S.C00.Tx
      verification: |
          ./chip-tool groups add-group 0x0002 grp2 1 1

          Verify the "status is success" on the TH(Chip-tool)  Log  and Group ID is in the inclusive range of 0x0001 to 0xffff, below is the sample log provided for the raspi platform:

          [1653484028.897698][11275:11280] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000
          [1653484028.897804][11275:11280] CHIP:TOO:   AddGroupResponse: {
          [1653484028.897851][11275:11280] CHIP:TOO:     status: 0
          [1653484028.897884][11275:11280] CHIP:TOO:     groupId: 2
          [1653484028.897917][11275:11280] CHIP:TOO:    }
      disabled: true

    - label:
          "If maxgroups > 1 TH reads GroupTable attribute from the
          GroupKeyManagement cluster from DUT on PIXIT.G.ENDPOINT"
      PICS: GRPKEY.S.A0001
      verification: |
          ./chip-tool groupkeymanagement read group-table 1 0

          Verify the "grouptable entries" on the TH(Chip-tool)  Log and GroupId as 0x0002, below is the sample log provided for the raspi platform:

          [1653484065.934504][11281:11286] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390
          [1653484065.934631][11281:11286] CHIP:TOO:   GroupTable: 2 entries
          [1653484065.937522][11281:11286] CHIP:TOO:     [1]: {
          [1653484065.937573][11281:11286] CHIP:TOO:       GroupId: 1
          [1653484065.937615][11281:11286] CHIP:TOO:       Endpoints: 1 entries
          [1653484065.937678][11281:11286] CHIP:TOO:         [1]: 1
          [1653484065.937723][11281:11286] CHIP:TOO:       GroupName: grp1
          [1653484065.937763][11281:11286] CHIP:TOO:       FabricIndex: 1
          [1653484065.937802][11281:11286] CHIP:TOO:      }
          [1653484065.937854][11281:11286] CHIP:TOO:     [2]: {
          [1653484065.937893][11281:11286] CHIP:TOO:       GroupId: 2
          [1653484065.937933][11281:11286] CHIP:TOO:       Endpoints: 1 entries
          [1653484065.937974][11281:11286] CHIP:TOO:         [1]: 1
          [1653484065.938014][11281:11286] CHIP:TOO:       GroupName: grp2
          [1653484065.938051][11281:11286] CHIP:TOO:       FabricIndex: 1
          [1653484065.938089][11281:11286] CHIP:TOO:      }
      disabled: true

    - label:
          "If maxgroups>2, TH sends AddGroup command to DUT (n-2) more times,
          starting with GroupID 0x0003 and incrementing by 1 each time."
      PICS: G.S.C00.Rsp && G.S.C00.Tx
      verification: |
          ./chip-tool groups add-group 0x0003 grp3 1 1

          Verify the "status is success" on the TH(Chip-tool)  and Group ID is in the inclusive range of 0x0001 to 0xffff, below is the sample log provided for the raspi platform:


          [1653484116.857523][11289:11294] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000
          [1653484116.857675][11289:11294] CHIP:TOO:   AddGroupResponse: {
          [1653484116.857739][11289:11294] CHIP:TOO:     status: 0
          [1653484116.857787][11289:11294] CHIP:TOO:     groupId: 3
          [1653484116.857834][11289:11294] CHIP:TOO:    }
      disabled: true

    - label:
          "If maxgroups>2, TH reads GroupTable attribute from the
          GroupKeyManagement cluster from DUT on PIXIT.G.ENDPOINT"
      PICS: GRPKEY.S.A0001
      verification: |
          ./chip-tool groupkeymanagement read group-table 1 0

          Verify the "grouptable entries" on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:

          [1653484156.968253][11299:11304] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390
          [1653484156.968414][11299:11304] CHIP:TOO:   GroupTable: 3 entries
          [1653484156.968565][11299:11304] CHIP:TOO:     [1]: {
          [1653484156.968612][11299:11304] CHIP:TOO:       GroupId: 1
          [1653484156.968657][11299:11304] CHIP:TOO:       Endpoints: 1 entries
          [1653484156.968725][11299:11304] CHIP:TOO:         [1]: 0
          [1653484156.968773][11299:11304] CHIP:TOO:       GroupName: grp1
          [1653484156.968814][11299:11304] CHIP:TOO:       FabricIndex: 1
          [1653484156.968855][11299:11304] CHIP:TOO:      }
          [1653484156.968912][11299:11304] CHIP:TOO:     [2]: {
          [1653484156.968955][11299:11304] CHIP:TOO:       GroupId: 2
          [1653484156.968997][11299:11304] CHIP:TOO:       Endpoints: 1 entries
          [1653484156.969042][11299:11304] CHIP:TOO:         [1]: 0
          [1653484156.969087][11299:11304] CHIP:TOO:       GroupName: grp2
          [1653484156.969127][11299:11304] CHIP:TOO:       FabricIndex: 1
          [1653484156.969165][11299:11304] CHIP:TOO:      }
          [1653484156.969221][11299:11304] CHIP:TOO:     [3]: {
          [1653484156.969262][11299:11304] CHIP:TOO:       GroupId: 3
          [1653484156.969304][11299:11304] CHIP:TOO:       Endpoints: 1 entries
          [1653484156.969349][11299:11304] CHIP:TOO:         [1]: 0
          [1653484156.969393][11299:11304] CHIP:TOO:       GroupName: grp3
          [1653484156.969432][11299:11304] CHIP:TOO:       FabricIndex: 1
          [1653484156.969471][11299:11304] CHIP:TOO:      }
      disabled: true

    - label:
          "TH sends AddGroup command to DUT as unicast with the GroupID set to
          (maxgroups+1)"
      PICS: G.S.C00.Rsp
      verification: |
          ./chip-tool groups add-group 0x0004 grp4 1 1

          Verify the "status is RESOURCE_EXHAUSTED" on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:

          [1653484187.170553][11306:11311] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000
          [1653484187.170637][11306:11311] CHIP:TOO:   AddGroupResponse: {
          [1653484187.170677][11306:11311] CHIP:TOO:     status: 137
          [1653484187.170702][11306:11311] CHIP:TOO:     groupId: 4
          [1653484187.170727][11306:11311] CHIP:TOO:    }
      disabled: true

    - label:
          "TH reads GroupTable attribute from the GroupKeyManagement cluster
          from DUT on PIXIT.G.ENDPOINT"
      PICS: GRPKEY.S.A0001
      verification: |
          ./chip-tool groupkeymanagement read group-table 1 0

          Verify the "grouptable entries" on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:

          [1653484324.735216][11318:11323] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1368205390
          [1653484324.735368][11318:11323] CHIP:TOO:   GroupTable: 3 entries
          [1653484324.735515][11318:11323] CHIP:TOO:     [1]: {
          [1653484324.735561][11318:11323] CHIP:TOO:       GroupId: 1
          [1653484324.735605][11318:11323] CHIP:TOO:       Endpoints: 1 entries
          [1653484324.735672][11318:11323] CHIP:TOO:         [1]: 0
          [1653484324.735721][11318:11323] CHIP:TOO:       GroupName: grp1
          [1653484324.735761][11318:11323] CHIP:TOO:       FabricIndex: 1
          [1653484324.735823][11318:11323] CHIP:TOO:      }
          [1653484324.735881][11318:11323] CHIP:TOO:     [2]: {
          [1653484324.735924][11318:11323] CHIP:TOO:       GroupId: 2
          [1653484324.735966][11318:11323] CHIP:TOO:       Endpoints: 1 entries
          [1653484324.736012][11318:11323] CHIP:TOO:         [1]: 0
          [1653484324.736055][11318:11323] CHIP:TOO:       GroupName: grp2
          [1653484324.736096][11318:11323] CHIP:TOO:       FabricIndex: 1
          [1653484324.736134][11318:11323] CHIP:TOO:      }
          [1653484324.736188][11318:11323] CHIP:TOO:     [3]: {
          [1653484324.736232][11318:11323] CHIP:TOO:       GroupId: 3
          [1653484324.736274][11318:11323] CHIP:TOO:       Endpoints: 1 entries
          [1653484324.736319][11318:11323] CHIP:TOO:         [1]: 0
          [1653484324.736363][11318:11323] CHIP:TOO:       GroupName: grp3
          [1653484324.736403][11318:11323] CHIP:TOO:       FabricIndex: 1
          [1653484324.736441][11318:11323] CHIP:TOO:      }
      disabled: true

    - label:
          "TH sends AddGroup command to DUT as unicast with the following fields
          : GroupID as 0x0000 GroupName as Gp6"
      PICS: G.S.C00.Rsp && G.S.C00.Tx
      verification: |
          ./chip-tool groups add-group 0x0000 grp6 1 1

          Verify the "status is CONSTRAINT_ERROR" on the TH(Chip-tool)  Log and GroupID is not in the inclusive range of 0x0001 to 0xffff,below is the sample log provided for the raspi platform:

          [1653484439.884144][11341:11346] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000
          [1653484439.884258][11341:11346] CHIP:TOO:   AddGroupResponse: {
          [1653484439.884310][11341:11346] CHIP:TOO:     status: 135
          [1653484439.884346][11341:11346] CHIP:TOO:     groupId: 0
          [1653484439.884383][11341:11346] CHIP:TOO:    }
      disabled: true

    - label:
          "TH sends AddGroup command to DUT as unicast with the following fields
          : GroupID as 0x0005 GroupName as Gp5"
      PICS: G.S.C00.Rsp && G.S.C00.Tx
      verification: |
          ./chip-tool groups add-group 0x0005 grp5 1 1

          Verify the "status is UNSUPPORTED_ACCESS" on the TH(Chip-tool)  Log and ,below is the sample log provided for the raspi platform:

          [1658302176.951047][2747:2752] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0004 Command 0x0000_0000
          [1658302176.951103][2747:2752] CHIP:TOO:   AddGroupResponse: {
          [1658302176.951140][2747:2752] CHIP:TOO:     status: 126
          [1658302176.951166][2747:2752] CHIP:TOO:     groupId: 5
          [1658302176.951189][2747:2752] CHIP:TOO:    }
      disabled: true

    - label:
          "If maxgroups > 0, TH sends ViewGroup command to DUT as unicast with
          the following fields: GroupID as 0x0001"
      PICS: G.S.C01.Rsp && G.S.C01.Tx
      verification: |
          ./chip-tool groups view-group 0x0001 1 1

          Verify the "status is success" on the TH(Chip-tool)  Log and GroupID is in the inclusive range of 0x0001 to 0xffff,below is the sample log provided for the raspi platform:

          1653484504.667714][11349:11354] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001
          [1653484504.667841][11349:11354] CHIP:TOO: ViewGroupResponse: {
          [1653484504.667927][11349:11354] CHIP:TOO: status: 0
          [1653484504.667974][11349:11354] CHIP:TOO: groupId: 1
          [1653484504.668018][11349:11354] CHIP:TOO: groupName: grp1
          [1653484504.668064][11349:11354] CHIP:TOO: }
      disabled: true

    - label:
          "TH sends ViewGroup command to DUT as unicast with the following
          fields: GroupID as 0x0000"
      PICS: G.S.C01.Rsp && G.S.C01.Tx
      verification: |
          ./chip-tool groups view-group 0x0000 1 1

          Verify the "status is CONSTRAINT_ERROR" on the TH(Chip-tool)  Log and GroupID is not in the inclusive range of 0x0001 to 0xffff, below is the sample log provided for the raspi platform:

          [1653484611.595344][11412:11417] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001
          [1653484611.595454][11412:11417] CHIP:TOO:   ViewGroupResponse: {
          [1653484611.595501][11412:11417] CHIP:TOO:     status: 135
          [1653484611.595534][11412:11417] CHIP:TOO:     groupId: 0
          [1653484611.595565][11412:11417] CHIP:TOO:     groupName:
          [1653484611.595599][11412:11417] CHIP:TOO:    }
      disabled: true

    - label:
          "If maxgroups > 0, TH sends RemoveGroup command to DUT as unicast with
          the following field : GroupID as 0x0001"
      PICS: G.S.C03.Rsp && G.S.C03.Tx
      verification: |
          ./chip-tool groups remove-group 0x0001 1 1

          Verify the "status is success" on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:

          [1653484876.432744][11451:11456] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0003
          [1653484876.432915][11451:11456] CHIP:TOO:   RemoveGroupResponse: {
          [1653484876.432989][11451:11456] CHIP:TOO:     status: 0
          [1653484876.433044][11451:11456] CHIP:TOO:     groupId: 1
          [1653484876.433098][11451:11456] CHIP:TOO:    }
      disabled: true

    - label:
          "If maxgroups > 0, TH sends ViewGroup command to DUT as unicast with
          the following field : GroupID as 0x0001"
      PICS: G.S.C01.Rsp && G.S.C01.Tx
      verification: |
          ./chip-tool groups view-group 0x0001 1 1

          Verify the "status is NOT_FOUND" on the TH(Chip-tool)  Log below is the sample log provided for the raspi platform:

          [1653484952.142387][11458:11463] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001
          [1653484952.142476][11458:11463] CHIP:TOO:   ViewGroupResponse: {
          [1653484952.142516][11458:11463] CHIP:TOO:     status: 139
          [1653484952.142541][11458:11463] CHIP:TOO:     groupId: 1
          [1653484952.142566][11458:11463] CHIP:TOO:     groupName:
          [1653484952.142592][11458:11463] CHIP:TOO:    }
      disabled: true

    - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster"
      PICS: GRPKEY.S.A0001
      verification: |
          ./chip-tool groupkeymanagement read group-table 1 0

          Verify the "grouptable entries" on the TH(Chip-tool)  Log below is the sample log provided for the raspi platform:


          [1655125356.123370][27657:27662] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1860794324
          [1655125356.123494][27657:27662] CHIP:TOO:   GroupTable: 2 entries
          [1655125356.123616][27657:27662] CHIP:TOO:     [1]: {
          [1655125356.123726][27657:27662] CHIP:TOO:       GroupId: 2
          [1655125356.123779][27657:27662] CHIP:TOO:       Endpoints: 1 entries
          [1655125356.123830][27657:27662] CHIP:TOO:         [1]: 1
          [1655125356.123878][27657:27662] CHIP:TOO:       GroupName: grp2
          [1655125356.123923][27657:27662] CHIP:TOO:       FabricIndex: 1
          [1655125356.123964][27657:27662] CHIP:TOO:      }
          [1655125356.124023][27657:27662] CHIP:TOO:     [2]: {
          [1655125356.124066][27657:27662] CHIP:TOO:       GroupId: 3
          [1655125356.124110][27657:27662] CHIP:TOO:       Endpoints: 1 entries
          [1655125356.124158][27657:27662] CHIP:TOO:         [1]: 1
          [1655125356.124202][27657:27662] CHIP:TOO:       GroupName: grp3
          [1655125356.124245][27657:27662] CHIP:TOO:       FabricIndex: 1
          [1655125356.124285][27657:27662] CHIP:TOO:      }
      disabled: true

    - label:
          "TH sends RemoveGroup command to DUT as unicast with the following
          field : GroupID as 0x0000"
      PICS: G.S.C03.Rsp && G.S.C03.Tx
      verification: |
          ./chip-tool groups remove-group 0x0000 1 1

          Verify the "status as CONSTRAINT_ERROR" on the TH(Chip-tool)  Log and GroupID is not in the inclusive range of 0x0001 to 0xffff , below is the sample log provided for the raspi platform:

          [1653485045.328766][11473:11478] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0003
          [1653485045.328896][11473:11478] CHIP:TOO:   RemoveGroupResponse: {
          [1653485045.328954][11473:11478] CHIP:TOO:     status: 135
          [1653485045.328994][11473:11478] CHIP:TOO:     groupId: 0
          [1653485045.329036][11473:11478] CHIP:TOO:    }
      disabled: true

    - label:
          "TH sends RemoveGroup command to DUT as unicast with the following
          field : GroupID as 0x0001"
      PICS: G.S.C03.Rsp && G.S.C03.Tx
      verification: |
          ./chip-tool groups remove-group 0x0001 1 1

          Verify the "status is NOT_FOUND"  on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:

          [1653485126.672869][11483:11488] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0003
          [1653485126.672969][11483:11488] CHIP:TOO:   RemoveGroupResponse: {
          [1653485126.673015][11483:11488] CHIP:TOO:     status: 139
          [1653485126.673045][11483:11488] CHIP:TOO:     groupId: 1
          [1653485126.673075][11483:11488] CHIP:TOO:    }
      disabled: true

    - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster"
      PICS: GRPKEY.S.A0001
      verification: |
          ./chip-tool groupkeymanagement read group-table 1 0

          Verify the "grouptable entries" on the TH(Chip-tool)  Log  and below is the sample log provided for the raspi platform:

          [1655125356.123370][27657:27662] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1860794324
          [1655125356.123494][27657:27662] CHIP:TOO:   GroupTable: 2 entries
          [1655125356.123616][27657:27662] CHIP:TOO:     [1]: {
          [1655125356.123726][27657:27662] CHIP:TOO:       GroupId: 2
          [1655125356.123779][27657:27662] CHIP:TOO:       Endpoints: 1 entries
          [1655125356.123830][27657:27662] CHIP:TOO:         [1]: 1
          [1655125356.123878][27657:27662] CHIP:TOO:       GroupName: grp2
          [1655125356.123923][27657:27662] CHIP:TOO:       FabricIndex: 1
          [1655125356.123964][27657:27662] CHIP:TOO:      }
          [1655125356.124023][27657:27662] CHIP:TOO:     [2]: {
          [1655125356.124066][27657:27662] CHIP:TOO:       GroupId: 3
          [1655125356.124110][27657:27662] CHIP:TOO:       Endpoints: 1 entries
          [1655125356.124158][27657:27662] CHIP:TOO:         [1]: 1
          [1655125356.124202][27657:27662] CHIP:TOO:       GroupName: grp3
          [1655125356.124245][27657:27662] CHIP:TOO:       FabricIndex: 1
          [1655125356.124285][27657:27662] CHIP:TOO:      }
      disabled: true

    - label: "TH sends RemoveAllGroups command to DUT as unicast method"
      PICS: G.S.C04.Rsp
      verification: |
          ./chip-tool groups remove-all-groups 1 1

          Verify the "status is success" on the TH(Chip-tool)  Log  and below is the sample log provided for the raspi platform:

          [1653485455.344097][11508:11513] CHIP:DMG:                              StatusIB =
          [1653485455.344141][11508:11513] CHIP:DMG:                              {
          [1653485455.344190][11508:11513] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1653485455.344236][11508:11513] CHIP:DMG:                              },
      disabled: true

    - label:
          "TH sends ViewGroup command to DUT as unicast with the following
          fields: GroupID as 0x0001"
      PICS: G.S.C01.Rsp && G.S.C01.Tx
      verification: |
          ./chip-tool groups view-group 0x0001 1 1

          Verify the "status is NOT_FOUND" on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:

          [1653559917.259920][3227:3232] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0001
          [1653559917.259993][3227:3232] CHIP:TOO:   ViewGroupResponse: {
          [1653559917.260040][3227:3232] CHIP:TOO:     status: 139
          [1653559917.260075][3227:3232] CHIP:TOO:     groupId: 1
          [1653559917.260107][3227:3232] CHIP:TOO:     groupName:
          [1653559917.260138][3227:3232] CHIP:TOO:    }
      disabled: true

    - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster"
      PICS: GRPKEY.S.A0001
      verification: |
          ./chip-tool groupkeymanagement read group-table 1 0

          Verify the "grouptable entries" on the TH(Chip-tool)  Log and below is the sample log provided for the raspi platform:

          [1656332191.739327][27032:27037] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 3761602970
          [1656332191.739391][27032:27037] CHIP:TOO:   GroupTable: 0 entries
      disabled: true
