blob: 448fef86b9b38ac362ee2c9258638331dde84ddf [file] [log] [blame]
# Copyright (c) 2022 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 Multi Admin
config:
nodeId: 0x12344321
endpoint: 1
discriminator:
type: int16u
defaultValue: 3840
payload:
type: char_string
defaultValue: "MT:-24J0AFN00KA0648G00" # This value needs to be generated automatically
tests:
- label: "Wait for the commissioned device to be retrieved for alpha"
cluster: "DelayCommands"
command: "WaitForCommissionee"
arguments:
values:
- name: "nodeId"
value: nodeId
- label: "Open Commissioning Window from alpha"
endpoint: 0
cluster: "AdministratorCommissioning"
command: "OpenBasicCommissioningWindow"
timedInteractionTimeoutMs: 10000
arguments:
values:
- name: "CommissioningTimeout"
value: 180
- label: "Commission from beta"
identity: "beta"
cluster: "CommissionerCommands"
command: "PairWithCode"
arguments:
values:
- name: "nodeId"
value: 0x12345
- name: "payload"
value: payload
- label: "Wait for the commissioned device to be retrieved for beta"
identity: "beta"
cluster: "DelayCommands"
command: "WaitForCommissionee"
arguments:
values:
- name: "nodeId"
value: 0x12345
- label: "Write TestFabricScoped list from alpha"
identity: "alpha"
cluster: "Unit Testing"
command: "writeAttribute"
attribute: "list_fabric_scoped"
arguments:
value: [
{
#
# Write in a bogus value for the fabric index. This should never actually make it across the wire,
# nor be meaningfully ingested by a correct receiver.
#
fabricIndex: 100,
fabricSensitiveInt8u: 33,
optionalFabricSensitiveInt8u: 34,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 35,
fabricSensitiveCharString: "alpha1",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 2,
d: "",
e: "",
f: 1,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [1, 2, 3, 4],
},
{
fabricIndex: 100,
fabricSensitiveInt8u: 43,
optionalFabricSensitiveInt8u: 44,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 45,
fabricSensitiveCharString: "alpha2",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 3,
d: "",
e: "",
f: 2,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [2, 3, 4, 5],
},
]
- label: "Write TestFabricScoped list from beta"
identity: "beta"
cluster: "Unit Testing"
command: "writeAttribute"
attribute: "list_fabric_scoped"
arguments:
value:
[
{
fabricIndex: 100,
fabricSensitiveInt8u: 133,
optionalFabricSensitiveInt8u: 134,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 135,
fabricSensitiveCharString: "beta2",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 12,
d: "",
e: "",
f: 11,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [11, 12, 13, 14],
},
{
fabricIndex: 100,
fabricSensitiveInt8u: 143,
optionalFabricSensitiveInt8u: 144,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 145,
fabricSensitiveCharString: "beta3",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 13,
d: "",
e: "",
f: 12,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [12, 13, 14, 15],
},
]
- label: "Read back TestFabricScoped list from alpha"
identity: "alpha"
cluster: "Unit Testing"
command: "readAttribute"
attribute: "list_fabric_scoped"
response:
value:
[
{
fabricIndex: 1,
fabricSensitiveInt8u: 33,
optionalFabricSensitiveInt8u: 34,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 35,
fabricSensitiveCharString: "alpha1",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 2,
d: "",
e: "",
f: 1,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [1, 2, 3, 4],
},
{
fabricIndex: 1,
fabricSensitiveInt8u: 43,
optionalFabricSensitiveInt8u: 44,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 45,
fabricSensitiveCharString: "alpha2",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 3,
d: "",
e: "",
f: 2,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [2, 3, 4, 5],
},
]
- label: "Read back TestFabricScoped list from beta"
identity: "beta"
cluster: "Unit Testing"
command: "readAttribute"
attribute: "list_fabric_scoped"
response:
value:
[
{
fabricIndex: 2,
fabricSensitiveInt8u: 133,
optionalFabricSensitiveInt8u: 134,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 135,
fabricSensitiveCharString: "beta2",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 12,
d: "",
e: "",
f: 11,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [11, 12, 13, 14],
},
{
fabricIndex: 2,
fabricSensitiveInt8u: 143,
optionalFabricSensitiveInt8u: 144,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 145,
fabricSensitiveCharString: "beta3",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 13,
d: "",
e: "",
f: 12,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [12, 13, 14, 15],
},
]
- label: "Read back TestFabricScoped list from alpha (fabricFiltered false)"
identity: "alpha"
cluster: "Unit Testing"
command: "readAttribute"
fabricFiltered: false
attribute: "list_fabric_scoped"
response:
#
# This unfortunately makes a couple of assumptions:
# 1. That the total order of the entries in the returned list matches the order in which they were
# written in. This does not necessarily have to be true - fabric index 2's entries could have come
# before fabric index 1's.
#
# 2. That we know the specific fabric index generated by the server without querying the current fabric
# index from the OperationalCredentialsCluster and using that instead.
#
# TODO: This can be fixed using the `saveAs` function.
#
value:
[
{
fabricIndex: 1,
fabricSensitiveInt8u: 33,
optionalFabricSensitiveInt8u: 34,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 35,
fabricSensitiveCharString: "alpha1",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 2,
d: "",
e: "",
f: 1,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [1, 2, 3, 4],
},
{
fabricIndex: 1,
fabricSensitiveInt8u: 43,
optionalFabricSensitiveInt8u: 44,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 45,
fabricSensitiveCharString: "alpha2",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 3,
d: "",
e: "",
f: 2,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [2, 3, 4, 5],
},
{
fabricIndex: 2,
fabricSensitiveInt8u: 0,
nullableFabricSensitiveInt8u: null,
fabricSensitiveCharString: "",
fabricSensitiveStruct:
{
a: 0,
b: false,
c: 0,
d: "",
e: "",
f: 0,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [],
},
{
fabricIndex: 2,
fabricSensitiveInt8u: 0,
nullableFabricSensitiveInt8u: null,
fabricSensitiveCharString: "",
fabricSensitiveStruct:
{
a: 0,
b: false,
c: 0,
d: "",
e: "",
f: 0,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [],
},
]
- label: "Read back TestFabricScoped list from beta (fabricFiltered false)"
identity: "beta"
cluster: "Unit Testing"
command: "readAttribute"
fabricFiltered: false
attribute: "list_fabric_scoped"
response:
value:
[
{
fabricIndex: 1,
fabricSensitiveInt8u: 0,
nullableFabricSensitiveInt8u: null,
fabricSensitiveCharString: "",
fabricSensitiveStruct:
{
a: 0,
b: false,
c: 0,
d: "",
e: "",
f: 0,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [],
},
{
fabricIndex: 1,
fabricSensitiveInt8u: 0,
nullableFabricSensitiveInt8u: null,
fabricSensitiveCharString: "",
fabricSensitiveStruct:
{
a: 0,
b: false,
c: 0,
d: "",
e: "",
f: 0,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [],
},
{
fabricIndex: 2,
fabricSensitiveInt8u: 133,
optionalFabricSensitiveInt8u: 134,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 135,
fabricSensitiveCharString: "beta2",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 12,
d: "",
e: "",
f: 11,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [11, 12, 13, 14],
},
{
fabricIndex: 2,
fabricSensitiveInt8u: 143,
optionalFabricSensitiveInt8u: 144,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 145,
fabricSensitiveCharString: "beta3",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 13,
d: "",
e: "",
f: 12,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [12, 13, 14, 15],
},
]
- label: "Write smaller TestFabricScoped list from alpha (again)"
identity: "alpha"
cluster: "Unit Testing"
command: "writeAttribute"
attribute: "list_fabric_scoped"
arguments:
value:
[
{
fabricIndex: 100,
fabricSensitiveInt8u: 53,
optionalFabricSensitiveInt8u: 54,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 55,
fabricSensitiveCharString: "alpha3",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 52,
d: "",
e: "",
f: 51,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [51, 52, 53, 54],
},
]
- label: "Read back unchanged TestFabricScoped list from beta (again)"
identity: "beta"
cluster: "Unit Testing"
command: "readAttribute"
attribute: "list_fabric_scoped"
response:
value:
[
{
fabricIndex: 2,
fabricSensitiveInt8u: 133,
optionalFabricSensitiveInt8u: 134,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 135,
fabricSensitiveCharString: "beta2",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 12,
d: "",
e: "",
f: 11,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [11, 12, 13, 14],
},
{
fabricIndex: 2,
fabricSensitiveInt8u: 143,
optionalFabricSensitiveInt8u: 144,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 145,
fabricSensitiveCharString: "beta3",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 13,
d: "",
e: "",
f: 12,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [12, 13, 14, 15],
},
]
- label: "Read back TestFabricScoped list from alpha (again)"
identity: "alpha"
cluster: "Unit Testing"
command: "readAttribute"
attribute: "list_fabric_scoped"
response:
value:
[
{
fabricIndex: 1,
fabricSensitiveInt8u: 53,
optionalFabricSensitiveInt8u: 54,
nullableFabricSensitiveInt8u: null,
nullableOptionalFabricSensitiveInt8u: 55,
fabricSensitiveCharString: "alpha3",
fabricSensitiveStruct:
{
a: 0,
b: true,
c: 52,
d: "",
e: "",
f: 51,
g: 0,
h: 0,
},
fabricSensitiveInt8uList: [51, 52, 53, 54],
},
]