# Copyright (c) 2022 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: User Label Cluster Tests

config:
    nodeId: 0x12344321
    cluster: "Access Control"
    endpoint: 0

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

    - label: "Constraint error: PASE reserved for future (TC-ACL-2.4 step 29)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 3,
                      AuthMode: 1, # PASE
                      Subjects: [],
                      Targets: null,
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Constraint error: Invalid combination administer + group (TC-ACL-2.4
          step 31)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 3, # Group
                      Subjects: [],
                      Targets: null,
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label: "Constraint error: Invalid provilege value (TC-ACL-2.4 step 32)"
      # TODO: this test is disabled since the input is accepted. Test case
      #       says privilege value is invalid, but it is set to OPERATE | PROXY_VIEW
      #       so it is unclear what the behavior should be here.
      disabled: true
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 6,
                      AuthMode: 2,
                      Subjects: null,
                      Targets: null,
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label: "Constraint error:  Invalid auth mode (TC-ACL-2.4 step 33)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 3,
                      AuthMode: 4, # INVALID
                      Subjects: [],
                      Targets: null,
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label: "Constraint error:  Invalid subject (TC-ACL-2.4 step 34)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 3,
                      AuthMode: 2,
                      Subjects: [0],
                      Targets: null,
                  }, # invalid subject
              ]
      response:
          error: CONSTRAINT_ERROR

    - label: "Constraint error:  Invalid target (TC-ACL-2.4 step 38)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 3,
                      AuthMode: 2,
                      Subjects: null,
                      # Targets contains an invalid target
                      Targets:
                          [{ Cluster: null, Endpoint: null, DeviceType: null }],
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Constraint error:  target has both endpoint and device type
          (TC-ACL-2.4 step 42)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 3,
                      AuthMode: 2,
                      Subjects: null,
                      # Targets contains both endpoint and device type (invalid)
                      Targets:
                          [{ Cluster: null, Endpoint: 22, DeviceType: 33 }],
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label: "Constraint error: Invalid privilege value step 32)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 6, # INVALID
                      AuthMode: 2, # CASE
                      Subjects: null,
                      Targets: null,
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Constraint error: invalid subject 0xFFFF_FFFF_FFFF_FFFF (TC-ACL-2.4
          step 35)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 3, # Operate
                      AuthMode: 2, # CASE
                      Subjects: ["18446744073709551615"],
                      Targets: null,
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Constraint error: invalid subject 0xFFFF_FFFD_0000_0000 (TC-ACL-2.4
          step 36)"
      # TODO: determine if the invalid subject value here is really a correct
      #       invalid subject value. Test case plan is not clear.
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 3, # Operate
                      AuthMode: 2, # CASE
                      Subjects: ["18446744060824649728"],
                      Targets: null,
                  },
              ]
      response:
          error: CONSTRAINT_ERROR

    - label:
          "Constraint error: invalid subject 0xFFFF_FFFF_FFFF_0000 (TC-ACL-2.4
          step 37)"
      cluster: "Access Control"
      command: "writeAttribute"
      attribute: "ACL"
      arguments:
          value: [
                  {
                      FabricIndex: 1,
                      Privilege: 5, # Administer
                      AuthMode: 2, # CASE
                      Subjects: [112233],
                      Targets: null,
                  },
                  {
                      FabricIndex: 1,
                      Privilege: 3, # Operate
                      AuthMode: 2, # CASE
                      Subjects: ["18446744073709486080"],
                      Targets: null,
                  },
              ]
      response:
          error: CONSTRAINT_ERROR
