Files
upstream-ory-keto/scripts/single-table-migration-e2e.sh
upstream-mirror 9456a4e922
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
snapshot of https://github.com/ory/keto.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:08:34 +05:00

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