# 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:
    30.1.18. [TC-CADMIN-1.18] Removing Fabrics from DUT and Fabric index
    enumeration using BCM [DUT - Commissioner]

PICS:
    - CADMIN.C
    - CADMIN.C.C01.Tx

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

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

    - label: "Precondition"
      verification: |
          Reset Devices to factory defaults
      disabled: true

    - label: "DUT_CR1 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          "1. Provision the device using DUT_CR1 (Chip-tool as DUT controller)
          "
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On DUT_CR1 (chip tool), open commissioning window using BCM

          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers


          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 --timedInteractionTimeoutMs 1000

          Verify the Open commisioning window on the TH_CE(all-cluster-app) Log:

          [1660901022.112296][3045:3045] CHIP:DIS: mDNS service published: _matterc._udp
          [1660901022.112389][3045:3045] CHIP:ZCL: Commissioning window is now open
          [1660901022.112474][3045:3045] CHIP:DMG: Command handler moving to [ Preparing]
      disabled: true

    - label: "TH_CR2 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          On TH_CR2 using chip tool connect to the accessory

          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers


          ./chip-tool pairing onnetwork 2 20202021 --commissioner-name beta


          Verify you got below message on TH_CE (all-clusters-app) log
          Commissioning completed successfully
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On DUT_CR1  (chip tool), open commissioning window using BCM

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers


          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 --timedInteractionTimeoutMs 1000


          Verify the Open commisioning window on the TH_CE(all-cluster-app) Log:

          [1660901022.112296][3045:3045] CHIP:DIS: mDNS service published: _matterc._udp
          [1660901022.112389][3045:3045] CHIP:ZCL: Commissioning window is now open
          [1660901022.112474][3045:3045] CHIP:DMG: Command handler moving to [ Preparing]
      disabled: true

    - label: "TH_CR3 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          On TH_CR3 using chip tool connect to the accessory

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers


          ./chip-tool pairing onnetwork 3 20202021 --commissioner-name gamma

          Verify you got below message on TH_CE (all-clusters-app) log
          Device commissioning completed with success
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to read the list of Fabrics on TH_CE"
      PICS: OPCREDS.C.A0001
      verification: |
          On DUT_CR1 , read fabrics list

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0

          Verify TH_CE receives and processes the command successfully on TH_CE (all-clusters-app) log


          [1661484795.149040][6993:6993] CHIP:DMG:
          [1661484795.149076][6993:6993] CHIP:DMG:                 AttributeReportIB =
          [1661484795.149131][6993:6993] CHIP:DMG:                 {
          [1661484795.149172][6993:6993] CHIP:DMG:                         AttributeDataIB =
          [1661484795.149219][6993:6993] CHIP:DMG:                         {
          [1661484795.149268][6993:6993] CHIP:DMG:                                 DataVersion = 0x8c37955,
          [1661484795.149318][6993:6993] CHIP:DMG:                                 AttributePathIB =
          [1661484795.149370][6993:6993] CHIP:DMG:                                 {
          [1661484795.149421][6993:6993] CHIP:DMG:                                         Endpoint = 0x0,
          [1661484795.149479][6993:6993] CHIP:DMG:                                         Cluster = 0x3e,
          [1661484795.149538][6993:6993] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661484795.149590][6993:6993] CHIP:DMG:                                         ListIndex = Null,
          [1661484795.149639][6993:6993] CHIP:DMG:                                 }
          [1661484795.149695][6993:6993] CHIP:DMG:
          [1661484795.149747][6993:6993] CHIP:DMG:                                 Data =
          [1661484795.149796][6993:6993] CHIP:DMG:                                 {
          [1661484795.149851][6993:6993] CHIP:DMG:                                         0x1 = [
          [1661484795.149932][6993:6993] CHIP:DMG:                                                         0x4, 0xb5, 0xc1, 0xfd, 0xdd, 0x6a, 0xdd, 0xc3, 0xa1, 0x3d, 0xee, 0x39, 0xa2, 0xe, 0x66, 0x7, 0xa2, 0x3a, 0x6d, 0x4a, 0x86, 0x57, 0x36, 0xf7, 0x1f, 0x20, 0x7c, 0x9d, 0xe8, 0x8, 0xa, 0xd5, 0xf2, 0x9c, 0x9d, 0x1b, 0x14, 0x5f, 0xbc, 0x60, 0xb9, 0xe7, 0xee, 0xb3, 0x4c, 0x2, 0xf4, 0x7b, 0x21, 0xdb, 0x74, 0x4e, 0xb1, 0x65, 0x22, 0xd3, 0xe0, 0x32, 0xbd, 0xbe, 0xde, 0x43, 0xfe, 0x26, 0xd6,
          [1661484795.149997][6993:6993] CHIP:DMG:                                         ] (65 bytes)
          [1661484795.150055][6993:6993] CHIP:DMG:                                         0x2 = 65521,
          [1661484795.150109][6993:6993] CHIP:DMG:                                         0x3 = 1,
          [1661484795.150167][6993:6993] CHIP:DMG:                                         0x4 = 1,
          [1661484795.150223][6993:6993] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661484795.150277][6993:6993] CHIP:DMG:                                         0xfe = 1,
          [1661484795.150329][6993:6993] CHIP:DMG:                                 },
          [1661484795.150380][6993:6993] CHIP:DMG:                         },
          [1661484795.150432][6993:6993] CHIP:DMG:
          [1661484795.150470][6993:6993] CHIP:DMG:                 },
          [1661484795.150534][6993:6993] CHIP:DMG:
          [1661484795.150571][6993:6993] CHIP:DMG:                 AttributeReportIB =
          [1661484795.150627][6993:6993] CHIP:DMG:                 {
          [1661484795.150668][6993:6993] CHIP:DMG:                         AttributeDataIB =
          [1661484795.150719][6993:6993] CHIP:DMG:                         {
          [1661484795.150771][6993:6993] CHIP:DMG:                                 DataVersion = 0x8c37955,
          [1661484795.150824][6993:6993] CHIP:DMG:                                 AttributePathIB =
          [1661484795.150874][6993:6993] CHIP:DMG:                                 {
          [1661484795.150928][6993:6993] CHIP:DMG:                                         Endpoint = 0x0,
          [1661484795.150981][6993:6993] CHIP:DMG:                                         Cluster = 0x3e,
          [1661484795.151034][6993:6993] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661484795.151090][6993:6993] CHIP:DMG:                                         ListIndex = Null,
          [1661484795.151140][6993:6993] CHIP:DMG:                                 }
          [1661484795.151192][6993:6993] CHIP:DMG:
          [1661484795.151241][6993:6993] CHIP:DMG:                                 Data =
          [1661484795.151290][6993:6993] CHIP:DMG:                                 {
          [1661484795.151344][6993:6993] CHIP:DMG:                                         0x1 = [
          [1661484795.151425][6993:6993] CHIP:DMG:                                                         0x4, 0x7b, 0x5b, 0x9a, 0x2a, 0xd1, 0x4e, 0x1e, 0x8d, 0xf4, 0xca, 0xea, 0xde, 0x1c, 0xbe, 0xa7, 0xf6, 0xd4, 0xa1, 0xe8, 0xf0, 0x20, 0x9f, 0x6c, 0x38, 0x30, 0x31, 0x88, 0xb5, 0x89, 0x69, 0xd4, 0x7, 0x17, 0x16, 0x85, 0x25, 0x55, 0x8f, 0x5b, 0xed, 0x58, 0x68, 0x27, 0xde, 0x5e, 0xf6, 0xf9, 0xf8, 0x99, 0x54, 0x92, 0x8e, 0x33, 0xa6, 0xf4, 0xb0, 0x5a, 0xc1, 0xa6, 0x1a, 0xf5, 0x2, 0xb4, 0x4f,
          [1661484795.151495][6993:6993] CHIP:DMG:                                         ] (65 bytes)
          [1661484795.151548][6993:6993] CHIP:DMG:                                         0x2 = 65521,
          [1661484795.151603][6993:6993] CHIP:DMG:                                         0x3 = 2,
          [1661484795.151656][6993:6993] CHIP:DMG:                                         0x4 = 1,
          [1661484795.151714][6993:6993] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661484795.151772][6993:6993] CHIP:DMG:                                         0xfe = 2,
          [1661484795.151825][6993:6993] CHIP:DMG:                                 },
          [1661484795.151873][6993:6993] CHIP:DMG:                         },
          [1661484795.151929][6993:6993] CHIP:DMG:
          [1661484795.151971][6993:6993] CHIP:DMG:                 },
          [1661484795.152036][6993:6993] CHIP:DMG:
          [1661484795.152073][6993:6993] CHIP:DMG:                 AttributeReportIB =
          [1661484795.152127][6993:6993] CHIP:DMG:                 {
          [1661484795.152182][6993:6993] CHIP:DMG:                         AttributeDataIB =
          [1661484795.152229][6993:6993] CHIP:DMG:                         {
          [1661484795.152281][6993:6993] CHIP:DMG:                                 DataVersion = 0x8c37955,
          [1661484795.152330][6993:6993] CHIP:DMG:                                 AttributePathIB =
          [1661484795.152374][6993:6993] CHIP:DMG:                                 {
          [1661484795.152415][6993:6993] CHIP:DMG:                                         Endpoint = 0x0,
          [1661484795.152464][6993:6993] CHIP:DMG:                                         Cluster = 0x3e,
          [1661484795.152522][6993:6993] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661484795.152579][6993:6993] CHIP:DMG:                                         ListIndex = Null,
          [1661484795.152629][6993:6993] CHIP:DMG:                                 }
          [1661484795.152681][6993:6993] CHIP:DMG:
          [1661484795.152733][6993:6993] CHIP:DMG:                                 Data =
          [1661484795.152786][6993:6993] CHIP:DMG:                                 {
          [1661484795.152839][6993:6993] CHIP:DMG:                                         0x1 = [
          [1661484795.152925][6993:6993] CHIP:DMG:                                                         0x4, 0x14, 0x2a, 0x75, 0x60, 0x97, 0xf8, 0x6d, 0x97, 0xe, 0xcb, 0x79, 0x70, 0x9b, 0xe4, 0xf2, 0x97, 0x3a, 0xe2, 0xf5, 0xe0, 0xff, 0x4, 0x4, 0xf2, 0xc9, 0x13, 0xf6, 0xd6, 0x0, 0x9c, 0x94, 0xca, 0xd7, 0xd1, 0x81, 0xfd, 0x77, 0xf1, 0x5b, 0x13, 0xc7, 0x78, 0x74, 0x30, 0x28, 0x9f, 0x18, 0x73, 0x45, 0xe, 0xde, 0xb8, 0xba, 0x88, 0x8d, 0x90, 0x43, 0x58, 0x35, 0x2c, 0xb1, 0x5a, 0xe7, 0xe,
          [1661484795.152991][6993:6993] CHIP:DMG:                                         ] (65 bytes)
          [1661484795.153049][6993:6993] CHIP:DMG:                                         0x2 = 65521,
          [1661484795.153107][6993:6993] CHIP:DMG:                                         0x3 = 3,
          [1661484795.153160][6993:6993] CHIP:DMG:                                         0x4 = 1,
          [1661484795.153217][6993:6993] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661484795.153270][6993:6993] CHIP:DMG:                                         0xfe = 3,
          [1661484795.153326][6993:6993] CHIP:DMG:                                 },
          [1661484795.153374][6993:6993] CHIP:DMG:                         },
          [1661484795.153434][6993:6993] CHIP:DMG:
          [1661484795.153475][6993:6993] CHIP:DMG:                 },
          [1661484795.153529][6993:6993] CHIP:DMG:
          [1661484795.153565][6993:6993] CHIP:DMG:         ],
          [1661484795.153642][6993:6993] CHIP:DMG:
          [1661484795.153679][6993:6993] CHIP:DMG:         SuppressResponse = true,
          [1661484795.153717][6993:6993] CHIP:DMG:         InteractionModelRevision = 1
          [1661484795.153752][6993:6993] CHIP:DMG: }
      disabled: true

    - label: "DUT_CR1 sends RemoveFabric with FabricIndex = 2 command to TH_CE"
      PICS: OPCREDS.C.C0a.Tx
      verification: |
          on DUT_CR1 ( using chip tool), remove fabric with FabricIndex=2

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          Verify TH_CE responses with "RemoveFabric successful" and "Expiring all sessions for fabric 0x2" on TH_CE (all-clusters-app) log

          ./chip-tool operationalcredentials remove-fabric 2 1 0

          [1663307444.729967][1746:1746] CHIP:DIS: mDNS service published: _matter._tcp
          [1663307444.730031][1746:1746] CHIP:ZCL: OpCreds: RemoveFabric successful
          [1663307444.730110][1746:1746] CHIP:DMG: Command handler moving to [ Preparing]
          [1663307444.730183][1746:1746] CHIP:DMG: Command handler moving to [AddingComm]
          [1663307444.730277][1746:1746] CHIP:DMG: Command handler moving to [AddedComma]
          [1663307444.730346][1746:1746] CHIP:IN: Expiring all sessions for fabric 0x2!!
          [1663307444.730426][1746:1746] CHIP:IN: SecureSession[0xaaaae0b82e10]: MarkForEviction Type:2 LSID:23764
      disabled: true

    - label:
          "TH_CR2 sends command to TH_CE to write and read the Basic Information
          Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          Using TH_CR2 , write attribute and read attribute to and from TH_CE

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          Verify read/write commands fail as expected since the TH_CR2 is no longer on the network on TH_CE (all-clusters-app)

          ./chip-tool  basicinformation write node-label te5new 2 0 --commissioner-name beta

          [1678876803.495007][714337:714339] CHIP:SC: Received error (protocol code 1) during pairing process: ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1727: CHIP Error 0x000000C9: No shared trusted root
          [1678876803.495018][714337:714339] CHIP:IN: SecureSession[0x7f2764026220]: Released - Type:2 LSID:16528
          [1678876803.495040][714337:714339] CHIP:-: ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1727: CHIP Error 0x000000C9: No shared trusted root at ../../commands/clusters/ModelCommand.cpp:62

          ./chip-tool  basicinformation read node-label 2 0 --commissioner-name beta

          [1678876803.495007][714337:714339] CHIP:SC: Received error (protocol code 1) during pairing process: ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1727: CHIP Error 0x000000C9: No shared trusted root
          [1678876803.495018][714337:714339] CHIP:IN: SecureSession[0x7f2764026220]: Released - Type:2 LSID:16528
          [1678876803.495040][714337:714339] CHIP:-: ../../third_party/connectedhomeip/src/protocols/secure_channel/CASESession.cpp:1727: CHIP Error 0x000000C9: No shared trusted root at ../../commands/clusters/ModelCommand.cpp:62
      disabled: true

    - label: "DUT_CR1 sends command to TH_CE to read the list of Fabrics"
      PICS: OPCREDS.C.A0001
      verification: |
          On DUT_CR1 , read fabrics list

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          Verify TH_CE receives and processes the command successfully on TH_CE (all-clusters-app)

          ./chip-tool operationalcredentials read fabrics 1 0 --fabric-filtered 0

          [1661485083.683454][6993:6993] CHIP:DMG:                 AttributeReportIB =
          [1661485083.683509][6993:6993] CHIP:DMG:                 {
          [1661485083.683552][6993:6993] CHIP:DMG:                         AttributeDataIB =
          [1661485083.683608][6993:6993] CHIP:DMG:                         {
          [1661485083.683664][6993:6993] CHIP:DMG:                                 DataVersion = 0x8c37957,
          [1661485083.683718][6993:6993] CHIP:DMG:                                 AttributePathIB =
          [1661485083.683775][6993:6993] CHIP:DMG:                                 {
          [1661485083.683834][6993:6993] CHIP:DMG:                                         Endpoint = 0x0,
          [1661485083.683901][6993:6993] CHIP:DMG:                                         Cluster = 0x3e,
          [1661485083.683967][6993:6993] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661485083.684032][6993:6993] CHIP:DMG:                                         ListIndex = Null,
          [1661485083.684089][6993:6993] CHIP:DMG:                                 }
          [1661485083.684176][6993:6993] CHIP:DMG:
          [1661485083.684234][6993:6993] CHIP:DMG:                                 Data =
          [1661485083.684294][6993:6993] CHIP:DMG:                                 {
          [1661485083.684354][6993:6993] CHIP:DMG:                                         0x1 = [
          [1661485083.684450][6993:6993] CHIP:DMG:                                                         0x4, 0xb5, 0xc1, 0xfd, 0xdd, 0x6a, 0xdd, 0xc3, 0xa1, 0x3d, 0xee, 0x39, 0xa2, 0xe, 0x66, 0x7, 0xa2, 0x3a, 0x6d, 0x4a, 0x86, 0x57, 0x36, 0xf7, 0x1f, 0x20, 0x7c, 0x9d, 0xe8, 0x8, 0xa, 0xd5, 0xf2, 0x9c, 0x9d, 0x1b, 0x14, 0x5f, 0xbc, 0x60, 0xb9, 0xe7, 0xee, 0xb3, 0x4c, 0x2, 0xf4, 0x7b, 0x21, 0xdb, 0x74, 0x4e, 0xb1, 0x65, 0x22, 0xd3, 0xe0, 0x32, 0xbd, 0xbe, 0xde, 0x43, 0xfe, 0x26, 0xd6,
          [1661485083.684529][6993:6993] CHIP:DMG:                                         ] (65 bytes)
          [1661485083.684594][6993:6993] CHIP:DMG:                                         0x2 = 65521,
          [1661485083.684659][6993:6993] CHIP:DMG:                                         0x3 = 1,
          [1661485083.684719][6993:6993] CHIP:DMG:                                         0x4 = 1,
          [1661485083.684786][6993:6993] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661485083.684847][6993:6993] CHIP:DMG:                                         0xfe = 1,
          [1661485083.684910][6993:6993] CHIP:DMG:                                 },
          [1661485083.684963][6993:6993] CHIP:DMG:                         },
          [1661485083.685023][6993:6993] CHIP:DMG:
          [1661485083.685069][6993:6993] CHIP:DMG:                 },
          [1661485083.685142][6993:6993] CHIP:DMG:
          [1661485083.685183][6993:6993] CHIP:DMG:                 AttributeReportIB =
          [1661485083.685244][6993:6993] CHIP:DMG:                 {
          [1661485083.685292][6993:6993] CHIP:DMG:                         AttributeDataIB =
          [1661485083.685348][6993:6993] CHIP:DMG:                         {
          [1661485083.685401][6993:6993] CHIP:DMG:                                 DataVersion = 0x8c37957,
          [1661485083.685455][6993:6993] CHIP:DMG:                                 AttributePathIB =
          [1661485083.685505][6993:6993] CHIP:DMG:                                 {
          [1661485083.685561][6993:6993] CHIP:DMG:                                         Endpoint = 0x0,
          [1661485083.685625][6993:6993] CHIP:DMG:                                         Cluster = 0x3e,
          [1661485083.685689][6993:6993] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661485083.685748][6993:6993] CHIP:DMG:                                         ListIndex = Null,
          [1661485083.685807][6993:6993] CHIP:DMG:                                 }
          [1661485083.685870][6993:6993] CHIP:DMG:
          [1661485083.685925][6993:6993] CHIP:DMG:                                 Data =
          [1661485083.685983][6993:6993] CHIP:DMG:                                 {
          [1661485083.686043][6993:6993] CHIP:DMG:                                         0x1 = [
          [1661485083.686133][6993:6993] CHIP:DMG:                                                         0x4, 0x14, 0x2a, 0x75, 0x60, 0x97, 0xf8, 0x6d, 0x97, 0xe, 0xcb, 0x79, 0x70, 0x9b, 0xe4, 0xf2, 0x97, 0x3a, 0xe2, 0xf5, 0xe0, 0xff, 0x4, 0x4, 0xf2, 0xc9, 0x13, 0xf6, 0xd6, 0x0, 0x9c, 0x94, 0xca, 0xd7, 0xd1, 0x81, 0xfd, 0x77, 0xf1, 0x5b, 0x13, 0xc7, 0x78, 0x74, 0x30, 0x28, 0x9f, 0x18, 0x73, 0x45, 0xe, 0xde, 0xb8, 0xba, 0x88, 0x8d, 0x90, 0x43, 0x58, 0x35, 0x2c, 0xb1, 0x5a, 0xe7, 0xe,
          [1661485083.686200][6993:6993] CHIP:DMG:                                         ] (65 bytes)
          [1661485083.686250][6993:6993] CHIP:DMG:                                         0x2 = 65521,
          [1661485083.686309][6993:6993] CHIP:DMG:                                         0x3 = 3,
          [1661485083.686373][6993:6993] CHIP:DMG:                                         0x4 = 1,
          [1661485083.686439][6993:6993] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661485083.686504][6993:6993] CHIP:DMG:                                         0xfe = 3,
          [1661485083.686562][6993:6993] CHIP:DMG:                                 },
          [1661485083.686615][6993:6993] CHIP:DMG:                         },
          [1661485083.686675][6993:6993] CHIP:DMG:
          [1661485083.686721][6993:6993] CHIP:DMG:                 },
          [1661485083.686780][6993:6993] CHIP:DMG:
          [1661485083.686820][6993:6993] CHIP:DMG:         ],
          [1661485083.686893][6993:6993] CHIP:DMG:
      disabled: true

    - label:
          "Verify TH_CE is now discoverable over DNS-SD with 2 Operational
          service records (_matter._tcp SRV records)."
      verification: |
          Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          Execute the below avahi-browse command in any LInux machine or in TH_CR2.

          avahi-browse -rt _matter._tcp
          + wlp5s0 IPv6 8E50A59FAF52A809-0000000000000001             _matter._tcp         local
          + wlp5s0 IPv6 03E707466A904C7E-0000000000000003             _matter._tcp         local
          = wlp5s0 IPv6 8E50A59FAF52A809-0000000000000001             _matter._tcp         local
             hostname = [E45F010F27530000.local]
             address = [fe80::e65f:1ff:fe0f:2753]
             port = [5540]
             txt = ["T=1" "SAI=300" "SII=5000"]
          = wlp5s0 IPv6 03E707466A904C7E-0000000000000003             _matter._tcp         local
             hostname = [E45F010F27530000.local]
             address = [fe80::e65f:1ff:fe0f:2753]
             port = [5540]
             txt = ["T=1" "SAI=300" "SII=5000"]
          grl@grl-ThinkPad-L480:~/may16_cntrl03/connectedhomeip/examples/chip-tool/out/debug$
      disabled: true

    - label:
          "DUT_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using BCM"
      PICS: CADMIN.C.C01.Tx
      verification: |
          On DUT_CR1 chip tool, open commissioning window using BCM

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          For BCM,
          ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 --timedInteractionTimeoutMs 1000


          Verify the Open commisioning window on the TH_CE(all-cluster-app) Log:

          [1660901022.112296][3045:3045] CHIP:DIS: mDNS service published: _matterc._udp
          [1660901022.112389][3045:3045] CHIP:ZCL: Commissioning window is now open
          [1660901022.112474][3045:3045] CHIP:DMG: Command handler moving to [ Preparing]
      disabled: true

    - label: "TH_CR2 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          On TH_CR2  using chip tool connect to the accessory

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers


          ./chip-tool pairing onnetwork 2 20202021 --commissioner-name beta

          Verify you got below message on TH_CE (all-clusters-app) log
          Commissioning completed successfully
      disabled: true

    - label: "TH_CR2 sends command to TH_CE to read the list of Fabrics"
      PICS: OPCREDS.C.A0001
      verification: |
          On TH_CR2 , read fabrics list

            Below are the example command for using single RPI as multiple controller. Vendor should have the provision to use the equivalent command in their DUT or use multiple commissioners/controllers

          ./chip-tool operationalcredentials read fabrics 2 0 --fabric-filtered 0 --commissioner-name beta

          Verify TH_CE receives and processes the command successfully on TH_CE (all-clusters-app) log


          [1661485246.217535][6993:6993] CHIP:DMG:
          [1661485246.217572][6993:6993] CHIP:DMG:                 AttributeReportIB =
          [1661485246.217627][6993:6993] CHIP:DMG:                 {
          [1661485246.217666][6993:6993] CHIP:DMG:                         AttributeDataIB =
          [1661485246.217704][6993:6993] CHIP:DMG:                         {
          [1661485246.217748][6993:6993] CHIP:DMG:                                 DataVersion = 0x8c3795b,
          [1661485246.217787][6993:6993] CHIP:DMG:                                 AttributePathIB =
          [1661485246.217840][6993:6993] CHIP:DMG:                                 {
          [1661485246.217891][6993:6993] CHIP:DMG:                                         Endpoint = 0x0,
          [1661485246.217944][6993:6993] CHIP:DMG:                                         Cluster = 0x3e,
          [1661485246.218001][6993:6993] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661485246.218058][6993:6993] CHIP:DMG:                                         ListIndex = Null,
          [1661485246.218107][6993:6993] CHIP:DMG:                                 }
          [1661485246.218164][6993:6993] CHIP:DMG:
          [1661485246.218213][6993:6993] CHIP:DMG:                                 Data =
          [1661485246.218262][6993:6993] CHIP:DMG:                                 {
          [1661485246.218316][6993:6993] CHIP:DMG:                                         0x1 = [
          [1661485246.218402][6993:6993] CHIP:DMG:                                                         0x4, 0xb5, 0xc1, 0xfd, 0xdd, 0x6a, 0xdd, 0xc3, 0xa1, 0x3d, 0xee, 0x39, 0xa2, 0xe, 0x66, 0x7, 0xa2, 0x3a, 0x6d, 0x4a, 0x86, 0x57, 0x36, 0xf7, 0x1f, 0x20, 0x7c, 0x9d, 0xe8, 0x8, 0xa, 0xd5, 0xf2, 0x9c, 0x9d, 0x1b, 0x14, 0x5f, 0xbc, 0x60, 0xb9, 0xe7, 0xee, 0xb3, 0x4c, 0x2, 0xf4, 0x7b, 0x21, 0xdb, 0x74, 0x4e, 0xb1, 0x65, 0x22, 0xd3, 0xe0, 0x32, 0xbd, 0xbe, 0xde, 0x43, 0xfe, 0x26, 0xd6,
          [1661485246.218471][6993:6993] CHIP:DMG:                                         ] (65 bytes)
          [1661485246.218530][6993:6993] CHIP:DMG:                                         0x2 = 65521,
          [1661485246.218586][6993:6993] CHIP:DMG:                                         0x3 = 1,
          [1661485246.218639][6993:6993] CHIP:DMG:                                         0x4 = 1,
          [1661485246.218697][6993:6993] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661485246.218754][6993:6993] CHIP:DMG:                                         0xfe = 1,
          [1661485246.218807][6993:6993] CHIP:DMG:                                 },
          [1661485246.218858][6993:6993] CHIP:DMG:                         },
          [1661485246.218919][6993:6993] CHIP:DMG:
          [1661485246.218966][6993:6993] CHIP:DMG:                 },
          [1661485246.219032][6993:6993] CHIP:DMG:
          [1661485246.219068][6993:6993] CHIP:DMG:                 AttributeReportIB =
          [1661485246.219123][6993:6993] CHIP:DMG:                 {
          [1661485246.219164][6993:6993] CHIP:DMG:                         AttributeDataIB =
          [1661485246.219211][6993:6993] CHIP:DMG:                         {
          [1661485246.219258][6993:6993] CHIP:DMG:                                 DataVersion = 0x8c3795b,
          [1661485246.219306][6993:6993] CHIP:DMG:                                 AttributePathIB =
          [1661485246.219359][6993:6993] CHIP:DMG:                                 {
          [1661485246.219414][6993:6993] CHIP:DMG:                                         Endpoint = 0x0,
          [1661485246.219472][6993:6993] CHIP:DMG:                                         Cluster = 0x3e,
          [1661485246.219525][6993:6993] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661485246.219581][6993:6993] CHIP:DMG:                                         ListIndex = Null,
          [1661485246.219633][6993:6993] CHIP:DMG:                                 }
          [1661485246.219689][6993:6993] CHIP:DMG:
          [1661485246.219742][6993:6993] CHIP:DMG:                                 Data =
          [1661485246.219795][6993:6993] CHIP:DMG:                                 {
          [1661485246.219849][6993:6993] CHIP:DMG:                                         0x1 = [
          [1661485246.219931][6993:6993] CHIP:DMG:                                                         0x4, 0x7b, 0x5b, 0x9a, 0x2a, 0xd1, 0x4e, 0x1e, 0x8d, 0xf4, 0xca, 0xea, 0xde, 0x1c, 0xbe, 0xa7, 0xf6, 0xd4, 0xa1, 0xe8, 0xf0, 0x20, 0x9f, 0x6c, 0x38, 0x30, 0x31, 0x88, 0xb5, 0x89, 0x69, 0xd4, 0x7, 0x17, 0x16, 0x85, 0x25, 0x55, 0x8f, 0x5b, 0xed, 0x58, 0x68, 0x27, 0xde, 0x5e, 0xf6, 0xf9, 0xf8, 0x99, 0x54, 0x92, 0x8e, 0x33, 0xa6, 0xf4, 0xb0, 0x5a, 0xc1, 0xa6, 0x1a, 0xf5, 0x2, 0xb4, 0x4f,
          [1661485246.220001][6993:6993] CHIP:DMG:                                         ] (65 bytes)
          [1661485246.220056][6993:6993] CHIP:DMG:                                         0x2 = 65521,
          [1661485246.220109][6993:6993] CHIP:DMG:                                         0x3 = 2,
          [1661485246.220197][6993:6993] CHIP:DMG:                                         0x4 = 1,
          [1661485246.220253][6993:6993] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661485246.220307][6993:6993] CHIP:DMG:                                         0xfe = 4,
          [1661485246.220361][6993:6993] CHIP:DMG:                                 },
          [1661485246.220407][6993:6993] CHIP:DMG:                         },
          [1661485246.220464][6993:6993] CHIP:DMG:
          [1661485246.220505][6993:6993] CHIP:DMG:                 },
          [1661485246.220570][6993:6993] CHIP:DMG:
          [1661485246.220607][6993:6993] CHIP:DMG:                 AttributeReportIB =
          [1661485246.220659][6993:6993] CHIP:DMG:                 {
          [1661485246.220698][6993:6993] CHIP:DMG:                         AttributeDataIB =
          [1661485246.220743][6993:6993] CHIP:DMG:                         {
          [1661485246.220792][6993:6993] CHIP:DMG:                                 DataVersion = 0x8c3795b,
          [1661485246.220843][6993:6993] CHIP:DMG:                                 AttributePathIB =
          [1661485246.220892][6993:6993] CHIP:DMG:                                 {
          [1661485246.220943][6993:6993] CHIP:DMG:                                         Endpoint = 0x0,
          [1661485246.220996][6993:6993] CHIP:DMG:                                         Cluster = 0x3e,
          [1661485246.221049][6993:6993] CHIP:DMG:                                         Attribute = 0x0000_0001,
          [1661485246.221101][6993:6993] CHIP:DMG:                                         ListIndex = Null,
          [1661485246.221154][6993:6993] CHIP:DMG:                                 }
          [1661485246.221205][6993:6993] CHIP:DMG:
          [1661485246.221257][6993:6993] CHIP:DMG:                                 Data =
          [1661485246.221307][6993:6993] CHIP:DMG:                                 {
          [1661485246.221359][6993:6993] CHIP:DMG:                                         0x1 = [
          [1661485246.221441][6993:6993] CHIP:DMG:                                                         0x4, 0x14, 0x2a, 0x75, 0x60, 0x97, 0xf8, 0x6d, 0x97, 0xe, 0xcb, 0x79, 0x70, 0x9b, 0xe4, 0xf2, 0x97, 0x3a, 0xe2, 0xf5, 0xe0, 0xff, 0x4, 0x4, 0xf2, 0xc9, 0x13, 0xf6, 0xd6, 0x0, 0x9c, 0x94, 0xca, 0xd7, 0xd1, 0x81, 0xfd, 0x77, 0xf1, 0x5b, 0x13, 0xc7, 0x78, 0x74, 0x30, 0x28, 0x9f, 0x18, 0x73, 0x45, 0xe, 0xde, 0xb8, 0xba, 0x88, 0x8d, 0x90, 0x43, 0x58, 0x35, 0x2c, 0xb1, 0x5a, 0xe7, 0xe,
          [1661485246.221511][6993:6993] CHIP:DMG:                                         ] (65 bytes)
          [1661485246.221569][6993:6993] CHIP:DMG:                                         0x2 = 65521,
          [1661485246.221628][6993:6993] CHIP:DMG:                                         0x3 = 3,
          [1661485246.221681][6993:6993] CHIP:DMG:                                         0x4 = 1,
          [1661485246.221740][6993:6993] CHIP:DMG:                                         0x5 = "" (0 chars),
          [1661485246.221795][6993:6993] CHIP:DMG:                                         0xfe = 3,
          [1661485246.221847][6993:6993] CHIP:DMG:                                 },
          [1661485246.221895][6993:6993] CHIP:DMG:                         },
          [1661485246.221949][6993:6993] CHIP:DMG:
          [1661485246.221990][6993:6993] CHIP:DMG:                 },
          [1661485246.222040][6993:6993] CHIP:DMG:
          [1661485246.222075][6993:6993] CHIP:DMG:         ],
          [1661485246.222156][6993:6993] CHIP:DMG:
          [1661485246.222193][6993:6993] CHIP:DMG:         SuppressResponse = true,
          [1661485246.222230][6993:6993] CHIP:DMG:         InteractionModelRevision = 1
          [1661485246.222265][6993:6993] CHIP:DMG: }
          [1661485246.222297][6993:6993] CHIP:DMG:
      disabled: true
