blob: be5dc980cc2a9389fe9f1b0c89d5ed2f4beb9714 [file] [log] [blame]
# 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.
name:
13.4.2. [TC-SC-4.2] Commissionable Node Discovery - Commissioner Case [DUT -
Commissioner]
PICS:
- MCORE.ROLE.COMMISSIONER
config:
nodeId: 0x12344321
cluster: "Secure Channel"
endpoint: 0
discriminator:
type: int16u
defaultValue: 3840
vendorId:
type: int16u
defaultValue: 65521
productId:
type: int16u
defaultValue: 32769
deviceType:
type: int16u
defaultValue: 5
tests:
- label: "Wait for the commissioned device to be retrieved"
cluster: "DelayCommands"
command: "WaitForCommissionee"
arguments:
values:
- name: "nodeId"
value: nodeId
- label:
"TH is put in Commissioning Mode using Open Basic Commissioning Window
command and starts advertising Commissionable Node Discovery service
using DNS-SD"
cluster: "AdministratorCommissioning"
command: "OpenBasicCommissioningWindow"
timedInteractionTimeoutMs: 10000
arguments:
values:
- name: "CommissioningTimeout"
value: 180
- label: "Check Instance Name"
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "instanceName"
saveAs: deviceInstanceNameBeforeReboot1
constraints:
minLength: 16
maxLength: 16
isUpperCase: true
isHexString: true
#validate the service type and the service domain not implemented in CI
- label: "Check Hostname"
PICS: "( MCORE.SC.WIFI || MCORE.SC.ETH ) && !MCORE.SC.THR"
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "hostName"
constraints:
minLength: 12
maxLength: 12
isUpperCase: true
isHexString: true
- label: "Check Hostname"
PICS: "( !MCORE.SC.WIFI && !MCORE.SC.ETH ) && MCORE.SC.THR "
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "hostName"
constraints:
minLength: 16
maxLength: 16
isUpperCase: true
isHexString: true
#subtype
- label: "Check Long Discriminator _L"
cluster: "DiscoveryCommands"
command: "FindCommissionableByLongDiscriminator"
arguments:
values:
- name: "value"
value: discriminator
- label: "Check Short Discriminator (_S)"
cluster: "DiscoveryCommands"
command: "FindCommissionableByShortDiscriminator"
arguments:
values:
- name: "value"
value: discriminator
- label: "Check Vendor ID (_V)"
PICS: MCORE.SC.VENDOR_SUBTYPE
cluster: "DiscoveryCommands"
command: "FindCommissionableByVendorId"
arguments:
values:
- name: "value"
value: vendorId
- label: "Check Device Type ID (_T)"
PICS: PICS_SKIP_SAMPLE_APP && MCORE.SC.DEVTYPE_SUBTYPE
cluster: "DiscoveryCommands"
command: "FindCommissionableByDeviceType"
arguments:
values:
- name: "value"
value: deviceType
- label: "Check Commissioning Mode (_CM)"
cluster: "DiscoveryCommands"
command: "FindCommissionableByCommissioningMode"
- label: "TXT key for Vendor ID and Product ID (VP)"
PICS: MCORE.SC.VP_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "vendorId"
value: vendorId
- label: "TXT key for Vendor ID and Product ID (VP)"
PICS: MCORE.SC.VP_KEY
optional: true
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "productId"
value: productId
- label: "Optional TXT key for MRP Retry Interval Idle (CRI)"
PICS: MCORE.SC.SII_OP_DISCOVERY_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "mrpRetryIntervalIdle"
constraints:
maxValue: 3600000
- label: "Optional TXT key for MRP Retry Interval Active (CRA)"
PICS: MCORE.SC.SAI_OP_DISCOVERY_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "mrpRetryIntervalActive"
constraints:
maxValue: 3600000
- label: "TXT key for commissioning mode (CM)"
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "commissioningMode"
value: 1
- label: "Optional TXT key for device type (DT)"
PICS: PICS_SKIP_SAMPLE_APP && MCORE.SC.DT_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "deviceType"
value: deviceType
constraints:
maxValue: 999
- label: "Optional TXT key for device name (DN)"
PICS: MCORE.SC.DN_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "deviceName"
constraints:
maxLength: 32
- label: "Optional TXT key for rotating device identifier (RI)"
PICS: MCORE.SC.RI_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "rotatingIdLen"
constraints:
maxValue: 100
- label: "Optional TXT key for pairing hint (PH)"
PICS: MCORE.SC.PH_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "pairingHint"
constraints:
notValue: 0
- label: "Optional TXT key for pairing instructions (PI)"
PICS: MCORE.SC.PI_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "pairingInstruction"
constraints:
maxLength: 128
- label: "Check IPs"
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "numIPs"
constraints:
minValue: 1
- label: "Stop target device"
PICS: PICS_SDK_CI_ONLY
cluster: "SystemCommands"
command: "Stop"
- label:
"Start target device with the provided discriminator for basic
commissioning advertisement"
cluster: "SystemCommands"
PICS: PICS_SDK_CI_ONLY
command: "Start"
arguments:
values:
- name: "discriminator"
value: discriminator
- label: "TH is rebooted"
verification: |
Not implemented in YAML
cluster: "LogCommands"
command: "UserPrompt"
PICS: PICS_SKIP_SAMPLE_APP
arguments:
values:
- name: "message"
value: "Please reboot the TH and enter 'y' after TH starts"
- name: "expectedValue"
value: "y"
- label: "Wait for the commissioned device to be retrieved"
cluster: "DelayCommands"
command: "WaitForCommissionee"
arguments:
values:
- name: "nodeId"
value: nodeId
- label: "Open Commissioning Window"
cluster: "AdministratorCommissioning"
command: "OpenBasicCommissioningWindow"
timedInteractionTimeoutMs: 10000
arguments:
values:
- name: "CommissioningTimeout"
value: 180
- label: "Check Instance Name"
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "instanceName"
constraints:
minLength: 16
maxLength: 16
isUpperCase: true
isHexString: true
notValue: deviceInstanceNameBeforeReboot1
#validate the service type and the service domain not implemented in CI
- label: "Check Hostname"
PICS: "( MCORE.SC.WIFI || MCORE.SC.ETH ) && !MCORE.SC.THR "
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "hostName"
constraints:
minLength: 12
maxLength: 12
isUpperCase: true
isHexString: true
- label: "Check Hostname"
PICS: "( !MCORE.SC.WIFI && !MCORE.SC.ETH ) && MCORE.SC.THR"
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "hostName"
constraints:
minLength: 16
maxLength: 16
isUpperCase: true
isHexString: true
- label: "Check Long Discriminator _L"
cluster: "DiscoveryCommands"
command: "FindCommissionableByLongDiscriminator"
arguments:
values:
- name: "value"
value: discriminator
- label: "Check Short Discriminator (_S)"
cluster: "DiscoveryCommands"
command: "FindCommissionableByShortDiscriminator"
arguments:
values:
- name: "value"
value: discriminator
- label: "Check Vendor ID (_V)"
PICS: MCORE.SC.VENDOR_SUBTYPE
cluster: "DiscoveryCommands"
command: "FindCommissionableByVendorId"
arguments:
values:
- name: "value"
value: vendorId
- label: "Check Device Type ID (_T)"
PICS: PICS_SKIP_SAMPLE_APP && MCORE.SC.DEVTYPE_SUBTYPE
cluster: "DiscoveryCommands"
command: "FindCommissionableByDeviceType"
arguments:
values:
- name: "value"
value: deviceType
- label: "Check Commissioning Mode (_CM)"
cluster: "DiscoveryCommands"
command: "FindCommissionableByCommissioningMode"
- label: "TXT key for Vendor ID and Product ID (VP)"
PICS: MCORE.SC.VP_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "vendorId"
value: vendorId
- label: "TXT key for Vendor ID and Product ID (VP)"
PICS: MCORE.SC.VP_KEY
optional: true
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "productId"
value: productId
- label: "Optional TXT key for MRP Retry Interval Idle (CRI)"
PICS: MCORE.SC.SII_OP_DISCOVERY_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "mrpRetryIntervalIdle"
constraints:
maxValue: 3600000
- label: "Optional TXT key for MRP Retry Interval Active (CRA)"
PICS: MCORE.SC.SAI_OP_DISCOVERY_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "mrpRetryIntervalActive"
constraints:
maxValue: 3600000
- label: "TXT key for commissioning mode (CM)"
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "commissioningMode"
value: 1
- label: "Optional TXT key for device type (DT)"
PICS: PICS_SKIP_SAMPLE_APP && MCORE.SC.DT_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "deviceType"
value: deviceType
constraints:
maxValue: 999
- label: "Optional TXT key for device name (DN)"
PICS: MCORE.SC.DN_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "deviceName"
constraints:
maxLength: 32
- label: "Optional TXT key for rotating device identifier (RI)"
PICS: MCORE.SC.RI_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "rotatingIdLen"
constraints:
maxValue: 100
- label: "Optional TXT key for pairing hint (PH)"
PICS: MCORE.SC.PH_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "pairingHint"
constraints:
notValue: 0
- label: "Optional TXT key for pairing instructions (PI)"
PICS: MCORE.SC.PI_KEY
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "pairingInstruction"
constraints:
maxLength: 128
- label: "Check IPs"
cluster: "DiscoveryCommands"
command: "FindCommissionable"
response:
values:
- name: "numIPs"
constraints:
minValue: 1
#Negative scenarios not implemented in CI
- label: "TH adds an unknown key/value pair in the advertised data"
cluster: "LogCommands"
command: "UserPrompt"
PICS: PICS_USER_PROMPT
arguments:
values:
- name: "message"
value:
"Please enter 'y' if TH adds an unknown key/value pair in
the advertised data"
- name: "expectedValue"
value: "y"
#Negative scenarios not implemented in CI
- label: "Scan for DNS-SD commissioner advertisements from TH"
cluster: "LogCommands"
command: "UserPrompt"
PICS: PICS_USER_PROMPT
arguments:
values:
- name: "message"
value: "Please enter 'y' for success"
- name: "expectedValue"
value: "y"