# 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: 142.2.1. [TC-BRBINFO-2.1] Attributes [DUT-Server]

PICS:
    - BRBINFO.S

config:
    nodeId: 0x12344321
    cluster: "Bridged Device Basic Information"
    endpoint: 3

    BRBINFO.ClusterId: 0x0039

tests:
    - label: "Wait for the commissioned device to be retrieved"
      cluster: "DelayCommands"
      command: "WaitForCommissionee"
      arguments:
          values:
              - name: "nodeId"
                value: nodeId

    - label:
          "Step 2: TH reads attribute ID 0 from the DUT (matches in ID to
          DataModelRevision in the parent cluster, but is absent on the
          BridgedDeviceBasicInformation cluster)."
      PICS: BRBINFO.S
      cluster: "AnyCommands"
      command: "ReadById"
      arguments:
          values:
              - name: "ClusterId"
                value: BRBINFO.ClusterId
              - name: "AttributeId"
                value: 0x0000
      response:
          error: UNSUPPORTED_ATTRIBUTE

    - label: "Step 5: TH reads VendorName from the DUT."
      PICS: BRBINFO.S.A0001
      command: "readAttribute"
      attribute: "VendorName"
      response:
          saveAs: VendorNameValue
          constraints:
              type: char_string
              maxLength: 32

    - label: "Step 6: TH writes VendorName as 'sample'"
      PICS: BRBINFO.S.A0001
      command: "writeAttribute"
      attribute: "VendorName"
      arguments:
          value: "sample"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 7: TH reads VendorName from the DUT."
      PICS: BRBINFO.S.A0001
      command: "readAttribute"
      attribute: "VendorName"
      response:
          value: VendorNameValue

    - label: "Step 8: TH reads VendorID from the DUT."
      PICS: BRBINFO.S.A0002
      command: "readAttribute"
      attribute: "VendorID"
      response:
          saveAs: VendorIDValue
          constraints:
              type: vendor_id
              minValue: 1
              maxValue: 65521

    - label:
          "Verify that VendorID matches the value assigned to this manufacturer"
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && BRBINFO.S.A0002
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "Step 9: TH writes VendorID as '0x0011'"
      PICS: BRBINFO.S.A0002
      command: "writeAttribute"
      attribute: "VendorID"
      arguments:
          value: 0x0011
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 10: TH reads VendorID from the DUT."
      PICS: BRBINFO.S.A0002
      command: "readAttribute"
      attribute: "VendorID"
      response:
          value: VendorIDValue

    - label: "Step 11: TH reads ProductName from the DUT"
      PICS: BRBINFO.S.A0003
      command: "readAttribute"
      attribute: "ProductName"
      response:
          saveAs: ProductNameValue
          constraints:
              type: char_string
              maxLength: 32

    - label: "Step 12: TH writes ProductName as 'newproduct'"
      PICS: BRBINFO.S.A0003
      command: "writeAttribute"
      attribute: "ProductName"
      arguments:
          value: "newproduct"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 13: TH reads ProductName from the DUT"
      PICS: BRBINFO.S.A0003
      command: "readAttribute"
      attribute: "ProductName"
      response:
          value: ProductNameValue

    - label:
          "Step 14: TH reads attribute ID 4 from the DUT (matches in ID to
          ProductID in the parent cluster, but is absent on the
          BridgedDeviceBasicInformation cluster)."
      PICS: BRBINFO.S
      cluster: "AnyCommands"
      command: "ReadById"
      arguments:
          values:
              - name: "ClusterId"
                value: BRBINFO.ClusterId
              - name: "AttributeId"
                value: 0x0004
      response:
          error: UNSUPPORTED_ATTRIBUTE

    - label: "Step 17: TH reads NodeLabel from the DUT"
      PICS: BRBINFO.S.A0005
      command: "readAttribute"
      attribute: "NodeLabel"
      response:
          saveAs: NodeLabelValue
          constraints:
              type: char_string
              maxLength: 32

    #Issue https://github.com/project-chip/connectedhomeip/issues/23509
    - label: "Step 18: TH writes NodeLabel from the DUT."
      PICS: BRBINFO.S.A0005 && PICS_USER_PROMPT
      verification: |
          ./chip-tool bridgeddevicebasicinformation write node-label '"newnode"' 1 3

          Via the TH (chip-tool), verify the SUCCESS response for NodeLabel attribute write function.

          Current sample apps do not have this implementation. However, if the vendor has implemented it, the below response will be displayed.

          NOTE the quotes: single-quote/double-quote/string/double-quote/single-quote


          [1660839701.840432][2444:2449] CHIP:DMG:                         }
          [1660839701.840505][2444:2449] CHIP:DMG:
          [1660839701.840578][2444:2449] CHIP:DMG:                         StatusIB =
          [1660839701.840661][2444:2449] CHIP:DMG:                         {
          [1660839701.840742][2444:2449] CHIP:DMG:                                 status = 0x00 (SUCCESS),
          [1660839701.840827][2444:2449] CHIP:DMG:                         },
          [1660839701.840905][2444:2449] CHIP:DMG:
          [1660839701.840973][2444:2449] CHIP:DMG:                 },
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label: "Step 19: TH reads NodeLabel from the DUT"
      PICS: BRBINFO.S.A0005 && PICS_USER_PROMPT
      verification: |
          ./chip-tool bridgeddevicebasicinformation read node-label 1 3

          Via the TH (chip-tool), verify that the NodeLabel attribute value is changed to newnode.

          Current sample apps do not have this implementation. However, if the vendor has implemented it, the below response will be displayed.

          [1657696463.081741][15476:15481] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0039 Attribute 0x0000_0005 DataVersion: 2577979325
          [1657696463.081791][15476:15481] CHIP:TOO:   NodeLabel: newnode
      cluster: "LogCommands"
      command: "UserPrompt"
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' after success"
              - name: "expectedValue"
                value: "y"

    - label:
          "Step 20: TH reads attribute ID 6 from the DUT (matches in ID to
          Location in the parent cluster, but is absent on the
          BridgedDeviceBasicInformation cluster)."
      PICS: BRBINFO.S
      cluster: "AnyCommands"
      command: "ReadById"
      arguments:
          values:
              - name: "ClusterId"
                value: BRBINFO.ClusterId
              - name: "AttributeId"
                value: 0x0006
      response:
          error: UNSUPPORTED_ATTRIBUTE

    - label: "Step 21: TH reads HardwareVersion from the DUT"
      PICS: BRBINFO.S.A0007
      command: "readAttribute"
      attribute: "HardwareVersion"
      response:
          saveAs: HardwareVersionValue
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65534

    - label: "Step 22: TH writes HardwareVersion as '0x4531'"
      PICS: BRBINFO.S.A0007
      command: "writeAttribute"
      attribute: "HardwareVersion"
      arguments:
          value: 0x4531
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 23: TH reads HardwareVersion from the DUT"
      PICS: BRBINFO.S.A0007
      command: "readAttribute"
      attribute: "HardwareVersion"
      response:
          value: HardwareVersionValue

    - label: "Step 24: TH reads HardwareVersionString from the DUT."
      PICS: BRBINFO.S.A0008
      command: "readAttribute"
      attribute: "HardwareVersionString"
      response:
          saveAs: HardwareVersionStringValue
          constraints:
              type: char_string
              minLength: 1
              maxLength: 64

    - label: "Step 25: TH writes HardwareVersionString as 'newhardwareversion'"
      PICS: BRBINFO.S.A0008
      command: "writeAttribute"
      attribute: "HardwareVersionString"
      arguments:
          value: "newhardwareversion"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 26: TH reads HardwareVersionString from the DUT."
      PICS: BRBINFO.S.A0008
      command: "readAttribute"
      attribute: "HardwareVersionString"
      response:
          value: HardwareVersionStringValue

    - label: "Step 27: TH reads SoftwareVersion from the DUT"
      PICS: BRBINFO.S.A0009
      command: "readAttribute"
      attribute: "SoftwareVersion"
      response:
          saveAs: SoftwareVersionValue
          constraints:
              minValue: 0
              maxValue: 4294967294

    - label: "Step 28: TH writes SoftwareVersion as '0x8213'"
      PICS: BRBINFO.S.A0009
      command: "writeAttribute"
      attribute: "SoftwareVersion"
      arguments:
          value: 0x8213
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 29: TH reads SoftwareVersion from the DUT"
      PICS: BRBINFO.S.A0009
      command: "readAttribute"
      attribute: "SoftwareVersion"
      response:
          value: SoftwareVersionValue

    - label: "Step 30: TH reads SoftwareVersionString from the DUT"
      PICS: BRBINFO.S.A000a
      command: "readAttribute"
      attribute: "SoftwareVersionString"
      response:
          saveAs: SoftwareVersionStringValue
          constraints:
              minLength: 1
              maxLength: 64

    - label: "Step 31: TH writes SoftwareVersionString as '1.0'"
      PICS: BRBINFO.S.A000a
      command: "writeAttribute"
      attribute: "SoftwareVersionString"
      arguments:
          value: "1.0"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 32: TH reads SoftwareVersionString from the DUT"
      PICS: BRBINFO.S.A000a
      command: "readAttribute"
      attribute: "SoftwareVersionString"
      response:
          value: SoftwareVersionStringValue

    - label: "Step 33: TH reads ManufacturingDate from the DUT."
      PICS: BRBINFO.S.A000b
      command: "readAttribute"
      attribute: "ManufacturingDate"
      response:
          saveAs: ManufacturingDateValue
          constraints:
              type: char_string
              minLength: 8
              maxLength: 16

    - label:
          "Verify if the first 8 characters specify date according to ISO 8601,
          i.e, YYYYMMDD."
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && BRBINFO.S.A000b
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "Step 34: TH writes ManufacturingDate as '20210814789452IN'"
      PICS: BRBINFO.S.A000b
      command: "writeAttribute"
      attribute: "ManufacturingDate"
      arguments:
          value: "20210814789452IN"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 35: TH reads ManufacturingDate from the DUT."
      PICS: BRBINFO.S.A000b
      command: "readAttribute"
      attribute: "ManufacturingDate"
      response:
          value: ManufacturingDateValue

    - label: "Step 36: TH reads PartNumber from the DUT"
      PICS: BRBINFO.S.A000c
      command: "readAttribute"
      attribute: "PartNumber"
      response:
          saveAs: PartNumberValue
          constraints:
              type: char_string
              maxLength: 32

    - label: "Step 37: TH writes PartNumber as 'newpart'"
      PICS: BRBINFO.S.A000c
      command: "writeAttribute"
      attribute: "PartNumber"
      arguments:
          value: "newpart"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 38: TH reads PartNumber from the DUT"
      PICS: BRBINFO.S.A000c
      command: "readAttribute"
      attribute: "PartNumber"
      response:
          value: PartNumberValue

    - label: "Step 39: TH reads ProductURL from the DUT"
      PICS: BRBINFO.S.A000d
      command: "readAttribute"
      attribute: "ProductURL"
      response:
          saveAs: ProductURLValue
          constraints:
              type: long_char_string
              maxLength: 256

    - label:
          "Verify that it specifies a link to a specific web page, Verify that
          it follows the syntax rules specified in RFC 3986."
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && BRBINFO.S.A000d
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "Step 40: TH writes ProductURL as 'https://www.example.com'"
      PICS: BRBINFO.S.A000d
      command: "writeAttribute"
      attribute: "ProductURL"
      arguments:
          value: "https://www.example.com"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 41: TH reads ProductURL from the DUT"
      PICS: BRBINFO.S.A000d
      command: "readAttribute"
      attribute: "ProductURL"
      response:
          value: ProductURLValue

    - label: "Step 42: TH reads ProductLabel from the DUT."
      PICS: BRBINFO.S.A000e
      command: "readAttribute"
      attribute: "ProductLabel"
      response:
          saveAs: ProductLabelValue
          constraints:
              type: char_string
              maxLength: 64

    - label:
          "Verify that it does not include the name of the vendor as defined
          within the VendorName attribute"
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && BRBINFO.S.A000e
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "Step 43: TH writes ProductLabel as 'newproductlabel'"
      PICS: BRBINFO.S.A000e
      command: "writeAttribute"
      attribute: "ProductLabel"
      arguments:
          value: "newproductlabel"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 44: TH reads ProductLabel from the DUT."
      PICS: BRBINFO.S.A000e
      command: "readAttribute"
      attribute: "ProductLabel"
      response:
          value: ProductLabelValue

    - label: "Step 45: TH reads SerialNumber from the DUT."
      PICS: BRBINFO.S.A000f
      command: "readAttribute"
      attribute: "SerialNumber"
      response:
          saveAs: SerialNumberValue
          constraints:
              type: char_string
              maxLength: 32

    - label: "Step 46: TH writes SerialNumber_test as 'newserialnumber'"
      PICS: BRBINFO.S.A000f
      command: "writeAttribute"
      attribute: "SerialNumber"
      arguments:
          value: "newserialnumber"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 47: TH reads SerialNumber from the DUT."
      PICS: BRBINFO.S.A000f
      command: "readAttribute"
      attribute: "SerialNumber"
      response:
          value: SerialNumberValue

    - label:
          "Step 48: TH reads attribute ID 0x0010 from the DUT (matches in ID to
          LocalConfigDisabled in the parent cluster, but is absent on the
          BridgedDeviceBasicInformation cluster)."
      PICS: BRBINFO.S
      cluster: "AnyCommands"
      command: "ReadById"
      arguments:
          values:
              - name: "ClusterId"
                value: BRBINFO.ClusterId
              - name: "AttributeId"
                value: 0x0010
      response:
          error: UNSUPPORTED_ATTRIBUTE

    - label: "Step 51: TH reads Reachable from the DUT."
      PICS: BRBINFO.S.A0011
      command: "readAttribute"
      attribute: "Reachable"
      response:
          value: true
          constraints:
              type: boolean

    - label:
          "Step 52: TH sends Write request message to DUT to change value of
          Reachable to 'false'"
      PICS: BRBINFO.S.A0011
      command: "writeAttribute"
      attribute: "Reachable"
      arguments:
          value: false
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 52b: TH reads Reachable from the DUT."
      PICS: BRBINFO.S.A0011
      command: "readAttribute"
      attribute: "Reachable"
      response:
          value: true
          constraints:
              type: boolean

    - label: "Step 53: TH reads UniqueID from the DUT."
      PICS: BRBINFO.S.A0012
      command: "readAttribute"
      attribute: "UniqueID"
      response:
          saveAs: UniqueIDValue
          constraints:
              type: char_string
              maxLength: 32

    - label: "Step 54: TH writes UniqueID as 'newid'"
      PICS: BRBINFO.S.A0012
      command: "writeAttribute"
      attribute: "UniqueID"
      arguments:
          value: "newid"
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 55: TH reads UniqueID from the DUT."
      PICS: BRBINFO.S.A0012
      command: "readAttribute"
      attribute: "UniqueID"
      response:
          value: UniqueIDValue

    - label:
          "Step 56: TH reads attribute ID 0x0013 from the DUT (matches in ID to
          CapabilityMinima in the parent cluster, but is absent on the
          BridgedDeviceBasicInformation cluster)."
      PICS: BRBINFO.S
      cluster: "AnyCommands"
      command: "ReadById"
      arguments:
          values:
              - name: "ClusterId"
                value: BRBINFO.ClusterId
              - name: "AttributeId"
                value: 0x0013
      response:
          error: UNSUPPORTED_ATTRIBUTE

    - label: "Step 59: TH reads ProductAppearance from the DUT."
      PICS: BRBINFO.S.A0014
      command: "readAttribute"
      attribute: "ProductAppearance"
      response:
          saveAs: ProductAppearancevalue
          constraints:
              type: ProductAppearanceStruct

    - label: "Step 60: TH writes ProductAppearance to the DUT."
      PICS: BRBINFO.S.A0014
      command: "writeAttribute"
      attribute: "ProductAppearance"
      arguments:
          value: { "Finish": 3, "PrimaryColor": 4 }
      response:
          error: UNSUPPORTED_WRITE

    - label: "Step 61: TH reads ProductAppearance attribute from the DUT."
      PICS: BRBINFO.S.A0014
      command: "readAttribute"
      attribute: "ProductAppearance"
      response:
          value: ProductAppearancevalue

    - label:
          "Step 62: TH reads attribute ID 0x0015 from the DUT (matches in ID to
          CapabilityMinima in the parent cluster, but is absent on the
          BridgedDeviceBasicInformation cluster)."
      PICS: BRBINFO.S
      cluster: "AnyCommands"
      command: "ReadById"
      arguments:
          values:
              - name: "ClusterId"
                value: BRBINFO.ClusterId
              - name: "AttributeId"
                value: 0x0015
      response:
          error: UNSUPPORTED_ATTRIBUTE

    - label:
          "Step 63: TH reads attribute ID 0x0016 from the DUT (matches in ID to
          CapabilityMinima in the parent cluster, but is absent on the
          BridgedDeviceBasicInformation cluster)."
      PICS: BRBINFO.S
      cluster: "AnyCommands"
      command: "ReadById"
      arguments:
          values:
              - name: "ClusterId"
                value: BRBINFO.ClusterId
              - name: "AttributeId"
                value: 0x0016
      response:
          error: UNSUPPORTED_ATTRIBUTE
