172 lines
3.2 KiB
YAML
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: [] |