blob: e1ddaba5939780f5956d1f27324216d97b6266ea [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: Test Cluster Tests
config:
nodeId: 0x12344321
cluster: "Test Cluster"
endpoint: 1
tests:
- label: "Wait for the commissioned device to be retrieved"
cluster: "DelayCommands"
command: "WaitForCommissionee"
arguments:
values:
- name: "nodeId"
value: nodeId
- label: "Send Test Command"
command: "test"
- label: "Send Test Not Handled Command"
command: "testNotHandled"
response:
error: INVALID_COMMAND
- label: "Send Test Specific Command"
command: "testSpecific"
response:
values:
- name: "returnValue"
value: 7
- label: "Send Test Add Arguments Command"
command: "testAddArguments"
arguments:
values:
- name: "arg1"
value: 3
- name: "arg2"
value: 17
response:
values:
- name: "returnValue"
value: 20
- label: "Send failing Test Add Arguments Command"
command: "testAddArguments"
arguments:
values:
- name: "arg1"
value: 250
- name: "arg2"
value: 6
response:
error: INVALID_COMMAND
# Tests for Boolean attribute
- label: "Read attribute BOOLEAN Default Value"
command: "readAttribute"
attribute: "boolean"
response:
value: 0
- label: "Write attribute BOOLEAN True"
command: "writeAttribute"
attribute: "boolean"
arguments:
value: 1
- label: "Read attribute BOOLEAN True"
command: "readAttribute"
attribute: "boolean"
response:
value: 1
- label: "Write attribute BOOLEAN False"
command: "writeAttribute"
attribute: "boolean"
arguments:
value: 0
- label: "Read attribute BOOLEAN False"
command: "readAttribute"
attribute: "boolean"
response:
value: 0
# Tests for Bitmap8 attribute
- label: "Read attribute BITMAP8 Default Value"
command: "readAttribute"
attribute: "bitmap8"
response:
value: 0
- label: "Write attribute BITMAP8 Max Value"
command: "writeAttribute"
attribute: "bitmap8"
arguments:
value: 255
- label: "Read attribute BITMAP8 Max Value"
command: "readAttribute"
attribute: "bitmap8"
response:
value: 255
- label: "Write attribute BITMAP8 Min Value"
command: "writeAttribute"
attribute: "bitmap8"
arguments:
value: 0
- label: "Read attribute BITMAP8 Min Value"
command: "readAttribute"
attribute: "bitmap8"
response:
value: 0
# Tests for Bitmap16 attribute
- label: "Read attribute BITMAP16 Default Value"
command: "readAttribute"
attribute: "bitmap16"
response:
value: 0
- label: "Write attribute BITMAP16 Max Value"
command: "writeAttribute"
attribute: "bitmap16"
arguments:
value: 65535
- label: "Read attribute BITMAP16 Max Value"
command: "readAttribute"
attribute: "bitmap16"
response:
value: 65535
- label: "Write attribute BITMAP16 Min Value"
command: "writeAttribute"
attribute: "bitmap16"
arguments:
value: 0
- label: "Read attribute BITMAP16 Min Value"
command: "readAttribute"
attribute: "bitmap16"
response:
value: 0
# Tests for Bitmap32 attribute
- label: "Read attribute BITMAP32 Default Value"
command: "readAttribute"
attribute: "bitmap32"
response:
value: 0
- label: "Write attribute BITMAP32 Max Value"
command: "writeAttribute"
attribute: "bitmap32"
arguments:
value: 4294967295
- label: "Read attribute BITMAP32 Max Value"
command: "readAttribute"
attribute: "bitmap32"
response:
value: 4294967295
- label: "Write attribute BITMAP32 Min Value"
command: "writeAttribute"
attribute: "bitmap32"
arguments:
value: 0
- label: "Read attribute BITMAP32 Min Value"
command: "readAttribute"
attribute: "bitmap32"
response:
value: 0
# Tests for Bitmap64 attribute
- label: "Read attribute BITMAP64 Default Value"
command: "readAttribute"
attribute: "bitmap64"
response:
value: 0
- label: "Write attribute BITMAP64 Max Value"
command: "writeAttribute"
attribute: "bitmap64"
arguments:
value: "18446744073709551615"
- label: "Read attribute BITMAP64 Max Value"
command: "readAttribute"
attribute: "bitmap64"
response:
value: "18446744073709551615"
- label: "Write attribute BITMAP64 Min Value"
command: "writeAttribute"
attribute: "bitmap64"
arguments:
value: 0
- label: "Read attribute BITMAP64 Min Value"
command: "readAttribute"
attribute: "bitmap64"
response:
value: 0
# Tests for UInt8 attribute
- label: "Read attribute INT8U Default Value"
command: "readAttribute"
attribute: "int8u"
response:
value: 0
- label: "Write attribute INT8U Max Value"
command: "writeAttribute"
attribute: "int8u"
arguments:
value: 255
- label: "Read attribute INT8U Max Value"
command: "readAttribute"
attribute: "int8u"
response:
value: 255
- label: "Write attribute INT8U Min Value"
command: "writeAttribute"
attribute: "int8u"
arguments:
value: 0
- label: "Read attribute INT8U Min Value"
command: "readAttribute"
attribute: "int8u"
response:
value: 0
# Tests for UInt16 attribute
- label: "Read attribute INT16U Default Value"
command: "readAttribute"
attribute: "int16u"
response:
value: 0
- label: "Write attribute INT16U Max Value"
command: "writeAttribute"
attribute: "int16u"
arguments:
value: 65535
- label: "Read attribute INT16U Max Value"
command: "readAttribute"
attribute: "int16u"
response:
value: 65535
- label: "Write attribute INT16U Min Value"
command: "writeAttribute"
attribute: "int16u"
arguments:
value: 0
- label: "Read attribute INT16U Min Value"
command: "readAttribute"
attribute: "int16u"
response:
value: 0
# Tests for UInt32 attribute
- label: "Read attribute INT32U Default Value"
command: "readAttribute"
attribute: "int32u"
response:
value: 0
- label: "Write attribute INT32U Max Value"
command: "writeAttribute"
attribute: "int32u"
arguments:
value: 4294967295
- label: "Read attribute INT32U Max Value"
command: "readAttribute"
attribute: "int32u"
response:
value: 4294967295
- label: "Write attribute INT32U Min Value"
command: "writeAttribute"
attribute: "int32u"
arguments:
value: 0
- label: "Read attribute INT32U Min Value"
command: "readAttribute"
attribute: "int32u"
response:
value: 0
# Tests for UInt64 attribute
- label: "Read attribute INT64U Default Value"
command: "readAttribute"
attribute: "int64u"
response:
value: 0
- label: "Write attribute INT64U Max Value"
command: "writeAttribute"
attribute: "int64u"
arguments:
value: "18446744073709551615"
- label: "Read attribute INT64U Max Value"
command: "readAttribute"
attribute: "int64u"
response:
value: "18446744073709551615"
- label: "Write attribute INT64U Min Value"
command: "writeAttribute"
attribute: "int64u"
arguments:
value: 0
- label: "Read attribute INT64U Min Value"
command: "readAttribute"
attribute: "int64u"
response:
value: 0
# Tests for Int8 attribute
- label: "Read attribute INT8S Default Value"
command: "readAttribute"
attribute: "int8s"
response:
value: 0
- label: "Write attribute INT8S Max Value"
command: "writeAttribute"
attribute: "int8s"
arguments:
value: 127
- label: "Read attribute INT8S Max Value"
command: "readAttribute"
attribute: "int8s"
response:
value: 127
- label: "Write attribute INT8S Min Value"
command: "writeAttribute"
attribute: "int8s"
arguments:
value: -128
- label: "Read attribute INT8S Min Value"
command: "readAttribute"
attribute: "int8s"
response:
value: -128
- label: "Write attribute INT8S Default Value"
command: "writeAttribute"
attribute: "int8s"
arguments:
value: 0
- label: "Read attribute INT8S Default Value"
command: "readAttribute"
attribute: "int8s"
response:
value: 0
# Tests for Int16 attribute
- label: "Read attribute INT16S Default Value"
command: "readAttribute"
attribute: "int16s"
response:
value: 0
- label: "Write attribute INT16S Max Value"
command: "writeAttribute"
attribute: "int16s"
arguments:
value: 32767
- label: "Read attribute INT16S Max Value"
command: "readAttribute"
attribute: "int16s"
response:
value: 32767
- label: "Write attribute INT16S Min Value"
command: "writeAttribute"
attribute: "int16s"
arguments:
value: -32768
- label: "Read attribute INT16S Min Value"
command: "readAttribute"
attribute: "int16s"
response:
value: -32768
- label: "Write attribute INT16S Default Value"
command: "writeAttribute"
attribute: "int16s"
arguments:
value: 0
- label: "Read attribute INT16S Default Value"
command: "readAttribute"
attribute: "int16s"
response:
value: 0
# Tests for Int32 attribute
- label: "Read attribute INT32S Default Value"
command: "readAttribute"
attribute: "int32s"
response:
value: 0
- label: "Write attribute INT32S Max Value"
command: "writeAttribute"
attribute: "int32s"
arguments:
value: 2147483647
- label: "Read attribute INT32S Max Value"
command: "readAttribute"
attribute: "int32s"
response:
value: 2147483647
- label: "Write attribute INT32S Min Value"
command: "writeAttribute"
attribute: "int32s"
arguments:
value: -2147483648
- label: "Read attribute INT32S Min Value"
command: "readAttribute"
attribute: "int32s"
response:
value: -2147483648
- label: "Write attribute INT32S Default Value"
command: "writeAttribute"
attribute: "int32s"
arguments:
value: 0
- label: "Read attribute INT32S Default Value"
command: "readAttribute"
attribute: "int32s"
response:
value: 0
# Tests for Int64 attribute
- label: "Read attribute INT64S Default Value"
command: "readAttribute"
attribute: "int64s"
response:
value: 0
- label: "Write attribute INT64S Max Value"
command: "writeAttribute"
attribute: "int64s"
arguments:
value: "9223372036854775807"
- label: "Read attribute INT64S Max Value"
command: "readAttribute"
attribute: "int64s"
response:
value: "9223372036854775807"
- label: "Write attribute INT64S Min Value"
command: "writeAttribute"
attribute: "int64s"
arguments:
value: "-9223372036854775807"
- label: "Read attribute INT64S Min Value"
command: "readAttribute"
attribute: "int64s"
response:
value: "-9223372036854775807"
- label: "Write attribute INT64S Default Value"
command: "writeAttribute"
attribute: "int64s"
arguments:
value: 0
- label: "Read attribute INT64S Default Value"
command: "readAttribute"
attribute: "int64s"
response:
value: 0
# Tests for float attribute
- label: "Read attribute SINGLE Default Value"
command: "readAttribute"
attribute: "float_single"
response:
value: 0
- label: "Write attribute SINGLE medium Value"
command: "writeAttribute"
attribute: "float_single"
arguments:
value: 0.1
- label: "Read attribute SINGLE medium Value"
command: "readAttribute"
attribute: "float_single"
response:
value: 0.1
- label: "Write attribute SINGLE large Value"
command: "writeAttribute"
attribute: "float_single"
arguments:
value: 1.7e10
- label: "Read attribute SINGLE large Value"
command: "readAttribute"
attribute: "float_single"
response:
value: 1.7e10
- label: "Write attribute SINGLE small Value"
command: "writeAttribute"
attribute: "float_single"
arguments:
value: 1.7e-10
- label: "Read attribute SINGLE small Value"
command: "readAttribute"
attribute: "float_single"
response:
value: 1.7e-10
- label: "Write attribute SINGLE Default Value"
command: "writeAttribute"
attribute: "float_single"
arguments:
value: 0
- label: "Read attribute SINGLE Default Value"
command: "readAttribute"
attribute: "float_single"
response:
value: 0
# Tests for double attribute
- label: "Read attribute DOUBLE Default Value"
command: "readAttribute"
attribute: "float_double"
response:
value: 0
- label: "Write attribute DOUBLE medium Value"
command: "writeAttribute"
attribute: "float_double"
arguments:
value: 0.1234567890123
- label: "Read attribute DOUBLE medium Value"
command: "readAttribute"
attribute: "float_double"
response:
value: 0.1234567890123
- label: "Write attribute DOUBLE large Value"
command: "writeAttribute"
attribute: "float_double"
arguments:
value: "1.7e+200"
- label: "Read attribute DOUBLE large Value"
command: "readAttribute"
attribute: "float_double"
response:
value: "1.7e+200"
- label: "Write attribute DOUBLE small Value"
command: "writeAttribute"
attribute: "float_double"
arguments:
value: 1.7e-200
- label: "Read attribute DOUBLE small Value"
command: "readAttribute"
attribute: "float_double"
response:
value: 1.7e-200
- label: "Write attribute DOUBLE Default Value"
command: "writeAttribute"
attribute: "float_double"
arguments:
value: 0
- label: "Read attribute DOUBLE Default Value"
command: "readAttribute"
attribute: "float_double"
response:
value: 0
# Tests for Enum8 attribute
- label: "Read attribute ENUM8 Default Value"
command: "readAttribute"
attribute: "enum8"
response:
value: 0
- label: "Write attribute ENUM8 Max Value"
command: "writeAttribute"
attribute: "enum8"
arguments:
value: 255
- label: "Read attribute ENUM8 Max Value"
command: "readAttribute"
attribute: "enum8"
response:
value: 255
- label: "Write attribute ENUM8 Min Value"
command: "writeAttribute"
attribute: "enum8"
arguments:
value: 0
- label: "Read attribute ENUM8 Min Value"
command: "readAttribute"
attribute: "enum8"
response:
value: 0
# Tests for Enum16 attribute
- label: "Read attribute ENUM16 Default Value"
command: "readAttribute"
attribute: "enum16"
response:
value: 0
- label: "Write attribute ENUM16 Max Value"
command: "writeAttribute"
attribute: "enum16"
arguments:
value: 65535
- label: "Read attribute ENUM16 Max Value"
command: "readAttribute"
attribute: "enum16"
response:
value: 65535
- label: "Write attribute ENUM16 Min Value"
command: "writeAttribute"
attribute: "enum16"
arguments:
value: 0
- label: "Read attribute ENUM16 Min Value"
command: "readAttribute"
attribute: "enum16"
response:
value: 0
# Tests for Octet String attribute
- label: "Read attribute OCTET_STRING Default Value"
command: "readAttribute"
attribute: "octet_string"
response:
value: ""
- label: "Write attribute OCTET_STRING with embedded null"
command: "writeAttribute"
attribute: "octet_string"
arguments:
value: "Tes\x00ti\x00ng"
- label: "Read attribute OCTET_STRING with embedded null"
command: "readAttribute"
attribute: "octet_string"
response:
value: "Tes\x00ti\x00ng"
- label: "Write attribute OCTET_STRING with hex: format"
command: "writeAttribute"
attribute: "octet_string"
arguments:
value: "hex:000102030405"
- label: "Read attribute OCTET_STRING with hex: format"
command: "readAttribute"
attribute: "octet_string"
response:
value: "hex:000102030405"
- label: "Write attribute OCTET_STRING with weird chars"
command: "writeAttribute"
attribute: "octet_string"
arguments:
value: "\r\n\xff\"\xa0"
- label: "Read attribute OCTET_STRING with weird chars"
command: "readAttribute"
attribute: "octet_string"
response:
value: "\r\n\xff\"\xa0"
- label: "Write attribute OCTET_STRING"
command: "writeAttribute"
attribute: "octet_string"
arguments:
value: "TestValue"
- label: "Read attribute OCTET_STRING"
command: "readAttribute"
attribute: "octet_string"
response:
value: "TestValue"
- label: "Write attribute OCTET_STRING"
command: "writeAttribute"
attribute: "octet_string"
arguments:
value: "TestValueLongerThan10"
response:
error: CONSTRAINT_ERROR
- label: "Read attribute OCTET_STRING"
command: "readAttribute"
attribute: "octet_string"
response:
value: "TestValue"
- label: "Write attribute OCTET_STRING"
command: "writeAttribute"
attribute: "octet_string"
arguments:
value: ""
# Tests for Long Octet String attribute
- label: "Read attribute LONG_OCTET_STRING Default Value"
command: "readAttribute"
attribute: "long_octet_string"
response:
value: ""
- label: "Write attribute LONG_OCTET_STRING"
command: "writeAttribute"
attribute: "long_octet_string"
arguments:
value: "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
- label: "Read attribute LONG_OCTET_STRING"
command: "readAttribute"
attribute: "long_octet_string"
response:
value: "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"
- label: "Write attribute LONG_OCTET_STRING"
command: "writeAttribute"
attribute: "long_octet_string"
arguments:
value: ""
# Tests for Char String attribute
- label: "Read attribute CHAR_STRING Default Value"
command: "readAttribute"
attribute: "char_string"
response:
value: ""
- label: "Write attribute CHAR_STRING"
command: "writeAttribute"
attribute: "char_string"
arguments:
value: "☉T☉"
- label: "Read attribute CHAR_STRING"
command: "readAttribute"
attribute: "char_string"
response:
value: "☉T☉"
- label: "Write attribute CHAR_STRING - Value too long"
command: "writeAttribute"
attribute: "char_string"
arguments:
value: "☉TestValueLongerThan10☉"
response:
error: CONSTRAINT_ERROR
- label: "Read attribute CHAR_STRING"
command: "readAttribute"
attribute: "char_string"
response:
value: "☉T☉"
- label: "Write attribute CHAR_STRING - Empty"
command: "writeAttribute"
attribute: "char_string"
arguments:
value: ""
# Tests for Long Char String attribute
- label: "Read attribute LONG_CHAR_STRING Default Value"
command: "readAttribute"
attribute: "long_char_string"
response:
value: ""
- label: "Write attribute LONG_CHAR_STRING"
command: "writeAttribute"
attribute: "long_char_string"
arguments:
value: "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉"
- label: "Read attribute LONG_CHAR_STRING"
command: "readAttribute"
attribute: "long_char_string"
response:
value: "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉"
- label: "Write attribute LONG_CHAR_STRING"
command: "writeAttribute"
attribute: "long_char_string"
arguments:
value: ""
- label: "Read attribute LIST_LONG_OCTET_STRING (for chunked read)"
command: "readAttribute"
attribute: "list_long_octet_string"
response:
value:
[
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
]
- label: "Write attribute LIST_LONG_OCTET_STRING (for chunked write)"
command: "writeAttribute"
attribute: "list_long_octet_string"
arguments:
value:
[
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
]
- label: "Read attribute LIST_LONG_OCTET_STRING (for chunked read)"
command: "readAttribute"
attribute: "list_long_octet_string"
response:
value:
[
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
]
# Tests for Epoch Microseconds
- label: "Read attribute EPOCH_US Default Value"
command: "readAttribute"
attribute: "epoch_us"
response:
value: 0
- label: "Write attribute EPOCH_US Max Value"
command: "writeAttribute"
attribute: "epoch_us"
arguments:
value: "18446744073709551615"
- label: "Read attribute EPOCH_US Max Value"
command: "readAttribute"
attribute: "epoch_us"
response:
value: "18446744073709551615"
- label: "Write attribute EPOCH_US Min Value"
command: "writeAttribute"
attribute: "epoch_us"
arguments:
value: 0
- label: "Read attribute EPOCH_US Min Value"
command: "readAttribute"
attribute: "epoch_us"
response:
value: 0
# Tests for Epoch Seconds
- label: "Read attribute EPOCH_S Default Value"
command: "readAttribute"
attribute: "epoch_s"
response:
value: 0
- label: "Write attribute EPOCH_S Max Value"
command: "writeAttribute"
attribute: "epoch_s"
arguments:
value: 4294967295
- label: "Read attribute EPOCH_S Max Value"
command: "readAttribute"
attribute: "epoch_s"
response:
value: 4294967295
- label: "Write attribute EPOCH_S Min Value"
command: "writeAttribute"
attribute: "epoch_s"
arguments:
value: 0
- label: "Read attribute EPOCH_S Min Value"
command: "readAttribute"
attribute: "epoch_s"
response:
value: 0
# Tests for Unsupported attribute
- label: "Read attribute UNSUPPORTED"
command: "readAttribute"
attribute: "unsupported"
optional: true
response:
value: 0
- label: "Writeattribute UNSUPPORTED"
command: "writeAttribute"
attribute: "unsupported"
optional: true
arguments:
value: 0
- label: "Send Test Command to unsupported endpoint"
command: "test"
endpoint: 200
response:
error: UNSUPPORTED_ENDPOINT
- label: "Send Test Command to unsupported cluster"
command: "test"
endpoint: 0
response:
error: UNSUPPORTED_CLUSTER
# Tests for vendor id
- label: "Read attribute vendor_id Default Value"
command: "readAttribute"
attribute: "vendor_id"
response:
value: 0
- label: "Write attribute vendor_id"
command: "writeAttribute"
attribute: "vendor_id"
arguments:
value: 17
- label: "Read attribute vendor_id"
command: "readAttribute"
attribute: "vendor_id"
response:
value: 17
- label: "Restore attribute vendor_id"
command: "writeAttribute"
attribute: "vendor_id"
arguments:
value: 0
- label: "Send a command with a vendor_id and enum"
command: "testEnumsRequest"
arguments:
values:
- name: "arg1"
value: 20003
- name: "arg2"
value: 1
response:
values:
- name: "arg1"
value: 20003
- name: "arg2"
value: 1
- label: "Send a command with a vendor_id and invalid enum"
command: "TestEnumsRequest"
arguments:
values:
- name: "arg1"
value: 20003
- name: "arg2"
value: 101
response:
values:
- name: "arg1"
value: 20003
- name: "arg2"
value: 4
# Tests for Struct
- label: "Send Test Command With Struct Argument and arg1.b is true"
command: "testStructArgumentRequest"
arguments:
values:
- name: "arg1"
value:
{
a: 0,
b: true,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0,
h: 0,
}
response:
values:
- name: "value"
value: true
- label: "Send Test Command With Struct Argument and arg1.b is false"
command: "testStructArgumentRequest"
arguments:
values:
- name: "arg1"
value:
{
a: 0,
b: false,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0,
h: 0,
}
response:
values:
- name: "value"
value: false
- label:
"Send Test Command With Nested Struct Argument and arg1.c.b is true"
command: "testNestedStructArgumentRequest"
arguments:
values:
- name: "arg1"
value:
{
a: 0,
b: true,
c:
{
a: 0,
b: true,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0,
h: 0,
},
}
response:
values:
- name: "value"
value: true
- label: "Send Test Command With Nested Struct Argument arg1.c.b is false"
command: "testNestedStructArgumentRequest"
arguments:
values:
- name: "arg1"
value:
{
a: 0,
b: true,
c:
{
a: 0,
b: false,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0,
h: 0,
},
}
response:
values:
- name: "value"
value: false
- label:
"Send Test Command With Nested Struct List Argument and all fields b
of arg1.d are true"
command: "testNestedStructListArgumentRequest"
arguments:
values:
- name: "arg1"
value:
{
a: 0,
b: true,
c:
{
a: 0,
b: true,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0,
h: 0,
},
d:
[
{
a: 1,
b: true,
c: 3,
d: "nested_octet_string",
e: "nested_char_string",
f: 1,
g: 0,
h: 0,
},
{
a: 2,
b: true,
c: 3,
d: "nested_octet_string",
e: "nested_char_string",
f: 1,
g: 0,
h: 0,
},
],
e: [1, 2, 3],
f:
[
"octet_string_1",
"octect_string_2",
"octet_string_3",
],
g: [0, 255],
}
response:
values:
- name: "value"
value: true
- label:
"Send Test Command With Nested Struct List Argument and some fields b
of arg1.d are false"
command: "testNestedStructListArgumentRequest"
arguments:
values:
- name: "arg1"
value:
{
a: 0,
b: true,
c:
{
a: 0,
b: true,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0,
h: 0,
},
d:
[
{
a: 1,
b: true,
c: 3,
d: "nested_octet_string",
e: "nested_char_string",
f: 1,
g: 0,
h: 0,
},
{
a: 2,
b: false,
c: 3,
d: "nested_octet_string",
e: "nested_char_string",
f: 1,
g: 0,
h: 0,
},
],
e: [1, 2, 3],
f:
[
"octet_string_1",
"octect_string_2",
"octet_string_3",
],
g: [0, 255],
}
response:
values:
- name: "value"
value: false
- label: "Send Test Command With Struct Argument and see what we get back"
command: "SimpleStructEchoRequest"
arguments:
values:
- name: "arg1"
value:
{
a: 17,
b: false,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0.1,
h: 0.1,
}
response:
values:
- name: "arg1"
value:
{
a: 17,
b: false,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0.1,
h: 0.1,
}
# Tests for List
- label: "Send Test Command With List of INT8U and none of them is set to 0"
command: "testListInt8UArgumentRequest"
arguments:
values:
- name: "arg1"
value: [1, 2, 3, 4, 5, 6, 7, 8, 9]
response:
values:
- name: "value"
value: true
- label: "Send Test Command With List of INT8U and one of them is set to 0"
command: "testListInt8UArgumentRequest"
arguments:
values:
- name: "arg1"
value: [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
response:
values:
- name: "value"
value: false
- label: "Send Test Command With List of INT8U and get it reversed"
command: "testListInt8UReverseRequest"
arguments:
values:
- name: "arg1"
value: [1, 2, 3, 4, 5, 6, 7, 8, 9]
response:
values:
- name: "arg1"
value: [9, 8, 7, 6, 5, 4, 3, 2, 1]
- label:
"Send Test Command With empty List of INT8U and get an empty list back"
command: "testListInt8UReverseRequest"
arguments:
values:
- name: "arg1"
value: []
response:
values:
- name: "arg1"
value: []
- label:
"Send Test Command With List of Struct Argument and arg1.b of first
item is true"
command: "testListStructArgumentRequest"
arguments:
values:
- name: "arg1"
value:
[
{
a: 0,
b: true,
c: 2,
d: "first_octet_string",
e: "first_char_string",
f: 1,
g: 0,
h: 0,
},
{
a: 1,
b: true,
c: 3,
d: "second_octet_string",
e: "second_char_string",
f: 1,
g: 0,
h: 0,
},
]
response:
values:
- name: "value"
value: true
- label:
"Send Test Command With List of Struct Argument and arg1.b of first
item is false"
command: "testListStructArgumentRequest"
arguments:
values:
- name: "arg1"
value:
[
{
a: 1,
b: true,
c: 3,
d: "second_octet_string",
e: "second_char_string",
f: 1,
g: 0,
h: 0,
},
{
a: 0,
b: false,
c: 2,
d: "first_octet_string",
e: "first_char_string",
f: 1,
g: 0,
h: 0,
},
]
response:
values:
- name: "value"
value: false
- label:
"Send Test Command With List of Nested Struct List Argument and all
fields b of elements of arg1.d are true"
command: "testListNestedStructListArgumentRequest"
arguments:
values:
- name: "arg1"
value:
[
{
a: 0,
b: true,
c:
{
a: 0,
b: true,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0,
h: 0,
},
d:
[
{
a: 1,
b: true,
c: 3,
d: "nested_octet_string",
e: "nested_char_string",
f: 1,
g: 0,
h: 0,
},
{
a: 2,
b: true,
c: 3,
d: "nested_octet_string",
e: "nested_char_string",
f: 1,
g: 0,
h: 0,
},
],
e: [1, 2, 3],
f:
[
"octet_string_1",
"octect_string_2",
"octet_string_3",
],
g: [0, 255],
},
]
response:
values:
- name: "value"
value: true
- label:
"Send Test Command With Nested Struct List Argument and some fields b
of elements of arg1.d are false"
command: "testListNestedStructListArgumentRequest"
arguments:
values:
- name: "arg1"
value:
[
{
a: 0,
b: true,
c:
{
a: 0,
b: true,
c: 2,
d: "octet_string",
e: "char_string",
f: 1,
g: 0,
h: 0,
},
d:
[
{
a: 1,
b: true,
c: 3,
d: "nested_octet_string",
e: "nested_char_string",
f: 1,
g: 0,
h: 0,
},
{
a: 2,
b: false,
c: 3,
d: "nested_octet_string",
e: "nested_char_string",
f: 1,
g: 0,
h: 0,
},
],
e: [1, 2, 3],
f:
[
"octet_string_1",
"octect_string_2",
"octet_string_3",
],
g: [0, 255],
},
]
response:
values:
- name: "value"
value: false
- label:
"Write attribute LIST With List of INT8U and none of them is set to 0"
command: "writeAttribute"
attribute: "list_int8u"
arguments:
value: [1, 2, 3, 4]
- label: "Read attribute LIST With List of INT8U"
command: "readAttribute"
attribute: "list_int8u"
response:
value: [1, 2, 3, 4]
- label: "Write attribute LIST With List of OCTET_STRING"
command: "writeAttribute"
attribute: "list_octet_string"
arguments:
value: ["Test0", "Test1", "Test2", "Test3"]
- label: "Read attribute LIST With List of OCTET_STRING"
command: "readAttribute"
attribute: "list_octet_string"
response:
value: ["Test0", "Test1", "Test2", "Test3"]
- label: "Write attribute LIST With List of LIST_STRUCT_OCTET_STRING"
command: "writeAttribute"
attribute: "list_struct_octet_string"
arguments:
value:
[
{ member1: 0, member2: "Test0" },
{ member1: 1, member2: "Test1" },
{ member1: 2, member2: "Test2" },
{ member1: 3, member2: "Test3" },
]
- label: "Read attribute LIST With List of LIST_STRUCT_OCTET_STRING"
command: "readAttribute"
attribute: "list_struct_octet_string"
response:
value:
[
{ member1: 0, member2: "Test0" },
{ member1: 1, member2: "Test1" },
{ member1: 2, member2: "Test2" },
{ member1: 3, member2: "Test3" },
]
# Tests for Nullables and Optionals
- label: "Send Test Command with optional arg set."
command: "testNullableOptionalRequest"
arguments:
values:
- name: "arg1"
value: 5
response:
values:
- name: "wasPresent"
value: true
- name: "wasNull"
value: false
- name: "value"
value: 5
- name: "originalValue"
value: 5
- label: "Send Test Command without its optional arg."
command: "testNullableOptionalRequest"
response:
values:
- name: "wasPresent"
value: false
- label: "Read list of structs containing nullables and optionals"
command: "readAttribute"
attribute: "list_nullables_and_optionals_struct"
response:
# By default, just one item, with everything default-initialized
value:
[
{
NullableInt: null,
NullableString: null,
NullableStruct: null,
NullableList: null,
},
]
- label: "Write list of structs containing nullables and optionals"
command: "writeAttribute"
attribute: "list_nullables_and_optionals_struct"
arguments:
value:
[
{
NullableInt: null,
NullableString: null,
NullableStruct: null,
NullableList: [1, 2],
},
]
- label:
"Read list of structs containing nullables and optionals after writing"
command: "readAttribute"
attribute: "list_nullables_and_optionals_struct"
response:
value:
[
{
NullableInt: null,
NullableString: null,
NullableStruct: null,
NullableList: [1, 2],
},
]
# Nullable attributes
# Tests for nullable Boolean attribute
- label: "Write attribute NULLABLE_BOOLEAN null"
command: "writeAttribute"
attribute: "nullable_boolean"
arguments:
value: null
- label: "Read attribute NULLABLE_BOOLEAN null"
command: "readAttribute"
attribute: "nullable_boolean"
response:
saveAs: booValueNull
value: null
- label: "Write attribute NULLABLE_BOOLEAN True"
command: "writeAttribute"
attribute: "nullable_boolean"
arguments:
value: true
- label: "Read attribute NULLABLE_BOOLEAN True"
command: "readAttribute"
attribute: "nullable_boolean"
response:
value: true
- label: "Read attribute NULLABLE_BOOLEAN not null"
command: "readAttribute"
attribute: "nullable_boolean"
response:
constraints:
notValue: booValueNull
# Tests for nullable Bitmap8 attribute
- label: "Write attribute NULLABLE_BITMAP8 Max Value"
command: "writeAttribute"
attribute: "nullable_bitmap8"
arguments:
value: 254
- label: "Read attribute NULLABLE_BITMAP8 Max Value"
command: "readAttribute"
attribute: "nullable_bitmap8"
response:
value: 254
- label: "Write attribute NULLABLE_BITMAP8 Invalid Value"
command: "writeAttribute"
attribute: "nullable_bitmap8"
arguments:
value: 255
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_BITMAP8 unchanged Value"
command: "readAttribute"
attribute: "nullable_bitmap8"
response:
saveAs: nullableValue254
value: 254
- label: "Write attribute NULLABLE_BITMAP8 null Value"
command: "writeAttribute"
attribute: "nullable_bitmap8"
arguments:
value: null
- label: "Read attribute NULLABLE_BITMAP8 null Value"
command: "readAttribute"
attribute: "nullable_bitmap8"
response:
value: null
- label: "Read attribute NULLABLE_BITMAP8 not 254 Value"
command: "readAttribute"
attribute: "nullable_bitmap8"
response:
constraints:
notValue: nullableValue254
# Tests for nullable Bitmap16 attribute
- label: "Write attribute NULLABLE_BITMAP16 Max Value"
command: "writeAttribute"
attribute: "nullable_bitmap16"
arguments:
value: 65534
- label: "Read attribute NULLABLE_BITMAP16 Max Value"
command: "readAttribute"
attribute: "nullable_bitmap16"
response:
value: 65534
- label: "Write attribute NULLABLE_BITMAP16 Invalid Value"
command: "writeAttribute"
attribute: "nullable_bitmap16"
arguments:
value: 65535
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_BITMAP16 unchanged Value"
command: "readAttribute"
attribute: "nullable_bitmap16"
response:
value: 65534
- label: "Write attribute NULLABLE_BITMAP16 null Value"
command: "writeAttribute"
attribute: "nullable_bitmap16"
arguments:
value: null
- label: "Read attribute NULLABLE_BITMAP16 null Value"
command: "readAttribute"
attribute: "nullable_bitmap16"
response:
value: null
# Tests for nullable Bitmap32 attribute
- label: "Write attribute NULLABLE_BITMAP32 Max Value"
command: "writeAttribute"
attribute: "nullable_bitmap32"
arguments:
value: 4294967294
- label: "Read attribute NULLABLE_BITMAP32 Max Value"
command: "readAttribute"
attribute: "nullable_bitmap32"
response:
value: 4294967294
- label: "Write attribute NULLABLE_BITMAP32 Invalid Value"
command: "writeAttribute"
attribute: "nullable_bitmap32"
arguments:
value: 4294967295
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_BITMAP32 unchanged Value"
command: "readAttribute"
attribute: "nullable_bitmap32"
response:
value: 4294967294
- label: "Write attribute NULLABLE_BITMAP32 null Value"
command: "writeAttribute"
attribute: "nullable_bitmap32"
arguments:
value: null
- label: "Read attribute NULLABLE_BITMAP32 null Value"
command: "readAttribute"
attribute: "nullable_bitmap32"
response:
value: null
# Tests for nullable Bitmap64 attribute
- label: "Write attribute NULLABLE_BITMAP64 Max Value"
command: "writeAttribute"
attribute: "nullable_bitmap64"
arguments:
value: "18446744073709551614"
- label: "Read attribute NULLABLE_BITMAP64 Max Value"
command: "readAttribute"
attribute: "nullable_bitmap64"
response:
value: "18446744073709551614"
- label: "Write attribute NULLABLE_BITMAP64 Invalid Value"
command: "writeAttribute"
attribute: "nullable_bitmap64"
arguments:
value: "18446744073709551615"
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_BITMAP64 unchanged Value"
command: "readAttribute"
attribute: "nullable_bitmap64"
response:
value: "18446744073709551614"
- label: "Write attribute NULLABLE_BITMAP64 null Value"
command: "writeAttribute"
attribute: "nullable_bitmap64"
arguments:
value: null
- label: "Read attribute NULLABLE_BITMAP64 null Value"
command: "readAttribute"
attribute: "nullable_bitmap64"
response:
value: null
# Tests for nullable UInt8 attribute
- label: "Write attribute NULLABLE_INT8U Min Value"
command: "writeAttribute"
attribute: "nullable_int8u"
arguments:
value: 0
- label: "Read attribute NULLABLE_INT8U Min Value"
command: "readAttribute"
attribute: "nullable_int8u"
response:
value: 0
- label: "Write attribute NULLABLE_INT8U Max Value"
command: "writeAttribute"
attribute: "nullable_int8u"
arguments:
value: 254
- label: "Read attribute NULLABLE_INT8U Max Value"
command: "readAttribute"
attribute: "nullable_int8u"
response:
value: 254
- label: "Write attribute NULLABLE_INT8U Invalid Value"
command: "writeAttribute"
attribute: "nullable_int8u"
arguments:
value: 255
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_INT8U unchanged Value"
command: "readAttribute"
attribute: "nullable_int8u"
response:
value: 254
- label: "Read attribute NULLABLE_INT8U unchanged Value with constraint"
command: "readAttribute"
attribute: "nullable_int8u"
response:
constraints:
notValue: null
- label: "Write attribute NULLABLE_INT8U null Value"
command: "writeAttribute"
attribute: "nullable_int8u"
arguments:
value: null
- label: "Read attribute NULLABLE_INT8U null Value"
command: "readAttribute"
attribute: "nullable_int8u"
response:
value: null
- label: "Read attribute NULLABLE_INT8U null Value & range"
command: "readAttribute"
attribute: "nullable_int8u"
response:
constraints:
minValue: 0
maxValue: 254
- label: "Read attribute NULLABLE_INT8U null Value & not"
command: "readAttribute"
attribute: "nullable_int8u"
response:
constraints:
notValue: 254
- label: "Write attribute NULLABLE_INT8U Value"
command: "writeAttribute"
attribute: "nullable_int8u"
arguments:
value: 128
- label: "Read attribute NULLABLE_INT8U Value in range"
command: "readAttribute"
attribute: "nullable_int8u"
response:
constraints:
minValue: 0
maxValue: 254
- label: "Read attribute NULLABLE_INT8U notValue OK"
command: "readAttribute"
attribute: "nullable_int8u"
response:
constraints:
notValue: 129
# Tests for nullable UInt16 attribute
- label: "Write attribute NULLABLE_INT16U Min Value"
command: "writeAttribute"
attribute: "nullable_int16u"
arguments:
value: 0
- label: "Read attribute NULLABLE_INT16U Min Value"
command: "readAttribute"
attribute: "nullable_int16u"
response:
value: 0
- label: "Write attribute NULLABLE_INT16U Max Value"
command: "writeAttribute"
attribute: "nullable_int16u"
arguments:
value: 65534
- label: "Read attribute NULLABLE_INT16U Max Value"
command: "readAttribute"
attribute: "nullable_int16u"
response:
value: 65534
- label: "Write attribute NULLABLE_INT16U Invalid Value"
command: "writeAttribute"
attribute: "nullable_int16u"
arguments:
value: 65535
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_INT16U unchanged Value"
command: "readAttribute"
attribute: "nullable_int16u"
response:
value: 65534
- label: "Write attribute NULLABLE_INT16U null Value"
command: "writeAttribute"
attribute: "nullable_int16u"
arguments:
value: null
- label: "Read attribute NULLABLE_INT16U null Value"
command: "readAttribute"
attribute: "nullable_int16u"
response:
value: null
- label: "Read attribute NULLABLE_INT16U null Value & range"
command: "readAttribute"
attribute: "nullable_int16u"
response:
constraints:
minValue: 0
maxValue: 65534
- label: "Read attribute NULLABLE_INT16U null Value & not"
command: "readAttribute"
attribute: "nullable_int16u"
response:
constraints:
notValue: 65534
- label: "Write attribute NULLABLE_INT16U Value"
command: "writeAttribute"
attribute: "nullable_int16u"
arguments:
value: 32000
- label: "Read attribute NULLABLE_INT16U Value in range"
command: "readAttribute"
attribute: "nullable_int16u"
response:
constraints:
minValue: 0
maxValue: 65534
- label: "Read attribute NULLABLE_INT16U notValue OK"
command: "readAttribute"
attribute: "nullable_int16u"
response:
constraints:
notValue: 32001
# Tests for nullable UInt32 attribute
- label: "Write attribute NULLABLE_INT32U Min Value"
command: "writeAttribute"
attribute: "nullable_int32u"
arguments:
value: 0
- label: "Read attribute NULLABLE_INT32U Min Value"
command: "readAttribute"
attribute: "nullable_int32u"
response:
value: 0
- label: "Write attribute NULLABLE_INT32U Max Value"
command: "writeAttribute"
attribute: "nullable_int32u"
arguments:
value: 4294967294
- label: "Read attribute NULLABLE_INT32U Max Value"
command: "readAttribute"
attribute: "nullable_int32u"
response:
value: 4294967294
- label: "Write attribute NULLABLE_INT32U Invalid Value"
command: "writeAttribute"
attribute: "nullable_int32u"
arguments:
value: 4294967295
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_INT32U unchanged Value"
command: "readAttribute"
attribute: "nullable_int32u"
response:
value: 4294967294
- label: "Write attribute NULLABLE_INT32U null Value"
command: "writeAttribute"
attribute: "nullable_int32u"
arguments:
value: null
- label: "Read attribute NULLABLE_INT32U null Value"
command: "readAttribute"
attribute: "nullable_int32u"
response:
value: null
- label: "Read attribute NULLABLE_INT32U null Value & range"
command: "readAttribute"
attribute: "nullable_int32u"
response:
constraints:
minValue: 0
maxValue: 4294967294
- label: "Read attribute NULLABLE_INT32U null Value & not"
command: "readAttribute"
attribute: "nullable_int32u"
response:
constraints:
notValue: 4294967294
- label: "Write attribute NULLABLE_INT32U Value"
command: "writeAttribute"
attribute: "nullable_int32u"
arguments:
value: 2147483647
- label: "Read attribute NULLABLE_INT32U Value in range"
command: "readAttribute"
attribute: "nullable_int32u"
response:
constraints:
minValue: 0
maxValue: 4294967294
- label: "Read attribute NULLABLE_INT32U notValue OK"
command: "readAttribute"
attribute: "nullable_int32u"
response:
constraints:
notValue: 2147483648
# Tests for nullable UInt64 attribute
- label: "Write attribute NULLABLE_INT64U Min Value"
command: "writeAttribute"
attribute: "nullable_int64u"
arguments:
value: 0
- label: "Read attribute NULLABLE_INT64U Min Value"
command: "readAttribute"
attribute: "nullable_int64u"
response:
value: 0
- label: "Write attribute NULLABLE_INT64U Max Value"
command: "writeAttribute"
attribute: "nullable_int64u"
arguments:
value: "18446744073709551614"
- label: "Read attribute NULLABLE_INT64U Max Value"
command: "readAttribute"
attribute: "nullable_int64u"
response:
value: "18446744073709551614"
- label: "Write attribute NULLABLE_INT64U Invalid Value"
command: "writeAttribute"
attribute: "nullable_int64u"
arguments:
value: "18446744073709551615"
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_INT64U unchanged Value"
command: "readAttribute"
attribute: "nullable_int64u"
response:
value: "18446744073709551614"
- label: "Write attribute NULLABLE_INT64U null Value"
command: "writeAttribute"
attribute: "nullable_int64u"
arguments:
value: null
- label: "Read attribute NULLABLE_INT64U null Value"
command: "readAttribute"
attribute: "nullable_int64u"
response:
value: null
- label: "Read attribute NULLABLE_INT64U null Value & range"
command: "readAttribute"
attribute: "nullable_int64u"
response:
constraints:
minValue: 0
maxValue: "18446744073709551614"
- label: "Read attribute NULLABLE_INT64U null Value & not"
command: "readAttribute"
attribute: "nullable_int64u"
response:
constraints:
notValue: "18446744073709551614"
- label: "Write attribute NULLABLE_INT64U Value"
command: "writeAttribute"
attribute: "nullable_int64u"
arguments:
value: "18000000000000000000"
- label: "Read attribute NULLABLE_INT64U Value in range"
command: "readAttribute"
attribute: "nullable_int64u"
response:
constraints:
minValue: 0
maxValue: "18446744073709551614"
- label: "Read attribute NULLABLE_INT64U notValue OK"
command: "readAttribute"
attribute: "nullable_int64u"
response:
constraints:
notValue: "18000000000000000001"
# Tests for nullable Int8 attribute
- label: "Write attribute NULLABLE_INT8S Min Value"
command: "writeAttribute"
attribute: "nullable_int8s"
arguments:
value: -127
- label: "Read attribute NULLABLE_INT8S Min Value"
command: "readAttribute"
attribute: "nullable_int8s"
response:
value: -127
- label: "Write attribute NULLABLE_INT8S Invalid Value"
command: "writeAttribute"
attribute: "nullable_int8s"
arguments:
value: -128
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_INT8S unchanged Value"
command: "readAttribute"
attribute: "nullable_int8s"
response:
value: -127
- label: "Write attribute NULLABLE_INT8S null Value"
command: "writeAttribute"
attribute: "nullable_int8s"
arguments:
value: null
- label: "Read attribute NULLABLE_INT8S null Value"
command: "readAttribute"
attribute: "nullable_int8s"
response:
value: null
- label: "Read attribute NULLABLE_INT8S null Value & range"
command: "readAttribute"
attribute: "nullable_int8s"
response:
constraints:
minValue: -127
maxValue: 127
- label: "Read attribute NULLABLE_INT8S null Value & not"
command: "readAttribute"
attribute: "nullable_int8s"
response:
constraints:
notValue: -127
- label: "Write attribute NULLABLE_INT8S Value"
command: "writeAttribute"
attribute: "nullable_int8s"
arguments:
value: -127
- label: "Read attribute NULLABLE_INT8S Value in range"
command: "readAttribute"
attribute: "nullable_int8s"
response:
constraints:
minValue: -127
maxValue: 127
- label: "Read attribute NULLABLE_INT8S notValue OK"
command: "readAttribute"
attribute: "nullable_int8s"
response:
constraints:
notValue: -126
# Tests for nullable Int16 attribute
- label: "Write attribute NULLABLE_INT16S Min Value"
command: "writeAttribute"
attribute: "nullable_int16s"
arguments:
value: -32767
- label: "Read attribute NULLABLE_INT16S Min Value"
command: "readAttribute"
attribute: "nullable_int16s"
response:
value: -32767
- label: "Write attribute NULLABLE_INT16S Invalid Value"
command: "writeAttribute"
attribute: "nullable_int16s"
arguments:
value: -32768
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_INT16S unchanged Value"
command: "readAttribute"
attribute: "nullable_int16s"
response:
value: -32767
- label: "Write attribute NULLABLE_INT16S null Value"
command: "writeAttribute"
attribute: "nullable_int16s"
arguments:
value: null
- label: "Read attribute NULLABLE_INT16S null Value"
command: "readAttribute"
attribute: "nullable_int16s"
response:
value: null
- label: "Read attribute NULLABLE_INT16S null Value & range"
command: "readAttribute"
attribute: "nullable_int16s"
response:
constraints:
minValue: -32767
maxValue: 32767
- label: "Read attribute NULLABLE_INT16S null Value & not"
command: "readAttribute"
attribute: "nullable_int16s"
response:
constraints:
notValue: -32767
- label: "Write attribute NULLABLE_INT16S Value"
command: "writeAttribute"
attribute: "nullable_int16s"
arguments:
value: -32767
- label: "Read attribute NULLABLE_INT16S Value in range"
command: "readAttribute"
attribute: "nullable_int16s"
response:
constraints:
minValue: -32767
maxValue: 32767
- label: "Read attribute NULLABLE_INT16S notValue OK"
command: "readAttribute"
attribute: "nullable_int16s"
response:
constraints:
notValue: -32766
# Tests for Int32 attribute
- label: "Write attribute NULLABLE_INT32S Min Value"
command: "writeAttribute"
attribute: "nullable_int32s"
arguments:
value: -2147483647
- label: "Read attribute NULLABLE_INT32S Min Value"
command: "readAttribute"
attribute: "nullable_int32s"
response:
value: -2147483647
- label: "Write attribute NULLABLE_INT32S Invalid Value"
command: "writeAttribute"
attribute: "nullable_int32s"
arguments:
value: -2147483648
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_INT32S unchanged Value"
command: "readAttribute"
attribute: "nullable_int32s"
response:
value: -2147483647
- label: "Write attribute NULLABLE_INT32S null Value"
command: "writeAttribute"
attribute: "nullable_int32s"
arguments:
value: null
- label: "Read attribute NULLABLE_INT32S null Value"
command: "readAttribute"
attribute: "nullable_int32s"
response:
value: null
- label: "Read attribute NULLABLE_INT32S null Value & range"
command: "readAttribute"
attribute: "nullable_int32s"
response:
constraints:
minValue: -2147483647
maxValue: 2147483647
- label: "Read attribute NULLABLE_INT32S null Value & not"
command: "readAttribute"
attribute: "nullable_int32s"
response:
constraints:
notValue: -2147483647
- label: "Write attribute NULLABLE_INT32S Value"
command: "writeAttribute"
attribute: "nullable_int32s"
arguments:
value: -2147483647
- label: "Read attribute NULLABLE_INT32S Value in range"
command: "readAttribute"
attribute: "nullable_int32s"
response:
constraints:
minValue: -2147483647
maxValue: 2147483647
- label: "Read attribute NULLABLE_INT32S notValue OK"
command: "readAttribute"
attribute: "nullable_int32s"
response:
constraints:
notValue: -2147483646
# Tests for Int64 attribute
- label: "Write attribute NULLABLE_INT64S Min Value"
command: "writeAttribute"
attribute: "nullable_int64s"
arguments:
value: "-9223372036854775807"
- label: "Read attribute NULLABLE_INT64S Min Value"
command: "readAttribute"
attribute: "nullable_int64s"
response:
value: "-9223372036854775807"
- label: "Write attribute NULLABLE_INT64S Invalid Value"
command: "writeAttribute"
attribute: "nullable_int64s"
arguments:
# This is a nasty hack: -9223372036854775808 is not a valid way to
# write a long long in C++, leading to warnings. So this tries to
# work around that.
value: "-9223372036854775807LL - 1"
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_INT64S unchanged Value"
command: "readAttribute"
attribute: "nullable_int64s"
response:
value: "-9223372036854775807"
- label: "Write attribute NULLABLE_INT64S null Value"
command: "writeAttribute"
attribute: "nullable_int64s"
arguments:
value: null
- label: "Read attribute NULLABLE_INT64S null Value"
command: "readAttribute"
attribute: "nullable_int64s"
response:
value: null
- label: "Read attribute NULLABLE_INT64S null Value & range"
command: "readAttribute"
attribute: "nullable_int64s"
response:
constraints:
minValue: "-9223372036854775807"
maxValue: "9223372036854775807"
- label: "Read attribute NULLABLE_INT64S null Value & not"
command: "readAttribute"
attribute: "nullable_int64s"
response:
constraints:
notValue: "-9223372036854775807"
- label: "Write attribute NULLABLE_INT64S Value"
command: "writeAttribute"
attribute: "nullable_int64s"
arguments:
value: "-9223372036854775807"
- label: "Read attribute NULLABLE_INT64S Value in range"
command: "readAttribute"
attribute: "nullable_int64s"
response:
constraints:
minValue: "-9223372036854775807"
maxValue: "9223372036854775807"
- label: "Read attribute NULLABLE_INT64S notValue OK"
command: "readAttribute"
attribute: "nullable_int64s"
response:
constraints:
notValue: "-9223372036854775806"
# Tests for float attribute
- label: "Write attribute NULLABLE_SINGLE medium Value"
command: "writeAttribute"
attribute: "nullable_float_single"
arguments:
value: 0.1
- label: "Read attribute NULLABLE_SINGLE medium Value"
command: "readAttribute"
attribute: "nullable_float_single"
response:
value: 0.1
- label: "Write attribute NULLABLE_SINGLE largest Value"
command: "writeAttribute"
attribute: "nullable_float_single"
arguments:
value: Infinity
- label: "Read attribute NULLABLE_SINGLE largest Value"
command: "readAttribute"
attribute: "nullable_float_single"
response:
value: Infinity
- label: "Write attribute NULLABLE_SINGLE smallest Value"
command: "writeAttribute"
attribute: "nullable_float_single"
arguments:
value: -Infinity
- label: "Read attribute NULLABLE_SINGLE smallest Value"
command: "readAttribute"
attribute: "nullable_float_single"
response:
value: -Infinity
- label: "Write attribute NULLABLE_SINGLE null Value"
command: "writeAttribute"
attribute: "nullable_float_single"
arguments:
value: null
- label: "Read attribute NULLABLE_SINGLE null Value"
command: "readAttribute"
attribute: "nullable_float_single"
response:
value: null
- label: "Write attribute NULLABLE_SINGLE 0 Value"
command: "writeAttribute"
attribute: "nullable_float_single"
arguments:
value: 0
- label: "Read attribute NULLABLE_SINGLE 0 Value"
command: "readAttribute"
attribute: "nullable_float_single"
response:
value: 0
# Tests for double attribute
- label: "Write attribute NULLABLE_DOUBLE medium Value"
command: "writeAttribute"
attribute: "nullable_float_double"
arguments:
value: 0.1234567890123
- label: "Read attribute NULLABLE_DOUBLE medium Value"
command: "readAttribute"
attribute: "nullable_float_double"
response:
value: 0.1234567890123
- label: "Write attribute NULLABLE_DOUBLE largest Value"
command: "writeAttribute"
attribute: "nullable_float_double"
arguments:
value: Infinity
- label: "Read attribute NULLABLE_DOUBLE largest Value"
command: "readAttribute"
attribute: "nullable_float_double"
response:
value: Infinity
- label: "Write attribute NULLABLE_DOUBLE smallest Value"
command: "writeAttribute"
attribute: "nullable_float_double"
arguments:
value: -Infinity
- label: "Read attribute NULLABLE_DOUBLE smallest Value"
command: "readAttribute"
attribute: "nullable_float_double"
response:
value: -Infinity
- label: "Write attribute NULLABLE_DOUBLE null Value"
command: "writeAttribute"
attribute: "nullable_float_double"
arguments:
value: null
- label: "Read attribute NULLABLE_DOUBLE null Value"
command: "readAttribute"
attribute: "nullable_float_double"
response:
value: null
- label: "Write attribute NULLABLE_DOUBLE 0 Value"
command: "writeAttribute"
attribute: "nullable_float_double"
arguments:
value: 0
- label: "Read attribute NULLABLE_DOUBLE 0 Value"
command: "readAttribute"
attribute: "nullable_float_double"
response:
value: 0
# Tests for Enum8 attribute
- label: "Write attribute NULLABLE_ENUM8 Min Value"
command: "writeAttribute"
attribute: "nullable_enum8"
arguments:
value: 0
- label: "Read attribute NULLABLE_ENUM8 Min Value"
command: "readAttribute"
attribute: "nullable_enum8"
response:
value: 0
- label: "Write attribute NULLABLE_ENUM8 Max Value"
command: "writeAttribute"
attribute: "nullable_enum8"
arguments:
value: 254
- label: "Read attribute NULLABLE_ENUM8 Max Value"
command: "readAttribute"
attribute: "nullable_enum8"
response:
value: 254
- label: "Write attribute NULLABLE_ENUM8 Invalid Value"
command: "writeAttribute"
attribute: "nullable_enum8"
arguments:
value: 255
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_ENUM8 unchanged Value"
command: "readAttribute"
attribute: "nullable_enum8"
response:
value: 254
- label: "Write attribute NULLABLE_ENUM8 null Value"
command: "writeAttribute"
attribute: "nullable_enum8"
arguments:
value: null
- label: "Read attribute NULLABLE_ENUM8 null Value"
command: "readAttribute"
attribute: "nullable_enum8"
response:
value: null
# Tests for Enum16 attribute
- label: "Write attribute NULLABLE_ENUM16 Min Value"
command: "writeAttribute"
attribute: "nullable_enum16"
arguments:
value: 0
- label: "Read attribute NULLABLE_ENUM16 Min Value"
command: "readAttribute"
attribute: "nullable_enum16"
response:
value: 0
- label: "Write attribute NULLABLE_ENUM16 Max Value"
command: "writeAttribute"
attribute: "nullable_enum16"
arguments:
value: 65534
- label: "Read attribute NULLABLE_ENUM16 Max Value"
command: "readAttribute"
attribute: "nullable_enum16"
response:
value: 65534
- label: "Write attribute NULLABLE_ENUM16 Invalid Value"
command: "writeAttribute"
attribute: "nullable_enum16"
arguments:
value: 65535
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_ENUM16 unchanged Value"
command: "readAttribute"
attribute: "nullable_enum16"
response:
value: 65534
- label: "Write attribute NULLABLE_ENUM16 null Value"
command: "writeAttribute"
attribute: "nullable_enum16"
arguments:
value: null
- label: "Read attribute NULLABLE_ENUM16 null Value"
command: "readAttribute"
attribute: "nullable_enum16"
response:
value: null
# Tests for named enum attribute
- label: "Write attribute NULLABLE_SIMPLE_ENUM Min Value"
command: "writeAttribute"
attribute: "nullable_enum_attr"
arguments:
value: 0
- label: "Read attribute NULLABLE_SIMPLE_ENUM Min Value"
command: "readAttribute"
attribute: "nullable_enum_attr"
response:
value: 0
- label: "Write attribute NULLABLE_SIMPLE_ENUM Max Value"
command: "writeAttribute"
attribute: "nullable_enum_attr"
arguments:
value: 3
- label: "Read attribute NULLABLE_SIMPLE_ENUM Max Value"
command: "readAttribute"
attribute: "nullable_enum_attr"
response:
value: 3
- label: "Write attribute NULLABLE_SIMPLE_ENUM Invalid Value"
command: "writeAttribute"
attribute: "nullable_enum_attr"
arguments:
value: 255
response:
error: CONSTRAINT_ERROR
- label: "Read attribute NULLABLE_SIMPLE_ENUM unchanged Value"
command: "readAttribute"
attribute: "nullable_enum_attr"
response:
saveAs: nullableEnumAttr3
value: 3
- label: "Write attribute NULLABLE_SIMPLE_ENUM null Value"
command: "writeAttribute"
attribute: "nullable_enum_attr"
arguments:
value: null
- label: "Read attribute NULLABLE_SIMPLE_ENUM null Value"
command: "readAttribute"
attribute: "nullable_enum_attr"
response:
value: null
- label: "Read attribute NULLABLE_SIMPLE_ENUM not 3 Value"
command: "readAttribute"
attribute: "nullable_enum_attr"
response:
constraints:
notValue: nullableEnumAttr3
# Tests for Octet String attribute
- label: "Read attribute NULLABLE_OCTET_STRING Default Value"
command: "readAttribute"
attribute: "nullable_octet_string"
response:
value: ""
- label: "Write attribute NULLABLE_OCTET_STRING"
command: "writeAttribute"
attribute: "nullable_octet_string"
arguments:
value: "TestValue"
- label: "Read attribute NULLABLE_OCTET_STRING"
command: "readAttribute"
attribute: "nullable_octet_string"
response:
saveAs: nullableOctetStrTestValue
value: "TestValue"
- label: "Write attribute NULLABLE_OCTET_STRING"
command: "writeAttribute"
attribute: "nullable_octet_string"
arguments:
value: null
- label: "Read attribute NULLABLE_OCTET_STRING"
command: "readAttribute"
attribute: "nullable_octet_string"
response:
value: null
- label: "Write attribute NULLABLE_OCTET_STRING"
command: "writeAttribute"
attribute: "nullable_octet_string"
arguments:
value: ""
- label: "Read attribute NULLABLE_OCTET_STRING"
command: "readAttribute"
attribute: "nullable_octet_string"
response:
value: ""
- label: "Read attribute NULLABLE_OCTET_STRING not TestValue"
command: "readAttribute"
attribute: "nullable_octet_string"
response:
constraints:
notValue: nullableOctetStrTestValue
# Tests for Char String attribute
- label: "Read attribute NULLABLE_CHAR_STRING Default Value"
command: "readAttribute"
attribute: "nullable_char_string"
response:
value: ""
- label: "Write attribute NULLABLE_CHAR_STRING"
command: "writeAttribute"
attribute: "nullable_char_string"
arguments:
value: "☉T☉"
- label: "Read attribute NULLABLE_CHAR_STRING"
command: "readAttribute"
attribute: "nullable_char_string"
response:
saveAs: nullableCharStringSave
value: "☉T☉"
- label: "Read attribute NULLABLE_CHAR_STRING"
command: "readAttribute"
attribute: "nullable_char_string"
response:
value: nullableCharStringSave
- label: "Write attribute NULLABLE_CHAR_STRING - Value too long"
command: "writeAttribute"
attribute: "nullable_char_string"
arguments:
value: null
- label: "Read attribute NULLABLE_CHAR_STRING"
command: "readAttribute"
attribute: "nullable_char_string"
response:
value: null
- label: "Write attribute NULLABLE_CHAR_STRING - Empty"
command: "writeAttribute"
attribute: "nullable_char_string"
arguments:
value: ""
- label: "Read attribute NULLABLE_CHAR_STRING"
command: "readAttribute"
attribute: "nullable_char_string"
response:
value: ""
- label: "Read attribute NULLABLE_CHAR_STRING not ☉T☉"
command: "readAttribute"
attribute: "nullable_char_string"
response:
constraints:
notValue: nullableCharStringSave
- label: "Read attribute from nonexistent endpoint."
endpoint: 200
command: "readAttribute"
attribute: "list_int8u"
response:
error: UNSUPPORTED_ENDPOINT
- label: "Read attribute from nonexistent cluster."
endpoint: 0
command: "readAttribute"
attribute: "list_int8u"
response:
error: UNSUPPORTED_CLUSTER
# Tests for command with optional arguments
- label:
"Send a command that takes an optional parameter but do not set it."
command: "TestSimpleOptionalArgumentRequest"
response:
error: INVALID_VALUE
- label:
"Send a command that takes an optional parameter but do not set it."
command: "TestSimpleOptionalArgumentRequest"
arguments:
values:
- name: "arg1"
value: 1
# Tests for subscription to a complex attribute
- label: "Subscribe to list attribute"
command: "subscribeAttribute"
attribute: "list_int8u"
minInterval: 2
maxInterval: 5
response:
value: [1, 2, 3, 4]
- label: "Write subscribed-to list attribute"
command: "writeAttribute"
attribute: "list_int8u"
arguments:
value: [5, 6, 7, 8]
- label: "Check for list attribute report"
command: "waitForReport"
attribute: "list_int8u"
response:
value: [5, 6, 7, 8]
# Tests for range-checking on the server.
- label: "Read range-restricted unsigned 8-bit integer"
command: "readAttribute"
attribute: "range_restricted_int8u"
response:
value: 70 # That's the default.
- label: "Write min value to a range-restricted unsigned 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8u"
arguments:
value: 0
response:
error: CONSTRAINT_ERROR
- label:
"Write just-below-range value to a range-restricted unsigned 8-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int8u"
arguments:
value: 19
response:
error: CONSTRAINT_ERROR
- label:
"Write just-above-range value to a range-restricted unsigned 8-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int8u"
arguments:
value: 101
response:
error: CONSTRAINT_ERROR
- label: "Write max value to a range-restricted unsigned 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8u"
arguments:
value: 255
response:
error: CONSTRAINT_ERROR
- label:
"Verify range-restricted unsigned 8-bit integer value has not changed"
command: "readAttribute"
attribute: "range_restricted_int8u"
response:
value: 70
- label:
"Write min valid value to a range-restricted unsigned 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8u"
arguments:
value: 20
- label:
"Verify range-restricted unsigned 8-bit integer value is at min valid"
command: "readAttribute"
attribute: "range_restricted_int8u"
response:
value: 20
- label:
"Write max valid value to a range-restricted unsigned 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8u"
arguments:
value: 100
- label:
"Verify range-restricted unsigned 8-bit integer value is at max valid"
command: "readAttribute"
attribute: "range_restricted_int8u"
response:
value: 100
- label:
"Write middle valid value to a range-restricted unsigned 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8u"
arguments:
value: 50
- label:
"Verify range-restricted unsigned 8-bit integer value is at mid valid"
command: "readAttribute"
attribute: "range_restricted_int8u"
response:
value: 50
- label: "Read range-restricted unsigned 16-bit integer"
command: "readAttribute"
attribute: "range_restricted_int16u"
response:
value: 200 # That's the default.
- label: "Write min value to a range-restricted unsigned 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16u"
arguments:
value: 0
response:
error: CONSTRAINT_ERROR
- label:
"Write just-below-range value to a range-restricted unsigned 16-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int16u"
arguments:
value: 99
response:
error: CONSTRAINT_ERROR
- label:
"Write just-above-range value to a range-restricted unsigned 16-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int16u"
arguments:
value: 1001
response:
error: CONSTRAINT_ERROR
- label: "Write max value to a range-restricted unsigned 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16u"
arguments:
value: 65535
response:
error: CONSTRAINT_ERROR
- label:
"Verify range-restricted unsigned 16-bit integer value has not changed"
command: "readAttribute"
attribute: "range_restricted_int16u"
response:
value: 200
- label:
"Write min valid value to a range-restricted unsigned 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16u"
arguments:
value: 100
- label:
"Verify range-restricted unsigned 16-bit integer value is at min valid"
command: "readAttribute"
attribute: "range_restricted_int16u"
response:
value: 100
- label:
"Write max valid value to a range-restricted unsigned 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16u"
arguments:
value: 1000
- label:
"Verify range-restricted unsigned 16-bit integer value is at max valid"
command: "readAttribute"
attribute: "range_restricted_int16u"
response:
value: 1000
- label:
"Write middle valid value to a range-restricted unsigned 16-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int16u"
arguments:
value: 500
- label:
"Verify range-restricted unsigned 16-bit integer value is at mid valid"
command: "readAttribute"
attribute: "range_restricted_int16u"
response:
value: 500
- label: "Read range-restricted signed 8-bit integer"
command: "readAttribute"
attribute: "range_restricted_int8s"
response:
value: -20
- label: "Write min value to a range-restricted signed 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8s"
arguments:
value: -128
response:
error: CONSTRAINT_ERROR
- label:
"Write just-below-range value to a range-restricted signed 8-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int8s"
arguments:
value: -41
response:
error: CONSTRAINT_ERROR
- label:
"Write just-above-range value to a range-restricted signed 8-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int8s"
arguments:
value: 51
response:
error: CONSTRAINT_ERROR
- label: "Write max value to a range-restricted signed 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8s"
arguments:
value: 127
response:
error: CONSTRAINT_ERROR
- label:
"Verify range-restricted signed 8-bit integer value has not changed"
command: "readAttribute"
attribute: "range_restricted_int8s"
response:
value: -20
- label: "Write min valid value to a range-restricted signed 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8s"
arguments:
value: -40
- label:
"Verify range-restricted signed 8-bit integer value is at min valid"
command: "readAttribute"
attribute: "range_restricted_int8s"
response:
value: -40
- label: "Write max valid value to a range-restricted signed 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8s"
arguments:
value: 50
- label:
"Verify range-restricted signed 8-bit integer value is at max valid"
command: "readAttribute"
attribute: "range_restricted_int8s"
response:
value: 50
- label:
"Write middle valid value to a range-restricted signed 8-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int8s"
arguments:
value: 6
- label:
"Verify range-restricted signed 8-bit integer value is at mid valid"
command: "readAttribute"
attribute: "range_restricted_int8s"
response:
value: 6
- label: "Read range-restricted signed 16-bit integer"
command: "readAttribute"
attribute: "range_restricted_int16s"
response:
value: -100
- label: "Write min value to a range-restricted signed 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16s"
arguments:
value: -32768
response:
error: CONSTRAINT_ERROR
- label:
"Write just-below-range value to a range-restricted signed 16-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int16s"
arguments:
value: -151
response:
error: CONSTRAINT_ERROR
- label:
"Write just-above-range value to a range-restricted signed 16-bit
integer"
command: "writeAttribute"
attribute: "range_restricted_int16s"
arguments:
value: 201
response:
error: CONSTRAINT_ERROR
- label: "Write max value to a range-restricted signed 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16s"
arguments:
value: 32767
response:
error: CONSTRAINT_ERROR
- label:
"Verify range-restricted signed 16-bit integer value has not changed"
command: "readAttribute"
attribute: "range_restricted_int16s"
response:
value: -100
- label: "Write min valid value to a range-restricted signed 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16s"
arguments:
value: -150
- label:
"Verify range-restricted signed 16-bit integer value is at min valid"
command: "readAttribute"
attribute: "range_restricted_int16s"
response:
value: -150
- label: "Write max valid value to a range-restricted signed 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16s"
arguments:
value: 200
- label:
"Verify range-restricted signed 16-bit integer value is at max valid"
command: "readAttribute"
attribute: "range_restricted_int16s"
response:
value: 200
- label:
"Write middle valid value to a range-restricted signed 16-bit integer"
command: "writeAttribute"
attribute: "range_restricted_int16s"
arguments:
value: 7
- label:
"Verify range-restricted signed 16-bit integer value is at mid valid"
command: "readAttribute"
attribute: "range_restricted_int16s"
response:
value: 7
# Tests for range-checking for nullable attributes on the server.
- label: "Read nullable range-restricted unsigned 8-bit integer"
command: "readAttribute"
attribute: "nullable_range_restricted_int8u"
response:
value: 70 # That's the default.
- label:
"Write min value to a nullable range-restricted unsigned 8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8u"
arguments:
value: 0
response:
error: CONSTRAINT_ERROR
- label:
"Write just-below-range value to a nullable range-restricted unsigned
8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8u"
arguments:
value: 19
response:
error: CONSTRAINT_ERROR
- label:
"Write just-above-range value to a nullable range-restricted unsigned
8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8u"
arguments:
value: 101
response:
error: CONSTRAINT_ERROR
- label:
"Write max value to a nullable range-restricted unsigned 8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8u"
arguments:
value: 254
response:
error: CONSTRAINT_ERROR
- label:
"Verify nullable range-restricted unsigned 8-bit integer value has not
changed"
command: "readAttribute"
attribute: "nullable_range_restricted_int8u"
response:
value: 70
- label:
"Write min valid value to a nullable range-restricted unsigned 8-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8u"
arguments:
value: 20
- label:
"Verify nullable range-restricted unsigned 8-bit integer value is at
min valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int8u"
response:
value: 20
- label:
"Write max valid value to a nullable range-restricted unsigned 8-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8u"
arguments:
value: 100
- label:
"Verify nullable range-restricted unsigned 8-bit integer value is at
max valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int8u"
response:
value: 100
- label:
"Write middle valid value to a nullable range-restricted unsigned
8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8u"
arguments:
value: 50
- label:
"Verify nullable range-restricted unsigned 8-bit integer value is at
mid valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int8u"
response:
value: 50
- label:
"Write null value to a nullable range-restricted unsigned 8-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8u"
arguments:
value: null
- label:
"Verify nullable range-restricted unsigned 8-bit integer value is null"
command: "readAttribute"
attribute: "nullable_range_restricted_int8u"
response:
value: null
- label: "Read nullable range-restricted unsigned 16-bit integer"
command: "readAttribute"
attribute: "nullable_range_restricted_int16u"
response:
value: 200 # That's the default.
- label:
"Write min value to a nullable range-restricted unsigned 16-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16u"
arguments:
value: 0
response:
error: CONSTRAINT_ERROR
- label:
"Write just-below-range value to a nullable range-restricted unsigned
16-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16u"
arguments:
value: 99
response:
error: CONSTRAINT_ERROR
- label:
"Write just-above-range value to a nullable range-restricted unsigned
16-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16u"
arguments:
value: 1001
response:
error: CONSTRAINT_ERROR
- label:
"Write max value to a nullable range-restricted unsigned 16-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16u"
arguments:
value: 65534
response:
error: CONSTRAINT_ERROR
- label:
"Verify nullable range-restricted unsigned 16-bit integer value has
not changed"
command: "readAttribute"
attribute: "nullable_range_restricted_int16u"
response:
value: 200
- label:
"Write min valid value to a nullable range-restricted unsigned 16-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16u"
arguments:
value: 100
- label:
"Verify nullable range-restricted unsigned 16-bit integer value is at
min valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int16u"
response:
value: 100
- label:
"Write max valid value to a nullable range-restricted unsigned 16-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16u"
arguments:
value: 1000
- label:
"Verify nullable range-restricted unsigned 16-bit integer value is at
max valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int16u"
response:
value: 1000
- label:
"Write middle valid value to a nullable range-restricted unsigned
16-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16u"
arguments:
value: 500
- label:
"Verify nullable range-restricted unsigned 16-bit integer value is at
mid valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int16u"
response:
value: 500
- label:
"Write null value to a nullable range-restricted unsigned 16-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16u"
arguments:
value: null
- label:
"Verify nullable range-restricted unsigned 16-bit integer value is
null"
command: "readAttribute"
attribute: "nullable_range_restricted_int16u"
response:
value: null
- label: "Read nullable range-restricted signed 8-bit integer"
command: "readAttribute"
attribute: "nullable_range_restricted_int8s"
response:
value: -20
- label:
"Write min value to a nullable range-restricted signed 8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8s"
arguments:
value: -127
response:
error: CONSTRAINT_ERROR
- label:
"Write just-below-range value to a nullable range-restricted signed
8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8s"
arguments:
value: -41
response:
error: CONSTRAINT_ERROR
- label:
"Write just-above-range value to a nullable range-restricted signed
8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8s"
arguments:
value: 51
response:
error: CONSTRAINT_ERROR
- label:
"Write max value to a nullable range-restricted signed 8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8s"
arguments:
value: 127
response:
error: CONSTRAINT_ERROR
- label:
"Verify nullable range-restricted signed 8-bit integer value has not
changed"
command: "readAttribute"
attribute: "nullable_range_restricted_int8s"
response:
value: -20
- label:
"Write min valid value to a nullable range-restricted signed 8-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8s"
arguments:
value: -40
- label:
"Verify nullable range-restricted signed 8-bit integer value is at min
valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int8s"
response:
value: -40
- label:
"Write max valid value to a nullable range-restricted signed 8-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8s"
arguments:
value: 50
- label:
"Verify nullable range-restricted signed 8-bit integer value is at max
valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int8s"
response:
value: 50
- label:
"Write middle valid value to a nullable range-restricted signed 8-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8s"
arguments:
value: 6
- label:
"Verify nullable range-restricted signed 8-bit integer value is at mid
valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int8s"
response:
value: 6
- label:
"Write null value to a nullable range-restricted signed 8-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int8s"
arguments:
value: null
- label:
"Verify nullable range-restricted signed 8-bit integer value is at
null"
command: "readAttribute"
attribute: "nullable_range_restricted_int8s"
response:
value: null
- label: "Read nullable range-restricted signed 16-bit integer"
command: "readAttribute"
attribute: "nullable_range_restricted_int16s"
response:
value: -100
- label:
"Write min value to a nullable range-restricted signed 16-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16s"
arguments:
value: -32767
response:
error: CONSTRAINT_ERROR
- label:
"Write just-below-range value to a nullable range-restricted signed
16-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16s"
arguments:
value: -151
response:
error: CONSTRAINT_ERROR
- label:
"Write just-above-range value to a nullable range-restricted signed
16-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16s"
arguments:
value: 201
response:
error: CONSTRAINT_ERROR
- label:
"Write max value to a nullable range-restricted signed 16-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16s"
arguments:
value: 32767
response:
error: CONSTRAINT_ERROR
- label:
"Verify nullable range-restricted signed 16-bit integer value has not
changed"
command: "readAttribute"
attribute: "nullable_range_restricted_int16s"
response:
value: -100
- label:
"Write min valid value to a nullable range-restricted signed 16-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16s"
arguments:
value: -150
- label:
"Verify nullable range-restricted signed 16-bit integer value is at
min valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int16s"
response:
value: -150
- label:
"Write max valid value to a nullable range-restricted signed 16-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16s"
arguments:
value: 200
- label:
"Verify nullable range-restricted signed 16-bit integer value is at
max valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int16s"
response:
value: 200
- label:
"Write middle valid value to a nullable range-restricted signed 16-bit
integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16s"
arguments:
value: 7
- label:
"Verify nullable range-restricted signed 16-bit integer value is at
mid valid"
command: "readAttribute"
attribute: "nullable_range_restricted_int16s"
response:
value: 7
- label:
"Write null value to a nullable range-restricted signed 16-bit integer"
command: "writeAttribute"
attribute: "nullable_range_restricted_int16s"
arguments:
value: null
- label:
"Verify nullable range-restricted signed 16-bit integer value is null"
command: "readAttribute"
attribute: "nullable_range_restricted_int16s"
response:
value: null
- label: "Write attribute that returns general status on write"
command: "writeAttribute"
attribute: "general_error_boolean"
arguments:
value: false
response:
error: INVALID_DATA_TYPE
- label: "Write attribute that returns cluster-specific status on write"
command: "writeAttribute"
attribute: "cluster_error_boolean"
arguments:
value: false
response:
# TODO: We don't have a way to represent cluster-specific status
# here yet.
error: FAILURE
- label: "Read attribute that returns general status on read"
command: "readAttribute"
attribute: "general_error_boolean"
response:
error: INVALID_DATA_TYPE
- label: "read attribute that returns cluster-specific status on read"
command: "readAttribute"
attribute: "cluster_error_boolean"
response:
# TODO: We don't have a way to represent cluster-specific status
# here yet.
error: FAILURE
- label: "read AcceptedCommandList attribute"
command: "readAttribute"
attribute: "AcceptedCommandList"
response:
value:
[0, 1, 2, 4, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21]
- label: "read GeneratedCommandList attribute"
command: "readAttribute"
attribute: "GeneratedCommandList"
response:
value: [0, 1, 4, 5, 6, 8, 9, 10, 11]
# Struct-typed attribute
- label: "Write struct-typed attribute"
command: "writeAttribute"
attribute: "struct_attr"
arguments:
value:
{
a: 5,
b: true,
c: 2,
d: "abc",
e: "",
f: 17,
g: 1.5,
h: 3.14159265358979,
}
- label: "Read struct-typed attribute"
command: "readAttribute"
attribute: "struct_attr"
response:
value:
{
a: 5,
b: true,
c: 2,
d: "abc",
e: "",
f: 17,
g: 1.5,
h: 3.14159265358979,
}