blob: c92eea094e3a79545674284b6156150294090870 [file] [log] [blame]
# Copyright (c) 2023 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: Test
config:
nodeId: 0x12344321
endpoint: 0
nodeId2:
type: node_id
defaultValue: 0x43211234
tests:
- label: "Wait for the alpha device to be retrieved "
cluster: "DelayCommands"
command: "WaitForCommissionee"
arguments:
values:
- name: "nodeId"
value: nodeId
- label: "Read the fabrics list from alpha"
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "Fabrics"
response:
value: [{ Label: "", NodeID: nodeId }]
constraints:
type: list
- label:
"Send ArmFailSafe command to target device with ExpiryLengthSeconds 60
seconds"
cluster: "General Commissioning"
command: "ArmFailSafe"
arguments:
values:
- name: "ExpiryLengthSeconds"
value: 60
- name: "Breadcrumb"
value: 0
- label: "Send CSRRequest command from alpha"
command: "CSRRequest"
cluster: "Operational Credentials"
arguments:
values:
- name: CSRNonce
value: "\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07\x00\x01\x02\x03\x04\x05\x06\x07"
response:
values:
- name: "NOCSRElements"
saveAs: NOCSRElements
- name: "AttestationSignature"
saveAs: attestationSignature
- label: "Read the commissioner node ID from the beta fabric"
identity: "beta"
cluster: "CommissionerCommands"
command: "GetCommissionerNodeId"
response:
values:
- name: "nodeId"
saveAs: commissionerNodeIdBeta
- label: "Read the commissioner root certificate from the beta fabric"
identity: "beta"
cluster: "CommissionerCommands"
command: "GetCommissionerRootCertificate"
response:
values:
- name: "RCAC"
saveAs: commissionerRCACBeta
- label:
"Create a NOC chain for commissioner beta with the results of the
CSRRequest from alpha"
identity: "beta"
cluster: "CommissionerCommands"
command: "IssueNocChain"
arguments:
values:
- name: "Elements"
value: NOCSRElements
- name: "nodeId"
value: nodeId2
response:
values:
- name: "NOC"
saveAs: noc
- name: "ICAC"
saveAs: icac
- name: "IPK"
saveAs: ipk
- label: "Send AddTrustedRootCertificate command from alpha"
command: "AddTrustedRootCertificate"
cluster: "Operational Credentials"
arguments:
values:
- name: "RootCACertificate"
value: commissionerRCACBeta
- label: "Send AddNOC command from alpha"
command: "AddNOC"
cluster: "Operational Credentials"
arguments:
values:
- name: "NOCValue"
value: noc
- name: "ICACValue"
value: icac
- name: "IPKValue"
value: ipk
- name: "CaseAdminSubject"
value: commissionerNodeIdBeta
- name: "AdminVendorId"
value: 0xFFF1
response:
values:
- name: "StatusCode"
value: 0
- label: "Send Commissioning Complete command from beta"
nodeId: nodeId2
identity: "beta"
cluster: "General Commissioning"
command: "CommissioningComplete"
- label: "Read alpha fabric index"
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "CurrentFabricIndex"
response:
saveAs: AlphaFabricIndex
- label: "Read beta fabric index"
identity: "beta"
nodeId: nodeId2
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "CurrentFabricIndex"
response:
saveAs: BetaFabricIndex
- label: "Read the fabrics list again from alpha"
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "Fabrics"
response:
value: [{ Label: "", NodeID: nodeId }]
constraints:
type: list
- label: "Read the fabrics list again from alpha without fabric-filtering"
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "Fabrics"
fabricFiltered: false
response:
value:
[
{ Label: "", NodeID: nodeId, FabricIndex: AlphaFabricIndex },
{ Label: "", NodeID: nodeId2, FabricIndex: BetaFabricIndex },
]
constraints:
type: list
- label:
"Read the fabrics list again from alpha without fabric-filtering,
checking contains constraint"
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "Fabrics"
fabricFiltered: false
response:
constraints:
type: list
# Flip the order to test the constraint better.
contains:
[
{
Label: "",
NodeID: nodeId2,
FabricIndex: BetaFabricIndex,
},
{
Label: "",
NodeID: nodeId,
FabricIndex: AlphaFabricIndex,
},
]
excludes:
[
{
Label: "",
NodeID: nodeId,
FabricIndex: BetaFabricIndex,
},
{
Label: "",
NodeID: nodeId2,
FabricIndex: AlphaFabricIndex,
},
]
- label: "Read the fabrics list from beta this time"
identity: "beta"
nodeId: nodeId2
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "Fabrics"
response:
value: [{ Label: "", NodeID: nodeId2 }]
constraints:
type: list
- label: "Read the fabrics list from beta without fabric-filtering"
identity: "beta"
nodeId: nodeId2
command: "readAttribute"
cluster: "Operational Credentials"
attribute: "Fabrics"
fabricFiltered: false
response:
value:
[
{ Label: "", NodeID: nodeId, FabricIndex: AlphaFabricIndex },
{ Label: "", NodeID: nodeId2, FabricIndex: BetaFabricIndex },
]
constraints:
type: list