# 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:
    4.3.1. [TC-LTIME-3.1] Read and Write Time Format Localization Cluster
    Attributes [DUT as Server]

PICS:
    - LTIME.S

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

tests:
    - label: "TH reads HourFormat attribute from DUT"
      PICS: LTIME.S.A0000
      verification: |
          ./chip-tool timeformatlocalization read hour-format 1 0
          On TH, verify that  HourFormat attribute value is of Enum8 datatype

          [1651191944157] [13649:182326] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 3316530441
          [1651191944158] [13649:182326] CHIP: [TOO]   HourFormat: 0
      disabled: true

    - label: "If (LTIME.S.A0000.12HR) TH writes 0 to HourFormat attribute"
      PICS: LTIME.S.A0000.12HR
      verification: |
          ./chip-tool timeformatlocalization write hour-format 0 1 0

          On TH verify that DUT sends a success response
          [1651192743588] [14026:192208] CHIP: [DMG] WriteResponseMessage =
          [1651192743588] [14026:192208] CHIP: [DMG] {
          [1651192743588] [14026:192208] CHIP: [DMG]         AttributeStatusIBs =
          [1651192743588] [14026:192208] CHIP: [DMG]         [
          [1651192743588] [14026:192208] CHIP: [DMG]                 AttributeStatusIB =
          [1651192743588] [14026:192208] CHIP: [DMG]                 {
          [1651192743588] [14026:192208] CHIP: [DMG]                         AttributePathIB =
          [1651192743588] [14026:192208] CHIP: [DMG]                         {
          [1651192743588] [14026:192208] CHIP: [DMG]                                 Endpoint = 0x0,
          [1651192743588] [14026:192208] CHIP: [DMG]                                 Cluster = 0x2c,
          [1651192743588] [14026:192208] CHIP: [DMG]                                 Attribute = 0x0000_0000,
          [1651192743588] [14026:192208] CHIP: [DMG]                         }
          [1651192743588] [14026:192208] CHIP: [DMG]
          [1651192743588] [14026:192208] CHIP: [DMG]                         StatusIB =
          [1651192743588] [14026:192208] CHIP: [DMG]                         {
          [1651192743588] [14026:192208] CHIP: [DMG]                                 status = 0x00 (SUCCESS),
          [1651192743588] [14026:192208] CHIP: [DMG]                         },
          [1651192743588] [14026:192208] CHIP: [DMG]
          [1651192743588] [14026:192208] CHIP: [DMG]                 },
          [1651192743588] [14026:192208] CHIP: [DMG]
          [1651192743588] [14026:192208] CHIP: [DMG]         ],
          [1651192743588] [14026:192208] CHIP: [DMG]
          [1651192743588] [14026:192208] CHIP: [DMG]         InteractionModelRevision = 1
          [1651192743588] [14026:192208] CHIP: [DMG] }
      disabled: true

    - label: "TH reads HourFormat attribute"
      PICS: LTIME.S.A0000
      verification: |
          ./chip-tool timeformatlocalization read hour-format 1 0
          On TH verify that  HourFormat attribute value changed as  0
          [1651193120969] [14169:196901] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 3316530443
          [1651193120969] [14169:196901] CHIP: [TOO]   HourFormat: 0
      disabled: true

    - label: "If (LTIME.S.A0000.24HR) TH writes 1 to HourFormat attribute"
      PICS: LTIME.S.A0000.24HR
      verification: |
          ./chip-tool timeformatlocalization write hour-format 1 1 0

          On TH verify that DUT sends a success response
          [1651193043035] [14140:195730] CHIP: [DMG] WriteResponseMessage =
          [1651193043035] [14140:195730] CHIP: [DMG] {
          [1651193043035] [14140:195730] CHIP: [DMG]         AttributeStatusIBs =
          [1651193043035] [14140:195730] CHIP: [DMG]         [
          [1651193043035] [14140:195730] CHIP: [DMG]                 AttributeStatusIB =
          [1651193043035] [14140:195730] CHIP: [DMG]                 {
          [1651193043035] [14140:195730] CHIP: [DMG]                         AttributePathIB =
          [1651193043035] [14140:195730] CHIP: [DMG]                         {
          [1651193043035] [14140:195730] CHIP: [DMG]                                 Endpoint = 0x0,
          [1651193043035] [14140:195730] CHIP: [DMG]                                 Cluster = 0x2c,
          [1651193043035] [14140:195730] CHIP: [DMG]                                 Attribute = 0x0000_0000,
          [1651193043035] [14140:195730] CHIP: [DMG]                         }
          [1651193043035] [14140:195730] CHIP: [DMG]
          [1651193043035] [14140:195730] CHIP: [DMG]                         StatusIB =
          [1651193043035] [14140:195730] CHIP: [DMG]                         {
          [1651193043035] [14140:195730] CHIP: [DMG]                                 status = 0x00 (SUCCESS),
          [1651193043035] [14140:195730] CHIP: [DMG]                         },
          [1651193043035] [14140:195730] CHIP: [DMG]
          [1651193043035] [14140:195730] CHIP: [DMG]                 },
          [1651193043035] [14140:195730] CHIP: [DMG]
          [1651193043035] [14140:195730] CHIP: [DMG]         ],
          [1651193043035] [14140:195730] CHIP: [DMG]
          [1651193043036] [14140:195730] CHIP: [DMG]         InteractionModelRevision = 1
          [1651193043036] [14140:195730] CHIP: [DMG] }
          [1651193043036] [14140:195730] CHIP: [DMG] WriteClient moving to [AwaitingDe]
      disabled: true

    - label: "TH reads HourFormat attribute"
      PICS: LTIME.S.A0000
      verification: |
          ./chip-tool timeformatlocalization read hour-format 1 0
          On TH verify that  HourFormat attribute value changed as  1
          [1651193120969] [14169:196901] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0000 DataVersion: 3316530443
          [1651193120969] [14169:196901] CHIP: [TOO]   HourFormat: 1
      disabled: true

    - label: "TH reads ActiveCalendarType attribute from DUT"
      PICS: LTIME.S.A0001
      verification: |
          ./chip-tool timeformatlocalization read active-calendar-type 1 0
          On TH, verify that  ActiveCalendarType attribute value is in between 0 to 11
          [1651193250602] [14215:198406] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 3316530443
          [1651193250602] [14215:198406] CHIP: [TOO]   ActiveCalendarType: 0
      disabled: true

    - label: "TH reads SupportedCalendarTypes attribute from DUT"
      PICS: LTIME.S.A0002
      verification: |
          ./chip-tool timeformatlocalization read supported-calendar-types 1 0
          On TH, verify that  SupportedCalendarTypes attribute value is in between 0 to 11
          [1651194334793] [14653:210647] CHIP: [TOO] Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0002 DataVersion: 3316530443
          [1651194334794] [14653:210647] CHIP: [TOO]   SupportedCalendarTypes: 12 entries
          [1651194334794] [14653:210647] CHIP: [TOO]     [1]: 0
          [1651194334794] [14653:210647] CHIP: [TOO]     [2]: 1
          [1651194334794] [14653:210647] CHIP: [TOO]     [3]: 2
          [1651194334794] [14653:210647] CHIP: [TOO]     [4]: 3
          [1651194334794] [14653:210647] CHIP: [TOO]     [5]: 4
          [1651194334794] [14653:210647] CHIP: [TOO]     [6]: 5
          [1651194334794] [14653:210647] CHIP: [TOO]     [7]: 6
          [1651194334794] [14653:210647] CHIP: [TOO]     [8]: 7
          [1651194334794] [14653:210647] CHIP: [TOO]     [9]: 8
          [1651194334794] [14653:210647] CHIP: [TOO]     [10]: 9
          [1651194334794] [14653:210647] CHIP: [TOO]     [11]: 10
          [1651194334794] [14653:210647] CHIP: [TOO]     [12]: 11
      disabled: true

    - label:
          "TH writes value in PIXIT.LTIME.SCT to ActiveCalendarType attribute,
          followed by reading the ActiveCalendarType attribute value"
      PICS: LTIME.S.A0001
      verification: |
          ./chip-tool timeformatlocalization write active-calendar-type 0 1 0

          On TH verify that DUT sends a success response
          [1651194449245] [14699:212201] CHIP: [DMG] WriteResponseMessage =
          [1651194449245] [14699:212201] CHIP: [DMG] {
          [1651194449245] [14699:212201] CHIP: [DMG]         AttributeStatusIBs =
          [1651194449245] [14699:212201] CHIP: [DMG]         [
          [1651194449245] [14699:212201] CHIP: [DMG]                 AttributeStatusIB =
          [1651194449246] [14699:212201] CHIP: [DMG]                 {
          [1651194449246] [14699:212201] CHIP: [DMG]                         AttributePathIB =
          [1651194449246] [14699:212201] CHIP: [DMG]                         {
          [1651194449246] [14699:212201] CHIP: [DMG]                                 Endpoint = 0x0,
          [1651194449246] [14699:212201] CHIP: [DMG]                                 Cluster = 0x2c,
          [1651194449246] [14699:212201] CHIP: [DMG]                                 Attribute = 0x0000_0001,
          [1651194449246] [14699:212201] CHIP: [DMG]                         }
          [1651194449246] [14699:212201] CHIP: [DMG]
          [1651194449246] [14699:212201] CHIP: [DMG]                         StatusIB =
          [1651194449246] [14699:212201] CHIP: [DMG]                         {
          [1651194449246] [14699:212201] CHIP: [DMG]                                 status = 0x00 (SUCCESS),
          [1651194449246] [14699:212201] CHIP: [DMG]                         },
          [1651194449246] [14699:212201] CHIP: [DMG]
          [1651194449246] [14699:212201] CHIP: [DMG]                 },
          [1651194449246] [14699:212201] CHIP: [DMG]
          [1651194449246] [14699:212201] CHIP: [DMG]         ],
          [1651194449246] [14699:212201] CHIP: [DMG]
          [1651194449246] [14699:212201] CHIP: [DMG]         InteractionModelRevision = 1
          [1651194449246] [14699:212201] CHIP: [DMG] }


          ./chip-tool timeformatlocalization read active-calendar-type 1 0
          On TH verify that ActiveCalendarType attribute value changed as  0

          [1658149303.936031][9227:9232] CHIP:DMG: }
          [1658149303.936185][9227:9232] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_0001 DataVersion: 2364893025
          [1658149303.936302][9227:9232] CHIP:TOO:   ActiveCalendarType: 0
          [1658149303.936385][9227:9232] CHIP:EM: Sending Standalone Ack for MessageCounter:70392442 on exchange 10288i
      disabled: true

    - label: "Repeat step 8 for all the values in PIXIT.LTIME.SCT"
      PICS: LTIME.S.A0001
      verification: |
          Repeat the test step 8 for below mentioned values 1, 2,3, 4, 5, 6,7, 8, 9,10 and 11 and verify that TH receives the write command and updates the respective value. Verify that TH reads ActiveCalendarType attribute value and it is the same as the value that was set before
      disabled: true

    - label: "TH writes 50 to ActiveCalendarType attribute"
      PICS: LTIME.S.A0001
      verification: |
          ./chip-tool timeformatlocalization write  active-calendar-type 50 1 0
          On TH verify that DUT sends a CONSTRAINT_ERROR response
          [1658742658.653019][3572:3577] CHIP:DMG:         ],
          [1658742658.653047][3572:3577] CHIP:DMG:
          [1658742658.653071][3572:3577] CHIP:DMG:         InteractionModelRevision = 1
          [1658742658.653098][3572:3577] CHIP:DMG: }
          [1658742658.653166][3572:3577] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1658742658.653198][3572:3577] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1658742658.653254][3572:3577] CHIP:EM: Sending Standalone Ack for MessageCounter:51762667 on exchange 55831i
      disabled: true

    - label: "TH writes 5 to HourFormat attribute"
      PICS: LTIME.S.A0000
      verification: |
          ./chip-tool timeformatlocalization write   hour-format  5 1 0
          On TH verify that DUT sends a CONSTRAINT_ERROR response

          [1656934321.910991][6387:6392] CHIP:DMG: WriteResponseMessage =
          [1656934321.911025][6387:6392] CHIP:DMG: {
          [1656934321.911054][6387:6392] CHIP:DMG:         AttributeStatusIBs =
          [1656934321.911096][6387:6392] CHIP:DMG:         [
          [1656934321.911129][6387:6392] CHIP:DMG:                 AttributeStatusIB =
          [1656934321.911165][6387:6392] CHIP:DMG:                 {
          [1656934321.911200][6387:6392] CHIP:DMG:                         AttributePathIB =
          [1656934321.911242][6387:6392] CHIP:DMG:                         {
          [1656934321.911285][6387:6392] CHIP:DMG:                                 Endpoint = 0x0,
          [1656934321.911330][6387:6392] CHIP:DMG:                                 Cluster = 0x2c,
          [1656934321.911375][6387:6392] CHIP:DMG:                                 Attribute = 0x0000_0000,
          [1656934321.911417][6387:6392] CHIP:DMG:                         }
          [1656934321.911463][6387:6392] CHIP:DMG:
          [1656934321.911503][6387:6392] CHIP:DMG:                         StatusIB =
          [1656934321.911574][6387:6392] CHIP:DMG:                         {
          [1656934321.911618][6387:6392] CHIP:DMG:                                 status = 0x87 (CONSTRAINT_ERROR),
          [1656934321.911658][6387:6392] CHIP:DMG:                         },
          [1656934321.911699][6387:6392] CHIP:DMG:
          [1656934321.911733][6387:6392] CHIP:DMG:                 },
          [1656934321.911772][6387:6392] CHIP:DMG:
          [1656934321.911804][6387:6392] CHIP:DMG:         ],
          [1656934321.911842][6387:6392] CHIP:DMG:
          [1656934321.911875][6387:6392] CHIP:DMG:         InteractionModelRevision = 1
          [1656934321.911906][6387:6392] CHIP:DMG: }
          [1656934321.911992][6387:6392] CHIP:DMG: WriteClient moving to [AwaitingDe]
          [1656934321.912033][6387:6392] CHIP:TOO: Response Failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
          [1656934321.912104][6387:6392] CHIP:EM: Sending Standalone Ack for MessageCounter:9709501 on exchange 15031i
      disabled: true
