Skip to content

Commit b6b12a7

Browse files
committed
test: test-run-surrealdb
Signed-off-by: Chiru B <chiru@foretag.co>
1 parent d7e2ec3 commit b6b12a7

File tree

2 files changed

+68
-1
lines changed

2 files changed

+68
-1
lines changed

.github/workflows/pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ jobs:
9494
fail-fast: false
9595
matrix:
9696
arch: [amd64, arm64]
97-
test: [sqlite, litestream, mysql, postgres, cockroachdb, schema-migration, nats, nats-embedded, nats-socket]
97+
test: [sqlite, litestream, mysql, postgres, cockroachdb, surrealdb, schema-migration, nats, nats-embedded, nats-socket]
9898
runs-on: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-latest' }}
9999
steps:
100100
- name: Download Artifacts

scripts/test-run-surrealdb

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
#!/bin/bash
2+
3+
start-test() {
4+
local ip port user pass namespace database image kine_endpoint kine_url
5+
6+
ip=$(cat "$TEST_DIR"/databases/*/metadata/ip)
7+
port=$(cat "$TEST_DIR"/databases/*/metadata/port)
8+
pass=$(cat "$TEST_DIR"/databases/*/metadata/password)
9+
namespace=$(cat "$TEST_DIR"/databases/*/metadata/namespace)
10+
database=$(cat "$TEST_DIR"/databases/*/metadata/database)
11+
image=$(cat "$TEST_DIR"/databases/*/metadata/image)
12+
13+
if [[ -f "$TEST_DIR"/databases/*/metadata/user ]]; then
14+
user=$(cat "$TEST_DIR"/databases/*/metadata/user)
15+
else
16+
user="root"
17+
fi
18+
19+
kine_endpoint="http://$ip:$port"
20+
21+
DB_CONNECTION_TEST="
22+
docker run --rm
23+
--name connection-test
24+
curlimages/curl:8.6.0
25+
--fail --silent --show-error
26+
-X POST
27+
-u \"$user:$pass\"
28+
-H \"Accept: application/json\"
29+
-H \"surreal-ns: $namespace\"
30+
-H \"surreal-db: $database\"
31+
-d \"RETURN 1;\"
32+
\"$kine_endpoint/sql\"
33+
" timeout --foreground 1m bash -c "wait-for-db-connection"
34+
35+
SURREAL_NS="$namespace" \
36+
SURREAL_DB="$database" \
37+
SURREAL_USER="$user" \
38+
SURREAL_PASS="$pass" \
39+
KINE_IMAGE=$IMAGE \
40+
KINE_ENDPOINT="$kine_endpoint" \
41+
run-apiserver-tests
42+
43+
SURREAL_NS="$namespace" \
44+
SURREAL_DB="$database" \
45+
SURREAL_USER="$user" \
46+
SURREAL_PASS="$pass" \
47+
KINE_IMAGE=$IMAGE \
48+
KINE_ENDPOINT="$kine_endpoint" \
49+
provision-kine
50+
51+
kine_url=$(cat "$TEST_DIR"/kine/*/metadata/url)
52+
K3S_DATASTORE_ENDPOINT="$kine_url" provision-cluster
53+
}
54+
export -f start-test
55+
56+
VERSION_LIST="\
57+
surrealdb 2.6"
58+
59+
while read -r ENGINE VERSION; do
60+
LABEL="$ENGINE-$VERSION" \
61+
DB_NAMESPACE_ENV=SURREAL_NS \
62+
DB_DATABASE_ENV=SURREAL_DB \
63+
DB_USERNAME_ENV=SURREAL_USER \
64+
DB_PASSWORD_ENV=SURREAL_PASS \
65+
DB_IMAGE="docker.io/surrealdb/surrealdb:$VERSION" \
66+
run-test
67+
done <<< "$VERSION_LIST"

0 commit comments

Comments
 (0)