pgweb/script/test_cockroach.sh

58 lines
1.2 KiB
Bash
Raw Normal View History

2018-06-06 02:20:58 +03:00
#!/bin/bash
set -e
function killproc() {
if [[ $(lsof -i tcp:8888) ]]; then
lsof -i tcp:8888 | grep pgweb | awk '{print $2}' | xargs kill
fi
2018-06-06 02:20:58 +03:00
}
# Nuke the old container if exists.
docker rm -f cockroach || true
# Start cockroach on 26258 so we dont mess with local server.
docker run \
--name=cockroach \
-d \
-t \
-p 26258:26257 \
cockroachdb/cockroach:v20.2.5 \
start-single-node --insecure
2018-06-06 02:20:58 +03:00
sleep 3
# Load the demo database.
docker exec -i cockroach ./cockroach sql --insecure < ./data/roach.sql
# Find and destroy the existing pgweb process.
# Would be great if pgweb had --pid option.
killproc
# Start pgweb and connect to cockroach.
make build
./pgweb \
--url=postgres://root@localhost:26258/roach?sslmode=disable \
--listen=8888 \
--skip-open &
sleep 1
# Run smoke tests
base="-w \"\n\" -f http://localhost:8888/api"
table="product_information"
curl $base/info
curl $base/connection
curl $base/schemas
curl $base/objects
curl $base/query -F query='select * from product_information;'
curl $base/tables/$table
curl $base/tables/$table/rows
curl $base/tables/$table/info
curl $base/tables/$table/indexes
curl $base/tables/$table/constraints
# Cleanup
killproc