# yaml-language-server: $schema=https://api.cerbos.dev/latest/cerbos/policy/v1/TestSuite.schema.json
---
resources:
  itunes_store:
    id: "itunes_store"
    kind: "delivery_store"

name: DeliveryStoreTestSuite
description: Test for verifying delivery_store resource policies
tests:
  - name: Viewing a delivery store
    input:
      principals:
        - telvis
        - dima
        - melissa
        - abacus_readonly_user
      resources:
        - itunes_store
      actions:
        - view
    expected:
      # Has account_edit role
      - principal: telvis
        resource: itunes_store
        actions:
          view: EFFECT_ALLOW
      # Only has audience_development_analyst role
      - principal: dima
        resource: itunes_store
        actions:
          view: EFFECT_DENY
      # Has account_admin and contract_admin roles
      - principal: melissa
        resource: itunes_store
        actions:
          view: EFFECT_ALLOW
      # Has contract_viewer role
      - principal: abacus_readonly_user 
        resource: itunes_store
        actions:
          view: EFFECT_ALLOW
