# 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.3.2. [TC-G-3.2] Groups Cluster Commands [DUT-Client]

PICS:
    - G.C

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

tests:
    - label: "Note"
      verification: |
          Chip-tool command used below are an example to verify the DUT as client test cases. For certification test, we expect DUT should have a capability or way to run the equivalent command.
      disabled: true

    - label: "TH is commissioned with DUT"
      verification: |

      disabled: true

    - label:
          "Pre-Conditions: DUT generates fabric-unique GroupID, GroupName,
          random key, EpochKey0 and GroupKeySetID.DUT generates an EpochKey and
          saves as epoch_key_set1_epoch0,DUT 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 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 step :

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

          Verify the command  response in TH (all-Clusters-app) log

          [1666939337.680982][8101:8101] CHIP:DMG: InvokeResponseMessage =
          [1666939337.680984][8101:8101] CHIP:DMG: {
          [1666939337.680986][8101:8101] CHIP:DMG:         suppressResponse = false,
          [1666939337.680988][8101:8101] CHIP:DMG:         InvokeResponseIBs =
          [1666939337.680991][8101:8101] CHIP:DMG:         [
          [1666939337.680993][8101:8101] CHIP:DMG:                 InvokeResponseIB =
          [1666939337.680997][8101:8101] CHIP:DMG:                 {
          [1666939337.680999][8101:8101] CHIP:DMG:                         CommandStatusIB =
          [1666939337.681001][8101:8101] CHIP:DMG:                         {
          [1666939337.681003][8101:8101] CHIP:DMG:                                 CommandPathIB =
          [1666939337.681005][8101:8101] CHIP:DMG:                                 {
          [1666939337.681008][8101:8101] CHIP:DMG:                                         EndpointId = 0x0,
          [1666939337.681010][8101:8101] CHIP:DMG:                                         ClusterId = 0x3f,
          [1666939337.681013][8101:8101] CHIP:DMG:                                         CommandId = 0x0,
          [1666939337.681015][8101:8101] CHIP:DMG:                                 },
          [1666939337.681018][8101:8101] CHIP:DMG:
          [1666939337.681020][8101:8101] CHIP:DMG:                                 StatusIB =
          [1666939337.681023][8101:8101] CHIP:DMG:                                 {
          [1666939337.681025][8101:8101] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1666939337.681027][8101:8101] CHIP:DMG:                                 },
          [1666939337.681029][8101:8101] CHIP:DMG:
          [1666939337.681031][8101:8101] CHIP:DMG:                         },
          [1666939337.681034][8101:8101] CHIP:DMG:
          [1666939337.681036][8101:8101] CHIP:DMG:                 },
          [1666939337.681039][8101:8101] CHIP:DMG:
          [1666939337.681041][8101:8101] CHIP:DMG:         ],
          [1666939337.681044][8101:8101] CHIP:DMG:
          [1666939337.681046][8101:8101] CHIP:DMG:         InteractionModelRevision = 1
          [1666939337.681047][8101:8101] CHIP:DMG: },


          Before adding the Group 0x0002,0x0003, 0x0004 execute this command in DUT

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

          Verify the command response in TH (all-Clusters-app) log

          666939386.530556][8101:8101] CHIP:DMG: WriteResponseMessage =
          [1666939386.530558][8101:8101] CHIP:DMG: {
          [1666939386.530560][8101:8101] CHIP:DMG:         AttributeStatusIBs =
          [1666939386.530565][8101:8101] CHIP:DMG:         [
          [1666939386.530567][8101:8101] CHIP:DMG:                 AttributeStatusIB =
          [1666939386.530570][8101:8101] CHIP:DMG:                 {
          [1666939386.530573][8101:8101] CHIP:DMG:                         AttributePathIB =
          [1666939386.530576][8101:8101] CHIP:DMG:                         {
          [1666939386.530579][8101:8101] CHIP:DMG:                                 Endpoint = 0x0,
          [1666939386.530583][8101:8101] CHIP:DMG:                                 Cluster = 0x3f,
          [1666939386.530586][8101:8101] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1666939386.530589][8101:8101] CHIP:DMG:                         }
          [1666939386.530593][8101:8101] CHIP:DMG:
          [1666939386.530596][8101:8101] CHIP:DMG:                         StatusIB =
          [1666939386.530600][8101:8101] CHIP:DMG:                         {
          [1666939386.530603][8101:8101] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1666939386.530606][8101:8101] CHIP:DMG:                         },
          [1666939386.530610][8101:8101] CHIP:DMG:
          [1666939386.530612][8101:8101] CHIP:DMG:                 },
          [1666939386.530619][8101:8101] CHIP:DMG:
          [1666939386.530622][8101:8101] CHIP:DMG:                 AttributeStatusIB =
          [1666939386.530624][8101:8101] CHIP:DMG:                 {
          [1666939386.530627][8101:8101] CHIP:DMG:                         AttributePathIB =
          [1666939386.530630][8101:8101] CHIP:DMG:                         {
          [1666939386.530633][8101:8101] CHIP:DMG:                                 Endpoint = 0x0,
          [1666939386.530636][8101:8101] CHIP:DMG:                                 Cluster = 0x3f,
          [1666939386.530639][8101:8101] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1666939386.530642][8101:8101] CHIP:DMG:                                 ListIndex = Null,
          [1666939386.530645][8101:8101] CHIP:DMG:                         }
          [1666939386.530649][8101:8101] CHIP:DMG:
          [1666939386.530652][8101:8101] CHIP:DMG:                         StatusIB =
          [1666939386.530655][8101:8101] CHIP:DMG:                         {
          [1666939386.530658][8101:8101] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1666939386.530661][8101:8101] CHIP:DMG:                         },
          [1666939386.530664][8101:8101] CHIP:DMG:
          [1666939386.530666][8101:8101] CHIP:DMG:                 },
          [1666939386.530672][8101:8101] CHIP:DMG:
          [1666939386.530675][8101:8101] CHIP:DMG:                 AttributeStatusIB =
          [1666939386.530678][8101:8101] CHIP:DMG:                 {
          [1666939386.530680][8101:8101] CHIP:DMG:                         AttributePathIB =
          [1666939386.530683][8101:8101] CHIP:DMG:                         {
          [1666939386.530686][8101:8101] CHIP:DMG:                                 Endpoint = 0x0,
          [1666939386.530689][8101:8101] CHIP:DMG:                                 Cluster = 0x3f,
          [1666939386.530692][8101:8101] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1666939386.530696][8101:8101] CHIP:DMG:                                 ListIndex = Null,
          [1666939386.530698][8101:8101] CHIP:DMG:                         }
          [1666939386.530702][8101:8101] CHIP:DMG:
          [1666939386.530705][8101:8101] CHIP:DMG:                         StatusIB =
          [1666939386.530708][8101:8101] CHIP:DMG:                         {
          [1666939386.530711][8101:8101] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1666939386.530714][8101:8101] CHIP:DMG:                         },
          [1666939386.530717][8101:8101] CHIP:DMG:
          [1666939386.530719][8101:8101] CHIP:DMG:                 },
          [1666939386.530723][8101:8101] CHIP:DMG:
          [1666939386.530726][8101:8101] CHIP:DMG:         ],
          [1666939386.530732][8101:8101] CHIP:DMG:
          [1666939386.530735][8101:8101] CHIP:DMG:         InteractionModelRevision = 1
          [1666939386.530737][8101:8101] CHIP:DMG: }


          ./chip-tool groups add-group 0x0002 gp2 1 1

          Verify the command response in TH (all-Clusters-app) log

          [1666939418.383346][8101:8101] CHIP:DMG:
          [1666939418.383356][8101:8101] CHIP:DMG: InvokeResponseMessage =
          [1666939418.383358][8101:8101] CHIP:DMG: {
          [1666939418.383360][8101:8101] CHIP:DMG:         suppressResponse = false,
          [1666939418.383362][8101:8101] CHIP:DMG:         InvokeResponseIBs =
          [1666939418.383365][8101:8101] CHIP:DMG:         [
          [1666939418.383367][8101:8101] CHIP:DMG:                 InvokeResponseIB =
          [1666939418.383371][8101:8101] CHIP:DMG:                 {
          [1666939418.383372][8101:8101] CHIP:DMG:                         CommandDataIB =
          [1666939418.383374][8101:8101] CHIP:DMG:                         {
          [1666939418.383376][8101:8101] CHIP:DMG:                                 CommandPathIB =
          [1666939418.383379][8101:8101] CHIP:DMG:                                 {
          [1666939418.383381][8101:8101] CHIP:DMG:                                         EndpointId = 0x1,
          [1666939418.383383][8101:8101] CHIP:DMG:                                         ClusterId = 0x4,
          [1666939418.383385][8101:8101] CHIP:DMG:                                         CommandId = 0x0,
          [1666939418.383387][8101:8101] CHIP:DMG:                                 },
          [1666939418.383390][8101:8101] CHIP:DMG:
          [1666939418.383392][8101:8101] CHIP:DMG:                                 CommandFields =
          [1666939418.383394][8101:8101] CHIP:DMG:                                 {
          [1666939418.383397][8101:8101] CHIP:DMG:                                         0x0 = 0,
          [1666939418.383399][8101:8101] CHIP:DMG:                                         0x1 = 2,
          [1666939418.383401][8101:8101] CHIP:DMG:                                 },
          [1666939418.383403][8101:8101] CHIP:DMG:                         },
          [1666939418.383406][8101:8101] CHIP:DMG:
          [1666939418.383408][8101:8101] CHIP:DMG:                 },
          [1666939418.383411][8101:8101] CHIP:DMG:
          [1666939418.383413][8101:8101] CHIP:DMG:         ],
          [1666939418.383416][8101:8101] CHIP:DMG:
          [1666939418.383418][8101:8101] CHIP:DMG:         InteractionModelRevision = 1

          ./chip-tool groups add-group 0x0003 gp3 1 1

          Verify the command response in TH (all-Clusters-app) log

          [1666939441.007758][8101:8101] CHIP:DMG: InvokeResponseMessage =
          [1666939441.007761][8101:8101] CHIP:DMG: {
          [1666939441.007763][8101:8101] CHIP:DMG:         suppressResponse = false,
          [1666939441.007766][8101:8101] CHIP:DMG:         InvokeResponseIBs =
          [1666939441.007769][8101:8101] CHIP:DMG:         [
          [1666939441.007771][8101:8101] CHIP:DMG:                 InvokeResponseIB =
          [1666939441.007775][8101:8101] CHIP:DMG:                 {
          [1666939441.007777][8101:8101] CHIP:DMG:                         CommandDataIB =
          [1666939441.007780][8101:8101] CHIP:DMG:                         {
          [1666939441.007782][8101:8101] CHIP:DMG:                                 CommandPathIB =
          [1666939441.007785][8101:8101] CHIP:DMG:                                 {
          [1666939441.007787][8101:8101] CHIP:DMG:                                         EndpointId = 0x1,
          [1666939441.007789][8101:8101] CHIP:DMG:                                         ClusterId = 0x4,
          [1666939441.007791][8101:8101] CHIP:DMG:                                         CommandId = 0x0,
          [1666939441.007794][8101:8101] CHIP:DMG:                                 },
          [1666939441.007796][8101:8101] CHIP:DMG:
          [1666939441.007799][8101:8101] CHIP:DMG:                                 CommandFields =
          [1666939441.007802][8101:8101] CHIP:DMG:                                 {
          [1666939441.007805][8101:8101] CHIP:DMG:                                         0x0 = 0,
          [1666939441.007807][8101:8101] CHIP:DMG:                                         0x1 = 3,
          [1666939441.007809][8101:8101] CHIP:DMG:                                 },
          [1666939441.007811][8101:8101] CHIP:DMG:                         },
          [1666939441.007814][8101:8101] CHIP:DMG:
          [1666939441.007817][8101:8101] CHIP:DMG:                 },
          [1666939441.007819][8101:8101] CHIP:DMG:
          [1666939441.007821][8101:8101] CHIP:DMG:         ],
          [1666939441.007825][8101:8101] CHIP:DMG:
          [1666939441.007827][8101:8101] CHIP:DMG:         InteractionModelRevision = 1

          ./chip-tool groups add-group 0x0004 gp4 1 1

          Verify the command response in TH (all-Clusters-app) log

          [1663135947.996375][326599:326599] CHIP:DMG: InvokeRequestMessage =
          [1663135947.996379][326599:326599] CHIP:DMG: {
          [1663135947.996382][326599:326599] CHIP:DMG:         suppressResponse = false,
          [1663135947.996385][326599:326599] CHIP:DMG:         timedRequest = false,
          [1663135947.996388][326599:326599] CHIP:DMG:         InvokeRequests =
          [1663135947.996394][326599:326599] CHIP:DMG:         [
          [1663135947.996397][326599:326599] CHIP:DMG:                 CommandDataIB =
          [1663135947.996400][326599:326599] CHIP:DMG:                 {
          [1663135947.996403][326599:326599] CHIP:DMG:                         CommandPathIB =
          [1663135947.996407][326599:326599] CHIP:DMG:                         {
          [1663135947.996411][326599:326599] CHIP:DMG:                                 EndpointId = 0x1,
          [1663135947.996414][326599:326599] CHIP:DMG:                                 ClusterId = 0x4,
          [1663135947.996418][326599:326599] CHIP:DMG:                                 CommandId = 0x0,
          [1663135947.996421][326599:326599] CHIP:DMG:                         },
          [1663135947.996425][326599:326599] CHIP:DMG:
          [1663135947.996428][326599:326599] CHIP:DMG:                         CommandFields =
          [1663135947.996432][326599:326599] CHIP:DMG:                         {
          [1663135947.996436][326599:326599] CHIP:DMG:                                 0x0 = 4,
          [1663135947.996440][326599:326599] CHIP:DMG:                                 0x1 = "gp4" (3 chars),
          [1663135947.996444][326599:326599] CHIP:DMG:                         },
          [1663135947.996447][326599:326599] CHIP:DMG:                 },
          [1663135947.996451][326599:326599] CHIP:DMG:
          [1663135947.996454][326599:326599] CHIP:DMG:         ],
          [1663135947.996459][326599:326599] CHIP:DMG:
          [1663135947.996462][326599:326599] CHIP:DMG:         InteractionModelRevision = 1
          [1663135947.996465][326599:326599] CHIP:DMG: },
          [1663135947.996481][326599:326599] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0004 e=1 p=m
          [1663135947.996488][326599:326599] CHIP:DMG: AccessControl: allowed
      disabled: true

    - label: "DUT sends GetGroupMembership command to TH"
      PICS: G.C.C02.Tx
      verification: |
          Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client)

          ./chip-tool groups get-group-membership '[0002]' 1 1

          Verify the "GetGroupMembership command response" on the TH(Allcluster-app)  Log:


          [1659[1666939580.918612][8101:8101] CHIP:DMG: InvokeResponseMessage =
          [1666939580.918614][8101:8101] CHIP:DMG: {
          [1666939580.918617][8101:8101] CHIP:DMG:         suppressResponse = false,
          [1666939580.918618][8101:8101] CHIP:DMG:         InvokeResponseIBs =
          [1666939580.918622][8101:8101] CHIP:DMG:         [
          [1666939580.918624][8101:8101] CHIP:DMG:                 InvokeResponseIB =
          [1666939580.918627][8101:8101] CHIP:DMG:                 {
          [1666939580.918629][8101:8101] CHIP:DMG:                         CommandDataIB =
          [1666939580.918631][8101:8101] CHIP:DMG:                         {
          [1666939580.918633][8101:8101] CHIP:DMG:                                 CommandPathIB =
          [1666939580.918636][8101:8101] CHIP:DMG:                                 {
          [1666939580.918638][8101:8101] CHIP:DMG:                                         EndpointId = 0x1,
          [1666939580.918640][8101:8101] CHIP:DMG:                                         ClusterId = 0x4,
          [1666939580.918643][8101:8101] CHIP:DMG:                                         CommandId = 0x2,
          [1666939580.918645][8101:8101] CHIP:DMG:                                 },
          [1666939580.918647][8101:8101] CHIP:DMG:
          [1666939580.918649][8101:8101] CHIP:DMG:                                 CommandFields =
          [1666939580.918652][8101:8101] CHIP:DMG:                                 {
          [1666939580.918654][8101:8101] CHIP:DMG:                                         0x0 = NULL
          [1666939580.918657][8101:8101] CHIP:DMG:                                         0x1 = [
          [1666939580.918663][8101:8101] CHIP:DMG:                                                         2,
          [1666939580.918665][8101:8101] CHIP:DMG:                                         ],
          [1666939580.918668][8101:8101] CHIP:DMG:                                 },
          [1666939580.918670][8101:8101] CHIP:DMG:                         },
          [1666939580.918673][8101:8101] CHIP:DMG:
          [1666939580.918674][8101:8101] CHIP:DMG:                 },
          [1666939580.918678][8101:8101] CHIP:DMG:
          [1666939580.918680][8101:8101] CHIP:DMG:         ],
          [1666939580.918683][8101:8101] CHIP:DMG:
          [1666939580.918685][8101:8101] CHIP:DMG:         InteractionModelRevision = 1
          609064.738513][3355:3355] CHIP:DMG: },
          [1659609064.738580][3355:3355] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_0004 e=1 p=o
          [1659609064.738619][3355:3355] CHIP:DMG: AccessControl: allowed
          [1659609064.738648][3355:3355] CHIP:DMG: Received command for Endpoint=1 Cluster=0x0000_0004 Command=0x0000_0002
          [1659609064.738825][3355:3355] CHIP:DMG: ICR moving to [ Preparing]
      disabled: true

    - label: "DUT sends RemoveGroup command to TH"
      PICS: G.C.C03.Tx
      verification: |
          ./chip-tool groups remove-group 0x0002 1 1

          Verify the "RemoveGroup command response" on the TH(Allcluster-app)  Log:

          1666940385.829986][8101:8101] CHIP:DMG: InvokeResponseMessage =
          [1666940385.829988][8101:8101] CHIP:DMG: {
          [1666940385.829990][8101:8101] CHIP:DMG:         suppressResponse = false,
          [1666940385.829992][8101:8101] CHIP:DMG:         InvokeResponseIBs =
          [1666940385.829995][8101:8101] CHIP:DMG:         [
          [1666940385.829997][8101:8101] CHIP:DMG:                 InvokeResponseIB =
          [1666940385.830001][8101:8101] CHIP:DMG:                 {
          [1666940385.830002][8101:8101] CHIP:DMG:                         CommandDataIB =
          [1666940385.830004][8101:8101] CHIP:DMG:                         {
          [1666940385.830006][8101:8101] CHIP:DMG:                                 CommandPathIB =
          [1666940385.830009][8101:8101] CHIP:DMG:                                 {
          [1666940385.830011][8101:8101] CHIP:DMG:                                         EndpointId = 0x1,
          [1666940385.830013][8101:8101] CHIP:DMG:                                         ClusterId = 0x4,
          [1666940385.830015][8101:8101] CHIP:DMG:                                         CommandId = 0x3,
          [1666940385.830019][8101:8101] CHIP:DMG:                                 },
          [1666940385.830022][8101:8101] CHIP:DMG:
          [1666940385.830025][8101:8101] CHIP:DMG:                                 CommandFields =
          [1666940385.830028][8101:8101] CHIP:DMG:                                 {
          [1666940385.830030][8101:8101] CHIP:DMG:                                         0x0 = 0,
          [1666940385.830032][8101:8101] CHIP:DMG:                                         0x1 = 2,
          [1666940385.830034][8101:8101] CHIP:DMG:                                 },
          [1666940385.830035][8101:8101] CHIP:DMG:                         },
          [1666940385.830037][8101:8101] CHIP:DMG:
          [1666940385.830039][8101:8101] CHIP:DMG:                 },
          [1666940385.830041][8101:8101] CHIP:DMG:
          [1666940385.830042][8101:8101] CHIP:DMG:         ],
          [1666940385.830044][8101:8101] CHIP:DMG:
          [1666940385.830046][8101:8101] CHIP:DMG:         InteractionModelRevision = 1
      disabled: true

    - label: "DUT sends RemoveAllGroups command to TH"
      PICS: G.C.C04.Tx
      verification: |
          ./chip-tool groups  remove-all-groups 1 1

          Verify the "RemoveAllGroups command response"  on the TH(Allcluster-app)  Log:

          [1666940426.392765][8101:8101] CHIP:DMG: InvokeResponseMessage =
          [1666940426.392768][8101:8101] CHIP:DMG: {
          [1666940426.392770][8101:8101] CHIP:DMG:         suppressResponse = false,
          [1666940426.392772][8101:8101] CHIP:DMG:         InvokeResponseIBs =
          [1666940426.392775][8101:8101] CHIP:DMG:         [
          [1666940426.392777][8101:8101] CHIP:DMG:                 InvokeResponseIB =
          [1666940426.392781][8101:8101] CHIP:DMG:                 {
          [1666940426.392783][8101:8101] CHIP:DMG:                         CommandStatusIB =
          [1666940426.392786][8101:8101] CHIP:DMG:                         {
          [1666940426.392788][8101:8101] CHIP:DMG:                                 CommandPathIB =
          [1666940426.392791][8101:8101] CHIP:DMG:                                 {
          [1666940426.392793][8101:8101] CHIP:DMG:                                         EndpointId = 0x1,
          [1666940426.392795][8101:8101] CHIP:DMG:                                         ClusterId = 0x4,
          [1666940426.392798][8101:8101] CHIP:DMG:                                         CommandId = 0x4,
          [1666940426.392800][8101:8101] CHIP:DMG:                                 },
          [1666940426.392803][8101:8101] CHIP:DMG:
          [1666940426.392805][8101:8101] CHIP:DMG:                                 StatusIB =
          [1666940426.392808][8101:8101] CHIP:DMG:                                 {
          [1666940426.392810][8101:8101] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1666940426.392813][8101:8101] CHIP:DMG:                                 },
          [1666940426.392815][8101:8101] CHIP:DMG:
          [1666940426.392817][8101:8101] CHIP:DMG:                         },
          [1666940426.392820][8101:8101] CHIP:DMG:
          [1666940426.392822][8101:8101] CHIP:DMG:                 },
          [1666940426.392825][8101:8101] CHIP:DMG:
          [1666940426.392826][8101:8101] CHIP:DMG:         ],
          [1666940426.392829][8101:8101] CHIP:DMG:
          [1666940426.392831][8101:8101] CHIP:DMG:         InteractionModelRevision = 1
      disabled: true

    - label: "DUT sends AddGroupIfIdentifying command to TH"
      PICS: G.C.C05.Tx
      verification: |
          ./chip-tool identify identify 0x0078 1 1

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

          [1666940447.677717][8101:8101] CHIP:DMG: InvokeResponseMessage =
          [1666940447.677720][8101:8101] CHIP:DMG: {
          [1666940447.677722][8101:8101] CHIP:DMG:         suppressResponse = false,
          [1666940447.677724][8101:8101] CHIP:DMG:         InvokeResponseIBs =
          [1666940447.677727][8101:8101] CHIP:DMG:         [
          [1666940447.677729][8101:8101] CHIP:DMG:                 InvokeResponseIB =
          [1666940447.677732][8101:8101] CHIP:DMG:                 {
          [1666940447.677735][8101:8101] CHIP:DMG:                         CommandStatusIB =
          [1666940447.677738][8101:8101] CHIP:DMG:                         {
          [1666940447.677740][8101:8101] CHIP:DMG:                                 CommandPathIB =
          [1666940447.677742][8101:8101] CHIP:DMG:                                 {
          [1666940447.677744][8101:8101] CHIP:DMG:                                         EndpointId = 0x1,
          [1666940447.677749][8101:8101] CHIP:DMG:                                         ClusterId = 0x3,
          [1666940447.677751][8101:8101] CHIP:DMG:                                         CommandId = 0x0,
          [1666940447.677753][8101:8101] CHIP:DMG:                                 },
          [1666940447.677756][8101:8101] CHIP:DMG:
          [1666940447.677758][8101:8101] CHIP:DMG:                                 StatusIB =
          [1666940447.677761][8101:8101] CHIP:DMG:                                 {
          [1666940447.677763][8101:8101] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1666940447.677765][8101:8101] CHIP:DMG:                                 },
          [1666940447.677768][8101:8101] CHIP:DMG:
          [1666940447.677770][8101:8101] CHIP:DMG:                         },
          [1666940447.677772][8101:8101] CHIP:DMG:
          [1666940447.677774][8101:8101] CHIP:DMG:                 },
          [1666940447.677778][8101:8101] CHIP:DMG:
          [1666940447.677780][8101:8101] CHIP:DMG:         ],
          [1666940447.677783][8101:8101] CHIP:DMG:
          [1666940447.677785][8101:8101] CHIP:DMG:         InteractionModelRevision = 1


          ./chip-tool groups  add-group-if-identifying 0x0004 gp4 1 1

          Verify the "AddGroupIfIdentifying command response" on the TH(Allcluster-app)  Log:
          [1666940541.321331][8101:8101] CHIP:DMG: InvokeResponseMessage =
          [1666940541.321333][8101:8101] CHIP:DMG: {
          [1666940541.321336][8101:8101] CHIP:DMG:         suppressResponse = false,
          [1666940541.321339][8101:8101] CHIP:DMG:         InvokeResponseIBs =
          [1666940541.321343][8101:8101] CHIP:DMG:         [
          [1666940541.321346][8101:8101] CHIP:DMG:                 InvokeResponseIB =
          [1666940541.321351][8101:8101] CHIP:DMG:                 {
          [1666940541.321354][8101:8101] CHIP:DMG:                         CommandStatusIB =
          [1666940541.321357][8101:8101] CHIP:DMG:                         {
          [1666940541.321360][8101:8101] CHIP:DMG:                                 CommandPathIB =
          [1666940541.321363][8101:8101] CHIP:DMG:                                 {
          [1666940541.321367][8101:8101] CHIP:DMG:                                         EndpointId = 0x0,
          [1666940541.321371][8101:8101] CHIP:DMG:                                         ClusterId = 0x4,
          [1666940541.321374][8101:8101] CHIP:DMG:                                         CommandId = 0x5,
          [1666940541.321377][8101:8101] CHIP:DMG:                                 },
          [1666940541.321381][8101:8101] CHIP:DMG:
          [1666940541.321384][8101:8101] CHIP:DMG:                                 StatusIB =
          [1666940541.321388][8101:8101] CHIP:DMG:                                 {
          [1666940541.321391][8101:8101] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1666940541.321394][8101:8101] CHIP:DMG:                                 },
          [1666940541.321397][8101:8101] CHIP:DMG:
          [1666940541.321400][8101:8101] CHIP:DMG:                         },
          [1666940541.321404][8101:8101] CHIP:DMG:
          [1666940541.321407][8101:8101] CHIP:DMG:                 },
          [1666940541.321411][8101:8101] CHIP:DMG:
          [1666940541.321413][8101:8101] CHIP:DMG:         ],
          [1666940541.321418][8101:8101] CHIP:DMG:
          [1666940541.321420][8101:8101] CHIP:DMG:         InteractionModelRevision = 1
      disabled: true
