# 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:
    111.2.9. [TC-DRLK-2.9] Verification for the following Commands - Set
    Credential , Set Credential Response, Get Credential Status, Get Credential
    Status Response, Clear Credential [DUT-Server]

PICS:
    - DRLK.S

config:
    nodeId: 0x12344321
    cluster: "Door Lock"
    endpoint: 1

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

    - label: "Create new user with default parameters"
      command: "SetUser"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "operationType"
                value: 0
              - name: "userIndex"
                value: 1
              - name: "userName"
                value: "xxx"
              - name: "userUniqueId"
                value: 6452
              - name: "userStatus"
                value: 1
              - name: "userType"
                value: 0
              - name: "credentialRule"
                value: 0

    - label: "Read the user back and verify its fields"
      command: "GetUser"
      arguments:
          values:
              - name: "userIndex"
                value: 1
      response:
          values:
              - name: "userIndex"
                value: 1
              - name: "userName"
                value: "xxx"
              - name: "userUniqueId"
                value: 6452
              - name: "userStatus"
                value: 1
              - name: "userType"
                value: 0
              - name: "credentialRule"
                value: 0
              - name: "credentials"
                value: null
              - name: "creatorFabricIndex"
                value: 1
              - name: "lastModifiedFabricIndex"
                value: 1
              - name: "nextUserIndex"
                value: null

    - label:
          "TH reads NumberOfTotalUsersSupported attribute and saves for future
          use."
      PICS: DRLK.S.F08 && DRLK.S.A0011
      command: "readAttribute"
      attribute: "NumberOfTotalUsersSupported"
      response:
          saveAs: NumberOfTotalUsersSupported
          constraints:
              minValue: 0
              maxValue: 65534

    - label: "TH sends Set Credential Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx
      command: "SetCredential"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "operationType"
                value: 0
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 1 }
              - name: "credentialData"
                value: "123456"
              - name: "userIndex"
                value: 1
              - name: "userStatus"
                value: null
              - name: "userType"
                value: null
      response:
          values:
              - name: "status"
                value: 0
              - name: "userIndex"
                value: null
              - name: "nextCredentialIndex"
                value: 2

    - label: "TH sends Get Credential Status Command"
      PICS: DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx
      command: "GetCredentialStatus"
      arguments:
          values:
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 1 }
      response:
          values:
              - name: "credentialExists"
                constraints:
                    type: boolean
              - name: "userIndex"
                value: 1
              - name: "creatorFabricIndex"
                value: 1
              - name: "lastModifiedFabricIndex"
                value: 1
              - name: "nextCredentialIndex"
                value: null

    - label: "TH sends Set Credential Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx
      command: "SetCredential"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "operationType"
                value: 0
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 2 }
              - name: "credentialData"
                value: "4321"
              - name: "userIndex"
                value: null
              - name: "userStatus"
                value: 5
              - name: "userType"
                value: 10
      response:
          values:
              - name: "status"
                value: 0x85
              - name: "userIndex"
                value: null
              - name: "nextCredentialIndex"
                value: 3

    - label: "TH sends Set Credential Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx
      command: "SetCredential"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "operationType"
                value: 0
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 2 }
              - name: "credentialData"
                value: "123456"
              - name: "userIndex"
                value: null
              - name: "userStatus"
                value: null
              - name: "userType"
                value: null
      response:
          values:
              - name: "status"
                value: 0x02
              - name: "userIndex"
                value: null
              - name: "nextCredentialIndex"
                value: 3

    - label:
          "TH sends Set Credential Command to DUT and Verify that the DUT sends
          Set Credential Response command with status as DUPLICATE or OCCUPIED"
      verification: |
          ./chip-tool doorlock set-credential 0 '{ "credentialType" : 1, "credentialIndex" : 1 }' 123456 1 null null  1 1 --timedInteractionTimeoutMs 1000

          Verify "DUT sends Set Credential Response command with response as DUPLICATE or OCCUPIED" on the TH(Chip-tool) Log:

          [[1656506733.767451][27276:27281] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0023
          [1656506733.767542][27276:27281] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0023
          [1656506733.767663][27276:27281] CHIP:TOO:   SetCredentialResponse: {
          [1656506733.767731][27276:27281] CHIP:TOO:     status: 2
          [1656506733.767779][27276:27281] CHIP:TOO:     userIndex: null
          [1656506733.767826][27276:27281] CHIP:TOO:     nextCredentialIndex: 2
          [1656506733.767871][27276:27281] CHIP:TOO:    }
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label:
          "TH sends Set Credential Command to DUT and Verify that the DUT sends
          Set Credential Response command with response as OCCUPIED if the
          CredentialIndex is repeated"
      verification: |
          ./chip-tool doorlock set-credential 0 '{ "credentialType" : 1, "credentialIndex" : 1 }' 12345 1 null null 1 1 --timedInteractionTimeoutMs 1000

          Verify "DUT sends Set Credential Response command with response as DUPLICATE or OCCUPIED" on the TH(Chip-tool) Log:

          [1660216276.191641][71849:71854] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0023
          [1660216276.191673][71849:71854] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0023
          [1660216276.191725][71849:71854] CHIP:TOO:   SetCredentialResponse: {
          [1660216276.191752][71849:71854] CHIP:TOO:     status: 3
          [1660216276.191764][71849:71854] CHIP:TOO:     userIndex: null
          [1660216276.191776][71849:71854] CHIP:TOO:     nextCredentialIndex: 2
          [1660216276.191798][71849:71854] CHIP:TOO:    }
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    #Issue 19990 expected response OCCUPIED, but CHIP Tool Verification Steps shows status: 2 fix script once the issue is fixed.
    - label:
          "TH sends Set Credential Command to DUT and Verify that the DUT sends
          Set Credential Response command with response as OCCUPIED if the
          CredentialIndex is repeated"
      verification: |
          Mark as not applicable and proceed to next step

          ./chip-tool doorlock set-credential 2 '{ "credentialType" : 1, "credentialIndex" : 3 }' 1234567 1 null null 1 1 --timedInteractionTimeoutMs 1000

          Verify "DUT sends Set Credential Response command with response as OCCUPIED" on the TH(Chip-tool) Log:

          [1658473055.384297][2667:2672] CHIP:DMG: },
          [1658473055.384374][2667:2672] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_0023
          [1658473055.384433][2667:2672] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_0023
          [1658473055.384516][2667:2672] CHIP:TOO:   SetCredentialResponse: {
          [1658473055.384571][2667:2672] CHIP:TOO:     status: 2
          [1658473055.384602][2667:2672] CHIP:TOO:     userIndex: null
          [1658473055.384632][2667:2672] CHIP:TOO:     nextCredentialIndex: 4
          [1658473055.384660][2667:2672] CHIP:TOO:    }
      cluster: "LogCommands"
      command: "UserPrompt"
      PICS: PICS_USER_PROMPT && DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx
      arguments:
          values:
              - name: "message"
                value: "Please enter 'y' for success"
              - name: "expectedValue"
                value: "y"

    - label: "TH sends Clear Credential Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C26.Rsp
      command: "ClearCredential"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 1 }

    - label: "TH sends Get Credential Status Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx
      command: "GetCredentialStatus"
      arguments:
          values:
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 1 }
      response:
          values:
              - name: "credentialExists"
                value: false
              - name: "userIndex"
                value: null
              - name: "creatorFabricIndex"
                value: null
              - name: "lastModifiedFabricIndex"
                value: null
              - name: "nextCredentialIndex"
                value: null

    - label: "TH sends Set User Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C1a.Rsp
      command: "SetUser"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "operationType"
                value: 0
              - name: "userIndex"
                value: 2
              - name: "userName"
                value: "xxx"
              - name: "userUniqueId"
                value: "6452"
              - name: "userStatus"
                value: 1
              - name: "userType"
                value: 0
              - name: "credentialRule"
                value: 0

    - label: "TH sends Set Credential Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C22.Rsp && DRLK.S.C23.Tx
      command: "SetCredential"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "operationType"
                value: 0
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 1 }
              - name: "credentialData"
                value: "123456"
              - name: "userIndex"
                value: 2
              - name: "userStatus"
                value: null
              - name: "userType"
                value: null
      response:
          values:
              - name: "status"
                value: 0
              - name: "userIndex"
                value: null
              - name: "nextCredentialIndex"
                value: 2

    - label: "TH sends Clear Credential Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C26.Rsp
      command: "ClearCredential"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 65534 }

    - label: "TH sends Get Credential Status Command"
      PICS: DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx
      command: "GetCredentialStatus"
      arguments:
          values:
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 65534 }
      response:
          values:
              - name: "credentialExists"
                value: false
              - name: "userIndex"
                value: null
              - name: "creatorFabricIndex"
                value: null
              - name: "lastModifiedFabricIndex"
                value: null
              - name: "nextCredentialIndex"
                value: null

    - label: "TH sends Get Credential Status Command"
      PICS: DRLK.S.F08 && DRLK.S.C24.Rsp && DRLK.S.C25.Tx
      command: "GetCredentialStatus"
      arguments:
          values:
              - name: "credential"
                value: { CredentialType: 1, CredentialIndex: 1 }
      response:
          values:
              - name: "credentialExists"
                value: false
              - name: "userIndex"
                value: null
              - name: "creatorFabricIndex"
                value: null
              - name: "lastModifiedFabricIndex"
                value: null
              - name: "nextCredentialIndex"
                value: null

    - label: "TH sends Clear Credential Command to DUT"
      PICS: DRLK.S.F08 && DRLK.S.C26.Rsp
      command: "ClearCredential"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "credential"
                value: { CredentialType: 8, CredentialIndex: 2 }
      response:
          error: INVALID_COMMAND

    - label: "Cleanup the first created user"
      command: "ClearUser"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "userIndex"
                value: 1

    - label: "Cleanup the second created user"
      command: "ClearUser"
      timedInteractionTimeoutMs: 10000
      arguments:
          values:
              - name: "userIndex"
                value: 2
