# 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.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default

name: 11.2.1. [TC-BINFO-2.1] Attributes [DUT-Server]

PICS:
    - BINFO.S

config:
    nodeId: 0x12344321
    cluster: "Basic Information"
    endpoint: 0

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

    #Saving the CountryCode during commissioning not supported in YAML
    - label:
          "During Commissioning, TH Saves the CountryCode Information from
          SetRegulatoryConfig command"
      verification: |
          execute the below mentioned command to put DUT(all-clusters-app) into a commissionable state, Pls use equivalent command on the respective DUT
          ./chip-all-clusters-app  --trace_decode 1

          Once DUT reach the  commissionable state pls send below mentioned command on TH(chip-tool) Pls use equivalent command on the respective DUT.
          ./chip-tool pairing onnetwork 1 20202021 --trace_decode 1

          While provisioning TH(chip-tool) Saves the CountryCode Information from SetRegulatoryConfig command.

          [1664530365.393968][20927:20932] CHIP:DMG:
          [1664530365.393981][20927:20932] CHIP:DMG: InvokeRequestMessage =
          [1664530365.393984][20927:20932] CHIP:DMG: {
          [1664530365.393986][20927:20932] CHIP:DMG:         suppressResponse = false,
          [1664530365.393989][20927:20932] CHIP:DMG:         timedRequest = false,
          [1664530365.393992][20927:20932] CHIP:DMG:         InvokeRequests =
          [1664530365.393997][20927:20932] CHIP:DMG:         [
          [1664530365.394000][20927:20932] CHIP:DMG:                 CommandDataIB =
          [1664530365.394004][20927:20932] CHIP:DMG:                 {
          [1664530365.394006][20927:20932] CHIP:DMG:                         CommandPathIB =
          [1664530365.394010][20927:20932] CHIP:DMG:                         {
          [1664530365.394013][20927:20932] CHIP:DMG:                                 EndpointId = 0x0,
          [1664530365.394017][20927:20932] CHIP:DMG:                                 ClusterId = 0x30,
          [1664530365.394020][20927:20932] CHIP:DMG:                                 CommandId = 0x2,
          [1664530365.394024][20927:20932] CHIP:DMG:                         },
          [1664530365.394028][20927:20932] CHIP:DMG:
          [1664530365.394031][20927:20932] CHIP:DMG:                         CommandFields =
          [1664530365.394035][20927:20932] CHIP:DMG:                         {
          [1664530365.394039][20927:20932] CHIP:DMG:                                 0x0 = 0,
          [1664530365.394043][20927:20932] CHIP:DMG:                                 0x1 = "XX" (2 chars),
          [1664530365.394047][20927:20932] CHIP:DMG:                                 0x2 = 4,
          [1664530365.394050][20927:20932] CHIP:DMG:                         },
          [1664530365.394053][20927:20932] CHIP:DMG:                 },
          [1664530365.394058][20927:20932] CHIP:DMG:
          [1664530365.394061][20927:20932] CHIP:DMG:         ],
          [1664530365.394066][20927:20932] CHIP:DMG:
          [1664530365.394069][20927:20932] CHIP:DMG:         InteractionModelRevision = 1
          [1664530365.394072][20927:20932] CHIP:DMG: },
          [1664530365.394075][20927:20932] CHIP:DMG:
          [1664530365.394096][20927:20932] CHIP:DMG: ICR moving to [CommandSen]
          [1664530365.394107][20927:20932] CHIP:DMG: ICR moving to [AwaitingDe]
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH reads DataModelRevision from the DUT."
      PICS: BINFO.S.A0000
      command: "readAttribute"
      attribute: "DataModelRevision"
      response:
          saveAs: DataModelRevisionValue
          constraints:
              type: int16u
              minValue: 0
              maxValue: 65534

    - label: "TH writes DataModelRevision from the DUT."
      PICS: BINFO.S.A0000
      command: "writeAttribute"
      attribute: "DataModelRevision"
      arguments:
          value: 4388
      response:
          error: UNSUPPORTED_WRITE

    - label: "TH reads DataModelRevision from the DUT."
      PICS: BINFO.S.A0000
      command: "readAttribute"
      attribute: "DataModelRevision"
      response:
          value: DataModelRevisionValue

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

    - label: "TH writes VendorName from the DUT."
      PICS: BINFO.S.A0001
      command: "writeAttribute"
      attribute: "VendorName"
      arguments:
          value: "sample"
      response:
          error: UNSUPPORTED_WRITE

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

    - label: "TH reads VendorID from the DUT."
      PICS: BINFO.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 && BINFO.S.A0002
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH writes VendorID from the DUT."
      PICS: BINFO.S.A0002
      command: "writeAttribute"
      attribute: "VendorID"
      arguments:
          value: 17
      response:
          error: UNSUPPORTED_WRITE

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

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

    - label: "TH writes ProductName from the DUT."
      PICS: BINFO.S.A0003
      command: "writeAttribute"
      attribute: "ProductName"
      arguments:
          value: "newproduct"
      response:
          error: UNSUPPORTED_WRITE

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

    - label: "TH reads ProductID from the DUT."
      PICS: BINFO.S.A0004
      command: "readAttribute"
      attribute: "ProductID"
      response:
          saveAs: ProductIDValue
          constraints:
              type: int16u
              minValue: 1
              maxValue: 65534

    - label: "TH writes ProductID from the DUT."
      PICS: BINFO.S.A0004
      command: "writeAttribute"
      attribute: "ProductID"
      arguments:
          value: 17697
      response:
          error: UNSUPPORTED_WRITE

    - label: "TH reads ProductID from the DUT."
      PICS: BINFO.S.A0004
      command: "readAttribute"
      attribute: "ProductID"
      response:
          value: ProductIDValue

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

    - label: "TH writes NodeLabel from the DUT."
      PICS: BINFO.S.A0005
      command: "writeAttribute"
      attribute: "NodeLabel"
      arguments:
          value: "newnode"

    - label: "TH reads NodeLabel from the DUT"
      PICS: BINFO.S.A0005
      command: "readAttribute"
      attribute: "NodeLabel"
      response:
          value: "newnode"

    - label: "TH reads Location from the DUT."
      PICS: BINFO.S.A0006
      command: "readAttribute"
      attribute: "Location"
      response:
          constraints:
              type: char_string
              maxLength: 16

    - label:
          "Verify that the Location is same as CountryCode value saved from
          step1"
      verification: |
          ./chip-tool  basicinformation read location 1 0

          On TH,  Verify that TH reads Location from the DUT successfully,  the name should be string and length is less than or equal to 2 bytes.
          [1656495999.760797][2249:2254] CHIP:DMG: }
          [1656495999.761084][2249:2254] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0006 DataVersion: 941124320
          [1656495999.761187][2249:2254] CHIP:TOO:   Location: XX
          [1656495999.761371][2249:2254] CHIP:EM: Sending Standalone Ack for MessageCounter:7663506 on exchange 28126i
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && BINFO.S.A0006
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH write Location from the DUT"
      PICS: BINFO.S.A0006
      command: "writeAttribute"
      attribute: "Location"
      arguments:
          value: "in"

    - label: "TH reads Location from the DUT."
      PICS: BINFO.S.A0006
      command: "readAttribute"
      attribute: "Location"
      response:
          value: "in"

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

    - label: "TH writes HardwareVersion from the DUT."
      PICS: BINFO.S.A0007
      command: "writeAttribute"
      attribute: "HardwareVersion"
      arguments:
          value: 17713
      response:
          error: UNSUPPORTED_WRITE

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

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

    - label: "TH writes HardwareVersionString from the DUT."
      PICS: BINFO.S.A0008
      command: "writeAttribute"
      attribute: "HardwareVersionString"
      arguments:
          value: "newhardwareversion"
      response:
          error: UNSUPPORTED_WRITE

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

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

    - label:
          "Verify that the SoftwareVersion is not displayed to the end-user
          through any device specific means (ex: screen, audio)"
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && BINFO.S.A0009
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH writes SoftwareVersion from the DUT."
      PICS: BINFO.S.A0009
      command: "writeAttribute"
      attribute: "SoftwareVersion"
      arguments:
          value: 33299
      response:
          error: UNSUPPORTED_WRITE

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

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

    - label: "TH writes SoftwareVersionString from the DUT."
      PICS: BINFO.S.A000a
      command: "writeAttribute"
      attribute: "SoftwareVersionString"
      arguments:
          value: "1.0"
      response:
          error: UNSUPPORTED_WRITE

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

    - label: "TH reads ManufacturingDate from the DUT."
      PICS: BINFO.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 && BINFO.S.A000b
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH writes ManufacturingDate from the DUT."
      PICS: BINFO.S.A000b
      command: "writeAttribute"
      attribute: "ManufacturingDate"
      arguments:
          value: "20210814789452IN"
      response:
          error: UNSUPPORTED_WRITE

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

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

    - label: "TH writes PartNumber from the DUT."
      PICS: BINFO.S.A000c
      command: "writeAttribute"
      attribute: "PartNumber"
      arguments:
          value: "newpart"
      response:
          error: UNSUPPORTED_WRITE

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

    - label: "TH reads ProductURL from the DUT"
      PICS: BINFO.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 && BINFO.S.A000d
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH writes ProductURL from the DUT."
      PICS: BINFO.S.A000d
      command: "writeAttribute"
      attribute: "ProductURL"
      arguments:
          value: "https://www.example.com"
      response:
          error: UNSUPPORTED_WRITE

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

    - label: "TH reads ProductLabel from the DUT."
      PICS: BINFO.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 && BINFO.S.A000e
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH writes ProductLabel from the DUT."
      PICS: BINFO.S.A000e
      command: "writeAttribute"
      attribute: "ProductLabel"
      arguments:
          value: "newproductlabel"
      response:
          error: UNSUPPORTED_WRITE

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

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

    - label: "TH writes SerialNumber from the DUT."
      PICS: BINFO.S.A000f
      command: "writeAttribute"
      attribute: "SerialNumber"
      arguments:
          value: "newserialnumber"
      response:
          error: UNSUPPORTED_WRITE

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

    - label: "TH reads LocalConfigDisabled from the DUT."
      PICS: BINFO.S.A0010
      command: "readAttribute"
      attribute: "LocalConfigDisabled"
      response:
          value: false
          constraints:
              type: boolean

    - label: "TH sets LocalConfigDisabled to True"
      PICS: BINFO.S.A0010
      command: "writeAttribute"
      attribute: "LocalConfigDisabled"
      arguments:
          value: true

    - label: "TH reads LocalConfigDisabled from the DUT."
      PICS: BINFO.S.A0010
      command: "readAttribute"
      attribute: "LocalConfigDisabled"
      response:
          value: true

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

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

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

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

    - label: "TH writes UniqueID from the DUT."
      PICS: BINFO.S.A0012
      command: "writeAttribute"
      attribute: "UniqueID"
      arguments:
          value: "newid"
      response:
          error: UNSUPPORTED_WRITE

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

    #This step implicitly validating the attribute(CapabilityMinima)constraints, as long as the payload is being parsed successfully
    - label: "TH reads CapabilityMinima attribute from the DUT."
      PICS: BINFO.S.A0013
      command: "readAttribute"
      attribute: "CapabilityMinima"
      response:
          saveAs: CapabilityMinimaValue

    - label: "TH writes CapabilityMinima from the DUT."
      PICS: BINFO.S.A0013
      command: "writeAttribute"
      attribute: "CapabilityMinima"
      arguments:
          value: { "CaseSessionsPerFabric": 4, "SubscriptionsPerFabric": 4 }
      response:
          error: UNSUPPORTED_WRITE

    - label: "TH reads CapabilityMinima attribute from the DUT."
      PICS: BINFO.S.A0013
      command: "readAttribute"
      attribute: "CapabilityMinima"
      response:
          value: CapabilityMinimaValue
