# 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: 121.3.1. [TC-G-3.1] Attributes [DUT-Client]

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

tests:
    - label: "DUT reads NameSupport attribute from TH"
      PICS: G.C.A0000
      verification: |
          ./chip-tool groups read name-support 1 1

          Verify on the TH Log:

          [1657706054.756051][5404:5409] CHIP:DMG:                                DataVersion = 0x80c3ec09,
          [1657706054.756108][5404:5409] CHIP:DMG:                                AttributePathIB =
          [1657706054.756162][5404:5409] CHIP:DMG:                                {
          [1657706054.756218][5404:5409] CHIP:DMG:                                        Endpoint = 0x1,
          [1657706054.756274][5404:5409] CHIP:DMG:                                        Cluster = 0x4,
          [1657706054.756330][5404:5409] CHIP:DMG:                                        Attribute = 0x0000_0000,
          [1657706054.756384][5404:5409] CHIP:DMG:                                }
          [1657706054.756435][5404:5409] CHIP:DMG:
          [1657706054.756491][5404:5409] CHIP:DMG:                                Data = 128,
          [1657706054.756536][5404:5409] CHIP:DMG:                        },
          [1657706054.756635][5404:5409] CHIP:DMG:                },
          [1657706054.756684][5404:5409] CHIP:DMG:
          [1657706054.756723][5404:5409] CHIP:DMG:        ],
          [1657706054.756770][5404:5409] CHIP:DMG:
          [1657706054.756810][5404:5409] CHIP:DMG:        SuppressResponse = true,
          [1657706054.756851][5404:5409] CHIP:DMG:        InteractionModelRevision = 1
          [1657706054.756890][5404:5409] CHIP:DMG: }
          [1657706054.757195][5404:5409] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0004 Attribute 0x0000_0000 DataVersion: 2160323593
          [1657706054.757284][5404:5409] CHIP:TOO:   name support: 128
      disabled: true
