# 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:
    4.1.1. [TC-CADMIN-1.1] Administrator Behavior using ECM [DUT - Commissioner]

PICS:
    - CADMIN.C

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

tests:
    - label: "TH_CR1 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          "1. Provision the device using 1st controller chip-tool  on the raspi (use above instructions)
          "
      disabled: true

    - label:
          "TH_CR1 sends command to TH_CE to open a commissioning window with a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM
          (Enhanced Commissioning Method)."
      PICS: CADMIN.C.C00.Tx
      verification: |
          On 1st controller using chip tool, open commissioning window using ECM

          ./chip-tool  pairing open-commissioning-window 1 1 400 2000 3841

          Controller:

          CHIP:IN: Sending encrypted msg 0xaaaad3464d10 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 5805157 msec
          [1635691999.946536][3822:3827] CHIP:DMG: ICR moving to [CommandSen]
          [1635691999.946586][3822:3827] CHIP:CTL: Manual pairing code: [35407541839]
          [1635691999.946650][3822:3827] CHIP:CTL: SetupQRCode: [MT:00000CQM00G6V851H10]
          [1635691999.946802][3822:3827] CHIP:EM: Sending Standalone Ack for MessageCounter:3234931243 on exchange 35324i
          [1635691999.946850][3822:3827] CHIP:IN: Prepared plaintext message 0xffffaa58a960 to 0x0000000000000000 of type 0x10 and protocolId (0, 0) on exchange 35324i with MessageCounter:1726016118.
          [1635691999.946895][3822:3827] CHIP:IN: Sending plaintext msg 0xffffaa58a960 with MessageCounter:1726016118 to 0x0000000000000000 at monotonic time: 5805158 msec
          [1635691999.946983][3822:3827] CHIP:EM: Flushed pending ack for MessageCounter:3234931243 on exchange 35324i

          Device:

          CHIP minimal mDNS started advertising.
          [1635687658.683388][3792:3792] CHIP:DIS: Failed to find a valid admin pairing. Node ID unknown
          [1635687658.683427][3792:3792] CHIP:DIS: Start dns-sd server - no current nodeId
          [1635687658.683456][3792:3792] CHIP:DL: MAC is not known, using a default.
          [1635687658.683522][3792:3792] CHIP:DIS: Advertise commission parameter vendorID=9050 productID=65279 discriminator=3840/00
          [1635687658.683597][3792:3792] CHIP:DIS: CHIP minimal mDNS configured as "Commissionable node device".
          [1635687658.684345][3792:3792] CHIP:DIS: Broadcasting mDns reply for query from 192.168.0.225
          [1635687658.687201][3792:3792] CHIP:DIS: Broadcasting mDns reply for query from 192.168.0.225
      disabled: true

    - label: "TH_CR1 sends command to TH_CE to read the list of Fabrics"
      PICS: OPCREDS.C.A0001
      verification: |
          On 1st controller using chip tool read fabricList

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


           CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 3621507058
          [1649245801.244173][10091:10096] CHIP:TOO:   Fabrics: 1 entries
          [1649245801.244305][10091:10096] CHIP:TOO:     [1]: {
          [1649245801.244348][10091:10096] CHIP:TOO:       RootPublicKey: 045541017FCEFD0D83963C9ED7F21380C6B789EB989B5D20DC318FAE92D60D0F685666505E9C4F86C49ADC71AB3A8B9B44FD43214CF9BE2B6D47DE01F28FE1544F
          [1649245801.244400][10091:10096] CHIP:TOO:       VendorId: 65521
          [1649245801.244431][10091:10096] CHIP:TOO:       FabricId: 1
          [1649245801.244461][10091:10096] CHIP:TOO:       NodeId: 1
          [1649245801.244491][10091:10096] CHIP:TOO:       Label:
          [1649245801.244521][10091:10096] CHIP:TOO:       FabricIndex: 1
          [1649245801.244552][10091:10096] CHIP:TOO:      }
          [1649245801.244671][10091:10096] CHIP:EM: Sending Standalone Ack for MessageCounter:8407998 on exchange 12989i
      disabled: true

    - label: "DUT_CR2 starts a commissioning process with TH_CE"
      PICS: CADMIN.C
      verification: |
          On 2nd controller, using chip-tool connect using manual code.
          Below is the example when using chip tool as controller (considering 35998938564 as the manual code generated by 1st controller)
          ./chip-tool pairing code 2 35998938564

           Verify whether you got below message in the log of TH

          Device commissioning completed with success
      disabled: true

    - label: "Verify TH_CE is now discoverable over DNS-SD with two SRV Records"
      verification: |
          On the raspi , Verify if the DUT is broadcasting using

          ubuntu@ubuntu:~/may10_cntrl2/connectedhomeip/examples/chip-tool/out/debug$ avahi-browse -rt _matter._tcp
          +   eth0 IPv6 E0AF53B23E580769-0000000000000002             _matter._tcp         local
          +   eth0 IPv6 7FF84D214A19B581-0000000000000001             _matter._tcp         local
          =   eth0 IPv6 E0AF53B23E580769-0000000000000002             _matter._tcp         local
             hostname = [E45F010F3BAF0000.local]
             address = [fe80::e65f:1ff:fe0f:3baf]
             port = [5540]
             txt = ["T=1" "CRA=300" "CRI=5000"]
          =   eth0 IPv6 7FF84D214A19B581-0000000000000001             _matter._tcp         local
             hostname = [E45F010F3BAF0000.local]
             address = [fe80::e65f:1ff:fe0f:3baf]
             port = [5540]
             txt = ["T=1" "CRA=300" "CRI=5000"]
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to write and read the Basic
          Information Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          On 2nd controller using chip tool write and read node-label

          Below is the example when using chip tool as controller
          ./chip-tool basic write node-label te5new 2 0

          CHIP:DMG: WriteClient moving to [ResponseRe]
          [1649671460.431199][20958:20963] CHIP:DMG: WriteResponseMessage =
          [1649671460.431217][20958:20963] CHIP:DMG: {
          [1649671460.431230][20958:20963] CHIP:DMG:         AttributeStatusIBs =
          [1649671460.431252][20958:20963] CHIP:DMG:         [
          [1649671460.431266][20958:20963] CHIP:DMG:                 AttributeStatusIB =
          [1649671460.431282][20958:20963] CHIP:DMG:                 {
          [1649671460.431297][20958:20963] CHIP:DMG:                         AttributePathIB =
          [1649671460.431314][20958:20963] CHIP:DMG:                         {
          [1649671460.431331][20958:20963] CHIP:DMG:                                 Endpoint = 0x0,
          [1649671460.431347][20958:20963] CHIP:DMG:                                 Cluster = 0x28,
          [1649671460.431364][20958:20963] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649671460.431380][20958:20963] CHIP:DMG:                         }
          [1649671460.431403][20958:20963] CHIP:DMG:
          [1649671460.431422][20958:20963] CHIP:DMG:                         StatusIB =
          [1649671460.431445][20958:20963] CHIP:DMG:                         {
          [1649671460.431467][20958:20963] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649671460.431488][20958:20963] CHIP:DMG:                         },
          [1649671460.431511][20958:20963] CHIP:DMG:
          [1649671460.431530][20958:20963] CHIP:DMG:                 },
          [1649671460.431556][20958:20963] CHIP:DMG:
          [1649671460.431570][20958:20963] CHIP:DMG:         ],
          [1649671460.431593][20958:20963] CHIP:DMG:
          [1649671460.431607][20958:20963] CHIP:DMG:         InteractionModelRevision = 1
          [1649671460.431620][20958:20963] CHIP:DMG: }
          [1649671460.431685][20958:20963] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1649671460.431729][20958:20963] CHIP:EM: Sending Standalone Ack for MessageCounter:11088724 on exchange 41848i



          Verify read attribute returns the updated value written

          ./chip-tool basic read node-label 2 0

          CHIP:DMG: ReportDataMessage =
          [1649671466.310233][20969:20974] CHIP:DMG: {
          [1649671466.310241][20969:20974] CHIP:DMG:         AttributeReportIBs =
          [1649671466.310256][20969:20974] CHIP:DMG:         [
          [1649671466.310265][20969:20974] CHIP:DMG:                 AttributeReportIB =
          [1649671466.310281][20969:20974] CHIP:DMG:                 {
          [1649671466.310292][20969:20974] CHIP:DMG:                         AttributeDataIB =
          [1649671466.310304][20969:20974] CHIP:DMG:                         {
          [1649671466.310317][20969:20974] CHIP:DMG:                                 DataVersion = 0xd581a5e8,
          [1649671466.310328][20969:20974] CHIP:DMG:                                 AttributePathIB =
          [1649671466.310342][20969:20974] CHIP:DMG:                                 {
          [1649671466.310355][20969:20974] CHIP:DMG:                                         Endpoint = 0x0,
          [1649671466.310367][20969:20974] CHIP:DMG:                                         Cluster = 0x28,
          [1649671466.310380][20969:20974] CHIP:DMG:                                         Attribute = 0x0000_0005,
          [1649671466.310391][20969:20974] CHIP:DMG:                                 }
          [1649671466.310405][20969:20974] CHIP:DMG:
          [1649671466.310420][20969:20974] CHIP:DMG:                                         Data = "te8",
          [1649671466.310432][20969:20974] CHIP:DMG:                         },
          [1649671466.310446][20969:20974] CHIP:DMG:
          [1649671466.310457][20969:20974] CHIP:DMG:                 },
          [1649671466.310471][20969:20974] CHIP:DMG:
          [1649671466.310481][20969:20974] CHIP:DMG:         ],
          [1649671466.310497][20969:20974] CHIP:DMG:
          [1649671466.310508][20969:20974] CHIP:DMG:         SuppressResponse = true,
          [1649671466.310518][20969:20974] CHIP:DMG:         InteractionModelRevision = 1
          [1649671466.310528][20969:20974] CHIP:DMG: }
          [1649671466.310629][20969:20974] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3582043624
          [1649671466.310646][20969:20974] CHIP:TOO:   NodeLabel: te8
          [1649671466.310704][20969:20974] CHIP:EM: Sending Standalone Ack for MessageCounter:15357338 on exchange 20724i
      disabled: true

    - label: "DUT_CR2 sends command to TH_CE to read the list of Fabrics"
      PICS: OPCREDS.C.A0001
      verification: |
          On 2nd controller using chip tool read fabricList


          Below is the example using chip tool as controller

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


          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_0001 DataVersion: 3621507063
          [1649245825.315152][10098:10103] CHIP:TOO:   Fabrics: 2 entries
          [1649245825.315316][10098:10103] CHIP:TOO:     [1]: {
          [1649245825.315370][10098:10103] CHIP:TOO:       RootPublicKey: 045541017FCEFD0D83963C9ED7F21380C6B789EB989B5D20DC318FAE92D60D0F685666505E9C4F86C49ADC71AB3A8B9B44FD43214CF9BE2B6D47DE01F28FE1544F
          [1649245825.315436][10098:10103] CHIP:TOO:       VendorId: 65521
          [1649245825.315479][10098:10103] CHIP:TOO:       FabricId: 1
          [1649245825.315518][10098:10103] CHIP:TOO:       NodeId: 1
          [1649245825.315557][10098:10103] CHIP:TOO:       Label:
          [1649245825.315596][10098:10103] CHIP:TOO:       FabricIndex: 1
          [1649245825.315637][10098:10103] CHIP:TOO:      }
          [1649245825.315697][10098:10103] CHIP:TOO:     [2]: {
          [1649245825.315747][10098:10103] CHIP:TOO:       RootPublicKey: 047D75BF7D91FCFFB29DAD375D09790FEBE9205227C44D4FF8EB70ADAD02E416E08269B9F77E86FE14270525B64C41417CEA3E9FDE0552AE8DF05F8D98B6B6E2E2
          [1649245825.315789][10098:10103] CHIP:TOO:       VendorId: 65521
          [1649245825.315830][10098:10103] CHIP:TOO:       FabricId: 1
          [1649245825.315870][10098:10103] CHIP:TOO:       NodeId: 2
          [1649245825.315908][10098:10103] CHIP:TOO:       Label:
          [1649245825.315947][10098:10103] CHIP:TOO:       FabricIndex: 2
          [1649245825.315986][10098:10103] CHIP:TOO:      }
      disabled: true

    - label:
          "TH_CR1 sends command to TH_CE to write and read the Basic Information
          Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          On TH1 using chip tool, write attribute and read attribute

          ./chip-tool basic write node-label te8 1 0

          CHIP:DMG: WriteResponse =
          CHIP:DMG: WriteResponseMessage =
          [1649245940.788522][10110:10115] CHIP:DMG: {
          [1649245940.788577][10110:10115] CHIP:DMG:         AttributeStatusIBs =
          [1649245940.788653][10110:10115] CHIP:DMG:         [
          [1649245940.788713][10110:10115] CHIP:DMG:                 AttributeStatusIB =
          [1649245940.788787][10110:10115] CHIP:DMG:                 {
          [1649245940.788852][10110:10115] CHIP:DMG:                         AttributePathIB =
          [1649245940.788931][10110:10115] CHIP:DMG:                         {
          [1649245940.789009][10110:10115] CHIP:DMG:                                 Endpoint = 0x0,
          [1649245940.789143][10110:10115] CHIP:DMG:                                 Cluster = 0x28,
          [1649245940.789228][10110:10115] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649245940.789313][10110:10115] CHIP:DMG:                         }
          [1649245940.789388][10110:10115] CHIP:DMG:
          [1649245940.789454][10110:10115] CHIP:DMG:                         StatusIB =
          [1649245940.789519][10110:10115] CHIP:DMG:                         {
          [1649245940.789588][10110:10115] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649245940.789654][10110:10115] CHIP:DMG:                         },
          [1649245940.789719][10110:10115] CHIP:DMG:
          [1649245940.789778][10110:10115] CHIP:DMG:                 },
          [1649245940.789841][10110:10115] CHIP:DMG:
          [1649245940.789885][10110:10115] CHIP:DMG:         ],
          [1649245940.789941][10110:10115] CHIP:DMG:
          [1649245940.789984][10110:10115] CHIP:DMG:         InteractionModelRevision = 1
          [1649245940.790033][10110:10115] CHIP:DMG: }
          [1649245940.790167][10110:10115] CHIP:DMG: WriteClient moving to [AwaitingDe]


          Verify read attribute returns the updated value written
          ./chip-tool basic read node-label 1 0

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3061847068
          [1649245950.006849][10116:10121] CHIP:TOO:   NodeLabel: te8
          [1649245950.007024][10116:10121] CHIP:EM: Sending Standalone Ack for MessageCounter:12495101 on exchange 24816i
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to read, write and then read the Basic
          Information Clusters NodeLabel mandatory attribute"
      PICS: BINFO.C.A0005
      verification: |
          On TH2 using chip-tool read, write attribute and then read attribute to and from TH_CE

          Below is an example of using chip tool as controller

          ./chip-tool basic write node-label te5new 2 0

          CHIP:DMG: WriteResponseMessage =
          [1649245940.788522][10110:10115] CHIP:DMG: {
          [1649245940.788577][10110:10115] CHIP:DMG:         AttributeStatusIBs =
          [1649245940.788653][10110:10115] CHIP:DMG:         [
          [1649245940.788713][10110:10115] CHIP:DMG:                 AttributeStatusIB =
          [1649245940.788787][10110:10115] CHIP:DMG:                 {
          [1649245940.788852][10110:10115] CHIP:DMG:                         AttributePathIB =
          [1649245940.788931][10110:10115] CHIP:DMG:                         {
          [1649245940.789009][10110:10115] CHIP:DMG:                                 Endpoint = 0x0,
          [1649245940.789143][10110:10115] CHIP:DMG:                                 Cluster = 0x28,
          [1649245940.789228][10110:10115] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649245940.789313][10110:10115] CHIP:DMG:                         }
          [1649245940.789388][10110:10115] CHIP:DMG:
          [1649245940.789454][10110:10115] CHIP:DMG:                         StatusIB =
          [1649245940.789519][10110:10115] CHIP:DMG:                         {
          [1649245940.789588][10110:10115] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649245940.789654][10110:10115] CHIP:DMG:                         },
          [1649245940.789719][10110:10115] CHIP:DMG:
          [1649245940.789778][10110:10115] CHIP:DMG:                 },
          [1649245940.789841][10110:10115] CHIP:DMG:
          [1649245940.789885][10110:10115] CHIP:DMG:         ],
          [1649245940.789941][10110:10115] CHIP:DMG:
          [1649245940.789984][10110:10115] CHIP:DMG:         InteractionModelRevision = 1
          [1649245940.790033][10110:10115] CHIP:DMG: }
          [1649245940.790167][10110:10115] CHIP:DMG: WriteClient moving to [AwaitingDe]

          Verify read attribute returns the updated value written

          ./chip-tool basic read node-label 2 0

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3061847068
          [1649245950.006849][10116:10121] CHIP:TOO:   NodeLabel: te5new
          [1649245950.007024][10116:10121] CHIP:EM: Sending Standalone Ack for MessageCounter:12495101 on exchange 24816i
      disabled: true

    - label: "Turn off TH_CR1"
      verification: |
          No need to do anything as chip-tool process exits after each command
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to open a commissioning window using a
          commissioning timeout of PIXIT.CADMIN.CwDuration seconds using ECM
          (Enhanced Commissioning Method)"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On TH2 open commissioning window using ECM

          Below is an example when using chip tool as controller
          ./chip-tool pairing open-commissionig-window 2 1 300 1000 3841

          CHIP: [IN] Prepared encrypted message 0x124012e80 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 50829i with MessageCounter:0.
          [1635693418549] [30519:4583024] CHIP: [IN] Sending encrypted msg 0x124012e80 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 5995099243 msec
          [1635693418549] [30519:4583024] CHIP: [DMG] ICR moving to [CommandSen]
          [1635693418549] [30519:4583024] CHIP: [CTL] Manual pairing code: [34995354639]
          [1635693418550] [30519:4583024] CHIP: [CTL] SetupQRCode: [MT:00000CQM00YND84XX10]
          [1635693418550] [30519:4583024] CHIP: [EM] Sending Standalone Ack for MessageCounter:3441918415 on exchange 50828i
          [1635693418550] [30519:4583024] CHIP: [IN] Prepared plaintext message 0x16b92d198 to 0x0000000000000000 of type 0x10 and protocolId (0, 0) on exchange 50828i with MessageCounter:3727034150.
          [1635693418550] [30519:4583024] CHIP: [IN] Sending plaintext msg 0x16b92d198 with Mes
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to revoke the commissioning window
          using the Revoke Commissioning command"
      PICS: CADMIN.C.C02.Tx
      verification: |
          On TH2, run revoke command

          Below is an example when using chip tool as controller

          ./chip-tool administratorcommissioning revoke-commissioning 2 0 --timedInteractionTimeoutMs 1000


          CHIP: [DMG] InvokeResponseMessage =
          [1648115245106] [6681:3894448] CHIP: [DMG] {
          [1648115245106] [6681:3894448] CHIP: [DMG]         suppressResponse = false,
          [1648115245106] [6681:3894448] CHIP: [DMG]         InvokeResponseIBs =
          [1648115245106] [6681:3894448] CHIP: [DMG]         [
          [1648115245106] [6681:3894448] CHIP: [DMG]                 InvokeResponseIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                 {
          [1648115245106] [6681:3894448] CHIP: [DMG]                         CommandStatusIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                         {
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 CommandPathIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 {
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         EndpointId = 0x0,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         ClusterId = 0x3c,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         CommandId = 0x2,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 },
          [1648115245106] [6681:3894448] CHIP: [DMG]
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 StatusIB =
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 {
          [1648115245106] [6681:3894448] CHIP: [DMG]                                         status = 0x0,
          [1648115245106] [6681:3894448] CHIP: [DMG]                                 },
          [1648115245106] [6681:3894448] CHIP: [DMG]
          [1648115245106] [6681:3894448] CHIP: [DMG]                         },
          [1648115245106] [6681:3894448] CHIP: [DMG]
          [1648115245106] [6681:3894448] CHIP: [DMG]                 },
          [1648115245106] [6681:3894448] CHIP: [DMG]
          [1648115245106] [6681:3894448] CHIP: [DMG]         ],
          [1648115245107] [6681:3894448] CHIP: [DMG]
          [1648115245107] [6681:3894448] CHIP: [DMG]         InteractionModelRevision = 1
          [1648115245107] [6681:3894448] CHIP: [DMG] },
          [1648115245107] [6681:3894448] CHIP: [DMG] Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0002 Status=0x0
      disabled: true

    - label:
          "TH_CR3 attempts to execute a PASE to starts a commissioning process
          with TH_CE"
      PICS: CADMIN.C
      verification: |
          On TH3 using chip-tool connect using manual code generated from 1st controller. This attempt should fail, i.e

          ./chip-tool pairing code 1  34995354639

          verify you got the following message in the TH log
          CHIP:SC: PASESession timed out while waiting for a response from the peer. Expected message type was 33
          CHIP:TOO: Secure Pairing Failed
          CHIP:TOO: Pairing Failure: ../../third_party/connectedhomeip/src/protocols/secure_channel/PASESession.cpp:324: CHIP Error 0x00000032: Timeout
      disabled: true

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

          Below is the example using chip tool as controller

          ./chip-tool basic write node-label te5new 2 0

          CHIP:DMG: WriteResponseMessage =
          [1649245940.788522][10110:10115] CHIP:DMG: {
          [1649245940.788577][10110:10115] CHIP:DMG:         AttributeStatusIBs =
          [1649245940.788653][10110:10115] CHIP:DMG:         [
          [1649245940.788713][10110:10115] CHIP:DMG:                 AttributeStatusIB =
          [1649245940.788787][10110:10115] CHIP:DMG:                 {
          [1649245940.788852][10110:10115] CHIP:DMG:                         AttributePathIB =
          [1649245940.788931][10110:10115] CHIP:DMG:                         {
          [1649245940.789009][10110:10115] CHIP:DMG:                                 Endpoint = 0x0,
          [1649245940.789143][10110:10115] CHIP:DMG:                                 Cluster = 0x28,
          [1649245940.789228][10110:10115] CHIP:DMG:                                 Attribute = 0x0000_0005,
          [1649245940.789313][10110:10115] CHIP:DMG:                         }
          [1649245940.789388][10110:10115] CHIP:DMG:
          [1649245940.789454][10110:10115] CHIP:DMG:                         StatusIB =
          [1649245940.789519][10110:10115] CHIP:DMG:                         {
          [1649245940.789588][10110:10115] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1649245940.789654][10110:10115] CHIP:DMG:                         },
          [1649245940.789719][10110:10115] CHIP:DMG:
          [1649245940.789778][10110:10115] CHIP:DMG:                 },
          [1649245940.789841][10110:10115] CHIP:DMG:
          [1649245940.789885][10110:10115] CHIP:DMG:         ],
          [1649245940.789941][10110:10115] CHIP:DMG:
          [1649245940.789984][10110:10115] CHIP:DMG:         InteractionModelRevision = 1
          [1649245940.790033][10110:10115] CHIP:DMG: }
          [1649245940.790167][10110:10115] CHIP:DMG: WriteClient moving to [AwaitingDe]

          Verify read attribute returns the updated value written

          ./chip-tool basic read node-label 2 0

          CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 3061847068
          [1649245950.006849][10116:10121] CHIP:TOO:   NodeLabel: te8
          [1649245950.007024][10116:10121] CHIP:EM: Sending Standalone Ack for MessageCounter:12495101 on exchange 24816i
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to open a commissioning window using
          ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On TH2 open commissioning window using ECM

          Below is an example when using chip tool as controller
          ./chip-tool pairing open-commissioning-window 2 1 180 1000 3840

          CHIP: [IN] Prepared encrypted message 0x124012e80 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 50829i with MessageCounter:0.
          [1635693418549] [30519:4583024] CHIP: [IN] Sending encrypted msg 0x124012e80 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 5995099243 msec
          [1635693418549] [30519:4583024] CHIP: [DMG] ICR moving to [CommandSen]
          [1635693418549] [30519:4583024] CHIP: [CTL] Manual pairing code: [34995354639]
          [1635693418550] [30519:4583024] CHIP: [CTL] SetupQRCode: [MT:00000CQM00YND84XX10]
          [1635693418550] [30519:4583024] CHIP: [EM] Sending Standalone Ack for MessageCounter:3441918415 on exchange 50828i
          [1635693418550] [30519:4583024] CHIP: [IN] Prepared plaintext message 0x16b92d198 to 0x0000000000000000 of type 0x10 and protocolId (0, 0) on exchange 50828i with MessageCounter:3727034150.
          [1635693418550] [30519:4583024] CHIP: [IN] Sending plaintext msg 0x16b92d198 with Mes
      disabled: true

    - label:
          "Wait for commissioning window that was opened in step 13 to timeout"
      verification: |
          Wait for the timeout of commissioning window in the above step
      disabled: true

    - label:
          "DUT_CR2 sends command to TH_CE to open a commissioning window using
          ECM"
      PICS: CADMIN.C.C00.Tx
      verification: |
          On TH2 open commissioning window using ECM

          Below is an example when using chip tool as controller
          ./chip-tool pairing open-commissionig-window 2 1 300 1000 3840

          CHIP: [IN] Prepared encrypted message 0x124012e80 to 0x0000000000000001 of type 0x8 and protocolId (0, 1) on exchange 50829i with MessageCounter:0.
          [1635693418549] [30519:4583024] CHIP: [IN] Sending encrypted msg 0x124012e80 with MessageCounter:0 to 0x0000000000000001 at monotonic time: 5995099243 msec
          [1635693418549] [30519:4583024] CHIP: [DMG] ICR moving to [CommandSen]
          [1635693418549] [30519:4583024] CHIP: [CTL] Manual pairing code: [34995354639]
          [1635693418550] [30519:4583024] CHIP: [CTL] SetupQRCode: [MT:00000CQM00YND84XX10]
          [1635693418550] [30519:4583024] CHIP: [EM] Sending Standalone Ack for MessageCounter:3441918415 on exchange 50828i
          [1635693418550] [30519:4583024] CHIP: [IN] Prepared plaintext message 0x16b92d198 to 0x0000000000000000 of type 0x10 and protocolId (0, 0) on exchange 50828i with MessageCounter:3727034150.
          [1635693418550] [30519:4583024] CHIP: [IN] Sending plaintext msg 0x16b92d198 with Mes
      disabled: true

    - label:
          "TH_CR1 starts a commissioning process with TH_CE before the timeout
          from step 15"
      PICS: CADMIN.C
      verification: |
          On TH1, using chip-tool connect using manual code.

          Below is the example when using chip tool as controller (considering 34995354639 as the manual code generated by DUT)
          ./chip-tool pairing code 2 34995354639

          [1651786200275] [36301:315544] CHIP: [DMG] Received Command Response Data, Endpoint=0 Cluster=0x0000_003E Command=0x0000_0008
          [1651786200275] [36301:315544] CHIP: [CTL] Device returned status 9 on receiving the NOC
          [1651786200275] [36301:315544] CHIP: [CTL] Add NOC failed with error ../../src/controller/CHIPDeviceController.cpp:1187: CHIP Error 0x0000007E: Trying to add a NOC for a fabric that already exists
          [1651786200275] [36301:315544] CHIP: [CTL] Error on commissioning step "SendNOC": "../../src/controller/CHIPDeviceController.cpp:1187: CHIP Error 0x0000007E: Trying to add a NOC for a fabric that already exists"

          Verify that the commissioning process fails as TH_CE was already commissioned by TH_CR1 in step 1
      disabled: true
