# 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: 15.4.1. [TC-SC-4.1] Commissionable Node Discovery [DUT as Commissionee]

PICS:
    - MCORE.ROLE.COMMISSIONEE

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

tests:
    - label:
          "DUT is Commissioned and put in Commissioning Mode using Open Basic
          Commissioning Window command and starts advertising Commissionable
          Node Discovery service using DNS-SD"
      PICS: CADMIN.S.C01.Rsp
      verification: |
          ./chip-tool administratorcommissioning open-basic-commissioning-window 200 1 0 --timedInteractionTimeoutMs 1000

          verify on TH (Chip-tool) Logs:

          [1652340903.034346][2874:2879] CHIP:DMG: InvokeResponseMessage =
          [1652340903.034398][2874:2879] CHIP:DMG: {
          [1652340903.034447][2874:2879] CHIP:DMG:         suppressResponse = false,
          [1652340903.034499][2874:2879] CHIP:DMG:         InvokeResponseIBs =
          [1652340903.034565][2874:2879] CHIP:DMG:         [
          [1652340903.034615][2874:2879] CHIP:DMG:                 InvokeResponseIB =
          [1652340903.034748][2874:2879] CHIP:DMG:                 {
          [1652340903.034806][2874:2879] CHIP:DMG:                         CommandStatusIB =
          [1652340903.034873][2874:2879] CHIP:DMG:                         {
          [1652340903.034936][2874:2879] CHIP:DMG:                                 CommandPathIB =
          [1652340903.035006][2874:2879] CHIP:DMG:                                 {
          [1652340903.035078][2874:2879] CHIP:DMG:                                         EndpointId = 0x0,
          [1652340903.035159][2874:2879] CHIP:DMG:                                         ClusterId = 0x3c,
          [1652340903.035223][2874:2879] CHIP:DMG:                                         CommandId = 0x1,
          [1652340903.035291][2874:2879] CHIP:DMG:                                 },
          [1652340903.035362][2874:2879] CHIP:DMG:
          [1652340903.035423][2874:2879] CHIP:DMG:                                 StatusIB =
          [1652340903.035495][2874:2879] CHIP:DMG:                                 {
          [1652340903.035566][2874:2879] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1652340903.035634][2874:2879] CHIP:DMG:                                 },
          [1652340903.035704][2874:2879] CHIP:DMG:
          [1652340903.035763][2874:2879] CHIP:DMG:                         },
          [1652340903.035841][2874:2879] CHIP:DMG:
          [1652340903.035898][2874:2879] CHIP:DMG:                 },
          [1652340903.035965][2874:2879] CHIP:DMG:
          [1652340903.036014][2874:2879] CHIP:DMG:         ],
          [1652340903.036077][2874:2879] CHIP:DMG:
          [1652340903.036126][2874:2879] CHIP:DMG:         InteractionModelRevision = 1
          [1652340903.036175][2874:2879] CHIP:DMG: },
          [1652340903.036294][2874:2879] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0
          [1652340903.036375][2874:2879] CHIP:DMG: ICR moving to [AwaitingDe]

          The delay timer is given 200 as an example , use whatever works for your product
      disabled: true

    - label: "Check DNS-SD subtypes used by DUT"
      PICS:
          MCORE.COM.WIFI && MCORE.COM.ETH && MCORE.COM.THR &&
          MCORE.SC.VENDOR_SUBTYPE && MCORE.SC.DEVTYPE_SUBTYPE && MCORE.SC.VP_KEY
          && MCORE.SC.SII_OP_DISCOVERY_KEY && MCORE.SC.SAI_OP_DISCOVERY_KEY &&
          MCORE.SC.DT_KEY&& MCORE.SC.DN_KEY && MCORE.SC.RI_KEY &&
          MCORE.SC.PH_KEY && MCORE.SC.PI_KEY
      verification: |
          Run the below commands within the mentioned time interval used in open-commissioning-window in step-1.
          Run the below avahi browse command in the TH terminal

          avahi-browse -rt _matterc._udp


          ubuntu@ubuntu:~$   avahi-browse -rt _matterc._udp

          Verify the device is advertising _matterc._udp service like below output in TH terminal Log: (Verify for the DUT"s actual values (like vendor ID, PID ..etc) as mentioned in the expected outcome of the test plan, The below log contains the data from the reference raspi accessory)


          + br-f08e8f665bd1 IPv6 279142392CEB80C3                              _matterc._udp        local
          + br-6fe235aff062 IPv6 279142392CEB80C3                              _matterc._udp        local
          = vethd8d0eac IPv6 279142392CEB80C3                              _matterc._udp        local
             hostname = [E45F0149AE290000.local]
             address = [fe80::4070:50ff:fe90:759d]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]



          If we use Thread setup, then the Service Domain will be 422F10CDC290A406.local
          verify CM flag is 1

          to look for subtypes, on the raspi run $ avahi-browse -p _services._dns-sd._udp | grep _matterc

          +;eth0;IPv6;_matterc;_udp;local
          +;eth0;IPv6;_V65521;_sub._matterc._udp;local
          +;eth0;IPv6;_S15;_sub._matterc._udp;local
          +;eth0;IPv6;_L3840;_sub._matterc._udp;local
          +;eth0;IPv6;_CM;_sub._matterc._udp;local
      disabled: true

    - label:
          "DUT is rebooted, then put in Commissioning Mode using Open Basic
          Commissioning Window command, starting advertising Commissionable Node
          Discovery service using DNS-SD"
      PICS: CADMIN.S.C01.Rsp
      verification: |
          Reboot the device and commission the DUT again. Open the commissioning window using the below command in the TH (Chip-tool) terminal

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

          verify on TH (Chip-tool) logs:

          [1652341174.803430][2893:2898] CHIP:DMG: InvokeResponseMessage =
          [1652341174.803488][2893:2898] CHIP:DMG: {
          [1652341174.803560][2893:2898] CHIP:DMG:         suppressResponse = false,
          [1652341174.803622][2893:2898] CHIP:DMG:         InvokeResponseIBs =
          [1652341174.803698][2893:2898] CHIP:DMG:         [
          [1652341174.803757][2893:2898] CHIP:DMG:                 InvokeResponseIB =
          [1652341174.803835][2893:2898] CHIP:DMG:                 {
          [1652341174.803897][2893:2898] CHIP:DMG:                         CommandStatusIB =
          [1652341174.803975][2893:2898] CHIP:DMG:                         {
          [1652341174.804047][2893:2898] CHIP:DMG:                                 CommandPathIB =
          [1652341174.804128][2893:2898] CHIP:DMG:                                 {
          [1652341174.804213][2893:2898] CHIP:DMG:                                         EndpointId = 0x0,
          [1652341174.804292][2893:2898] CHIP:DMG:                                         ClusterId = 0x3c,
          [1652341174.804377][2893:2898] CHIP:DMG:                                         CommandId = 0x1,
          [1652341174.804450][2893:2898] CHIP:DMG:                                 },
          [1652341174.804539][2893:2898] CHIP:DMG:
          [1652341174.804654][2893:2898] CHIP:DMG:                                 StatusIB =
          [1652341174.804738][2893:2898] CHIP:DMG:                                 {
          [1652341174.804821][2893:2898] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1652341174.804911][2893:2898] CHIP:DMG:                                 },
          [1652341174.804993][2893:2898] CHIP:DMG:
          [1652341174.805067][2893:2898] CHIP:DMG:                         },
          [1652341174.805152][2893:2898] CHIP:DMG:
          [1652341174.805220][2893:2898] CHIP:DMG:                 },
          [1652341174.805307][2893:2898] CHIP:DMG:
          [1652341174.805365][2893:2898] CHIP:DMG:         ],
          [1652341174.805439][2893:2898] CHIP:DMG:
          [1652341174.805497][2893:2898] CHIP:DMG:         InteractionModelRevision = 1
          [1652341174.805555][2893:2898] CHIP:DMG: },
          [1652341174.805690][2893:2898] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0x0
          [1652341174.805786][2893:2898] CHIP:DMG: ICR moving to [AwaitingDe]
          The delay timer is given 200 as an example , use whatever works for your product"
      disabled: true

    - label: "Check DNS-SD subtypes used by DUT"
      PICS:
          MCORE.COM.WIFI && MCORE.COM.ETH && MCORE.COM.THR &&
          MCORE.SC.VENDOR_SUBTYPE && MCORE.SC.DEVTYPE_SUBTYPE && MCORE.SC.VP_KEY
          && MCORE.SC.SII_OP_DISCOVERY_KEY && MCORE.SC.SAI_OP_DISCOVERY_KEY &&
          MCORE.SC.DT_KEY && MCORE.SC.DN_KEY && MCORE.SC.RI_KEY &&
          MCORE.SC.PH_KEY && MCORE.SC.PI_KEY
      verification: |
          Run the below avahi browse command in  TH terminal

           avahi-browse -rt _matterc._udp

          Verify on  the below output in TH terminal Log:

          + veth721e1d9 IPv6 19DDF06C3B5DD0C8                              _matterc._udp        local
          + veth961779b IPv6 19DDF06C3B5DD0C8                              _matterc._udp        local

          +   eth0 IPv6 19DDF06C3B5DD0C8                              _matterc._udp        local
          = veth721e1d9 IPv6 19DDF06C3B5DD0C8                              _matterc._udp        local
           hostname = [E45F0149AE290000.local]
             address = [fe80::28e0:95ff:fed9:3085]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
          = veth961779b IPv6 19DDF06C3B5DD0C8                              _matterc._udp        local
             hostname = [E45F0149AE290000.local]
             address = [fe80::d417:1eff:fe03:eb81]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]





          Service Domain 422F10CDC290A406.local
          verify CM flag is 1

          to look for subtypes, on the raspi run $ avahi-browse -p _services._dns-sd._udp | grep _matterc

          +;eth0;IPv6;_matterc;_udp;local
          +;eth0;IPv6;_V65521;_sub._matterc._udp;local
          +;eth0;IPv6;_S15;_sub._matterc._udp;local
          +;eth0;IPv6;_L3840;_sub._matterc._udp;local
          +;eth0;IPv6;_CM;_sub._matterc._udp;local
      disabled: true

    - label: "Wait for OBCW timeout to expire"
      verification: |
          Wait until open-basic-commissioning-window time to expire.
      disabled: true

    - label:
          "DUT is Commissioned and instructed to enter in commissioning mode
          using Open Commissioning Window command"
      PICS: CADMIN.S.C00.Rsp
      verification: |
          Run the below open-commissioning-window in TH Terminal

          ./chip-tool pairing open-commissioning-window 1 1 200 2000 3840

          verify on TH (Chip-tool) logs:

          [1652341411.383669][2929:2934] CHIP:DMG: InvokeResponseMessage =
          [1652341411.383720][2929:2934] CHIP:DMG: {
          [1652341411.383769][2929:2934] CHIP:DMG:         suppressResponse = false,
          [1652341411.383821][2929:2934] CHIP:DMG:         InvokeResponseIBs =
          [1652341411.383886][2929:2934] CHIP:DMG:         [
          [1652341411.383936][2929:2934] CHIP:DMG:                 InvokeResponseIB =
          [1652341411.384009][2929:2934] CHIP:DMG:                 {
          [1652341411.384068][2929:2934] CHIP:DMG:                         CommandStatusIB =
          [1652341411.384139][2929:2934] CHIP:DMG:                         {
          [1652341411.384203][2929:2934] CHIP:DMG:                                 CommandPathIB =
          [1652341411.384278][2929:2934] CHIP:DMG:                                 {
          [1652341411.384349][2929:2934] CHIP:DMG:                                         EndpointId = 0x0,
          [1652341411.384427][2929:2934] CHIP:DMG:                                         ClusterId = 0x3c,
          [1652341411.384501][2929:2934] CHIP:DMG:                                         CommandId = 0x0,
          [1652341411.384624][2929:2934] CHIP:DMG:                                 },
          [1652341411.384722][2929:2934] CHIP:DMG:
          [1652341411.384795][2929:2934] CHIP:DMG:                                 StatusIB =
          [1652341411.384877][2929:2934] CHIP:DMG:                                 {
          [1652341411.384958][2929:2934] CHIP:DMG:                                         status = 0x00 (SUCCESS),
          [1652341411.385035][2929:2934] CHIP:DMG:                                 },
          [1652341411.385116][2929:2934] CHIP:DMG:
          [1652341411.385188][2929:2934] CHIP:DMG:                         },
          [1652341411.385271][2929:2934] CHIP:DMG:
          [1652341411.385337][2929:2934] CHIP:DMG:                 },
          [1652341411.385416][2929:2934] CHIP:DMG:
          [1652341411.385474][2929:2934] CHIP:DMG:         ],
          [1652341411.385547][2929:2934] CHIP:DMG:
          [1652341411.385605][2929:2934] CHIP:DMG:         InteractionModelRevision = 1
          [1652341411.385662][2929:2934] CHIP:DMG: },
          [1652341411.385794][2929:2934] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0000 Status=0x0
          [1652341411.385860][2929:2934] CHIP:CTL: Successfully opened pairing window on the device
      disabled: true

    - label: "Check DNS-SD subtypes used by DUT"
      PICS:
          MCORE.COM.WIFI && MCORE.COM.ETH && MCORE.COM.THR &&
          MCORE.SC.VENDOR_SUBTYPE && MCORE.SC.DEVTYPE_SUBTYPE && MCORE.SC.VP_KEY
          && MCORE.SC.SII_OP_DISCOVERY_KEY && MCORE.SC.SAI_OP_DISCOVERY_KEY &&
          MCORE.SC.DT_KEY && MCORE.SC.DN_KEY && MCORE.SC.RI_KEY &&
          MCORE.SC.PH_KEY && MCORE.SC.PI_KEY
      verification: |
          Same verification steps as Step 3, Except Verify CM flag  value to be 2


          ubuntu@ubuntu:~$ avahi-browse -rt _matterc._udp

          Verify on  the below output in TH terminal Log:



          = veth961779b IPv6 9BFF1DCA106E337B                              _matterc._udp        local
             hostname = [E45F0149AE290000.local]
             address = [fe80::d417:1eff:fe03:eb81]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
          = veth6c964b1 IPv6 9BFF1DCA106E337B                              _matterc._udp        local
             hostname = [E45F0149AE290000.local]
             address = [fe80::cca1:6aff:fe6e:f76d]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
          = veth6995c44 IPv6 9BFF1DCA106E337B                              _matterc._udp        local
             hostname = [E45F0149AE290000.local]
             address = [fe80::24ae:58ff:fe2f:5609]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "SAI=300" "SII=5000" "VP=65521+32769"]
      disabled: true

    - label: "Wait for OCW timeout to expire"
      verification: |
          Wait until open-commissioning-window time to expire.
      disabled: true

    - label: "If (MCORE.SC.EXTENDED_DISCOVERY ) enable Extended Discovery"
      PICS: MCORE.SC.EXTENDED_DISCOVERY
      verification: |
          If the device supports Discovery for an extended period of time, the Device should continue to advertise. Use the avahi-browse command and you should see the _matterc._udp advertisement


          Reference Raspberrypi device is not supporting extended discovery.
      disabled: true

    - label:
          "If (MCORE.SC.EXTENDED_DISCOVERY ) check DNS-SD subtypes used by DUT"
      PICS:
          MCORE.SC.EXTENDED_DISCOVERY && MCORE.COM.WIFI && MCORE.COM.ETH &&
          MCORE.COM.THR && MCORE.SC.VENDOR_SUBTYPE && MCORE.SC.DEVTYPE_SUBTYPE
          && MCORE.SC.VP_KEY && MCORE.SC.SII_OP_DISCOVERY_KEY &&
          MCORE.SC.SAI_OP_DISCOVERY_KEY && MCORE.SC.DT_KEY && MCORE.SC.DN_KEY &&
          MCORE.SC.RI_KEY && MCORE.SC.PH_KEY && MCORE.SC.PI_KEY
      verification: |
          Run and Verify on  the below output in TH terminal Log: (Below is the sample log , as RPI doesn"t support the extended discovery)
          Verify the CM flag value is 0

          avahi-browse -rt _matterc._udp
          +   eth0 IPv6 DD200C20D25AE5F7                              _matterc._udp        local
          +   eth0 IPv4 DD200C20D25AE5F7                              _matterc._udp        local
          =   eth0 IPv6 DD200C20D25AE5F7                              _matterc._udp        local
             hostname = [matter-te-7.local]
             address = [fd00::e7]
             port = [11111]
             txt = ["CM=0" "D=840"]
          =   eth0 IPv4 DD200C20D25AE5F7                              _matterc._udp        local
             hostname = [matter-te-7.local]
             address = [192.168.3.53]
             port = [11111]
             txt = ["CM=0" "D=840"]
      disabled: true
