Files
openfga/test.fga.yaml
2024-08-30 15:57:12 +02:00

172 lines
3.2 KiB
YAML

name: Model tests
model_file: fga.mod
tuple_file: tuples.fga.csv
tests:
- name: Organization membership
check:
- user: user:a
object: organization:acme
assertions:
member: true
admin: false
- user: user:b
object: organization:acme
assertions:
member: true
admin: true
- user: user:root
object: organization:acme
assertions:
member: false
admin: true
- name: list objects
list_objects:
- user: user:a
type: archive
context:
time: "2024-01-01T00:10:00Z"
usage: 10.0
assertions:
can_view:
- archive:a
can_run:
- archive:a
- user: user:b
type: archive
context:
time: "2024-01-01T00:10:00Z"
usage: 10.0
assertions:
can_view:
- archive:a
- archive:b
can_run:
- archive:b
- user: user:b
type: archive
context:
time: "2025-01-01T00:10:00Z"
usage: 101.0
assertions:
can_view:
- archive:a # as admin
can_run: []
- user: user:c
type: archive
context:
time: "2024-01-01T00:10:00Z"
usage: 0.0
assertions:
can_view:
- archive:b
can_run: []
- user: user:d
type: archive
context:
time: "2025-01-01T00:10:00Z"
usage: 101.0
assertions:
can_view:
- archive:a
can_run:
- archive:a
- name: list grants
list_users:
- object: grant:a
user_filter:
- type: user
context:
time: "2024-01-01T00:10:00Z"
usage: 0.0
assertions:
read:
users:
- user:a
- user:b
- user:d
execute:
users:
- user:a
- user:d
- object: grant:a
user_filter:
- type: user
context:
time: "2025-01-01T00:10:00Z"
usage: 101.0
assertions:
read:
users:
- user:d
execute:
users:
- user:d
- object: grant:b
user_filter:
- type: user
context:
time: "2024-01-01T00:10:00Z"
usage: 1.0
assertions:
read:
users:
- user:b
- user:c
execute:
users:
- user:b
- object: grant:b
user_filter:
- type: user
context:
time: "2025-01-01T00:10:00Z"
usage: 101.0
assertions:
read:
users: []
execute:
users: []
- name: list archives
list_users:
- object: archive:a
user_filter:
- type: user
context:
time: "2024-01-01T00:10:00Z"
usage: 99.0
assertions:
can_view:
users:
- user:a
- user:b
- user:d
- user:root
can_run:
users:
- user:a
- user:d
- object: archive:b
user_filter:
- type: user
context:
time: "2025-01-01T00:10:00Z"
usage: 999.0
assertions:
can_view:
users:
- user:root
can_run:
users: []