# 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 Information"
    endpoint: 0

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

          [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

          Verify that DUT sends a success response  TH(chip-tool) log:
          [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
          Verify that  HourFormat attribute value changed as  0 on  TH(chip-tool) log:
          [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

          Verify that DUT sends a success response on TH(chip-tool) log:
          [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
          Verify that  HourFormat attribute read request is successful and value changed as  1  on TH(chip-tool) log:
          [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
          Verify that  ActiveCalendarType attribute read request is successful and  value is in between 0 to 11 on  TH(chip-tool) log:
          [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
          Verify that  SupportedCalendarTypes attribute read request is successful and value is in between 0 to 11 on TH(chip-tool) log:
          [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

          Verify that DUT sends a success response on TH(chip-tool) log:
          [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
          Verify that ActiveCalendarType attribute value changed as  0 on TH(chip-tool) log:

          [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
          Verify that DUT sends a CONSTRAINT_ERROR response On TH(chip-tool) log:
          [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
          Verify that DUT sends a CONSTRAINT_ERROR response On TH(chip-tool)  log:

          [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
