# 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 Information"
    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 success 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)


          +  wlan0 IPv6 5A4E867284D08B13                              _matterc._udp        local
          +   eth0 IPv6 5A4E867284D08B13                              _matterc._udp        local
          =   eth0 IPv6 5A4E867284D08B13                              _matterc._udp        local
             hostname = [E45F010F1A010000.local]
             address = [fe80::e65f:1ff:fe0f:1a01]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "VP=65521+32769"]
          =  wlan0 IPv6 5A4E867284D08B13                              _matterc._udp        local
             hostname = [E45F010F1A010000.local]
             address = [fe80::e65f:1ff:fe0f:1a01]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "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 success 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:

          +  wlan0 IPv6 F6385CBB29F7CE93                              _matterc._udp        local
          +   eth0 IPv6 F6385CBB29F7CE93                              _matterc._udp        local
          =   eth0 IPv6 F6385CBB29F7CE93                              _matterc._udp        local
             hostname = [E45F010F1A010000.local]
             address = [fe80::e65f:1ff:fe0f:1a01]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "VP=65521+32769"]
          =  wlan0 IPv6 F6385CBB29F7CE93                              _matterc._udp        local
             hostname = [E45F010F1A010000.local]
             address = [fe80::e65f:1ff:fe0f:1a01]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=1" "D=3840" "T=1" "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 success 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:



          +  wlan0 IPv6 71DED0325CF9AB38                              _matterc._udp        local
          +   eth0 IPv6 71DED0325CF9AB38                              _matterc._udp        local
          =   eth0 IPv6 71DED0325CF9AB38                              _matterc._udp        local
             hostname = [E45F010F1A010000.local]
             address = [fe80::e65f:1ff:fe0f:1a01]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "VP=65521+32769"]
          =  wlan0 IPv6 71DED0325CF9AB38                              _matterc._udp        local
             hostname = [E45F010F1A010000.local]
             address = [fe80::e65f:1ff:fe0f:1a01]
             port = [5540]
             txt = ["PI=" "PH=36" "CM=2" "D=3840" "T=1" "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
