Some checks failed
CI / Run lints and checks (push) Failing after 47s
CI / Run tests (push) Failing after 1s
CI / Run race tests (push) Failing after 5s
CI / Build CLI docs (push) Has been skipped
CI / Run buf actions (push) Failing after 5s
CodeQL / Analyze (go) (push) Failing after 3s
CodeQL / Analyze (javascript) (push) Failing after 2s
Docker Image Scanners / scanners (push) Failing after 3s
Format / format (push) Failing after 3s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Draft newsletter (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
54 lines
1.2 KiB
Bash
Executable File
54 lines
1.2 KiB
Bash
Executable File
#!/bin/bash
|
|
set -euxo pipefail
|
|
|
|
rm migrate_e2e.sqlite || true
|
|
|
|
bash <(curl --retry 7 --retry-connrefused https://raw.githubusercontent.com/ory/keto/master/install.sh) -b . v0.6.0-alpha.3
|
|
|
|
export DSN="sqlite://./migrate_e2e.sqlite?_fk=true"
|
|
export KETO_READ_REMOTE="127.0.0.1:4466"
|
|
export KETO_WRITE_REMOTE="127.0.0.1:4467"
|
|
|
|
config="$(mktemp --tmpdir keto.XXXXXX.yml)"
|
|
echo "
|
|
log:
|
|
level: debug
|
|
|
|
namespaces:
|
|
- id: 0
|
|
name: a
|
|
- id: 1
|
|
name: b
|
|
" >> "$config"
|
|
|
|
./keto migrate up -y -c "$config" --all-namespaces
|
|
|
|
./keto serve all -c "$config" &
|
|
keto_server_pid=$!
|
|
|
|
function teardown() {
|
|
kill $keto_server_pid || true
|
|
}
|
|
trap teardown EXIT
|
|
|
|
jq '[range(300)] | map({namespace: (if . % 2 == 0 then "a" else "b" end), object: . | tostring, relation: "view", subject: "user"})' <(echo '{}') \
|
|
| ./keto relation-tuple create -q -f -
|
|
|
|
kill $keto_server_pid
|
|
|
|
go build -o keto_new .
|
|
|
|
./keto_new migrate up -y -c "$config"
|
|
./keto_new namespace migrate legacy -y -c "$config"
|
|
|
|
./keto_new serve all -c "$config" &
|
|
keto_server_pid=$!
|
|
|
|
for i in {0..300..24} ; do
|
|
diff <(echo 'Allowed') <(./keto_new check user view a "$i")
|
|
done
|
|
|
|
for i in {1..300..24} ; do
|
|
diff <(echo 'Allowed') <(./keto_new check user view b "$i")
|
|
done
|