Run tests using multi-node database setup
This commit is contained in:
parent
d2c25c6a10
commit
8a4583c48c
5
.github/workflows/on-pr.yml
vendored
5
.github/workflows/on-pr.yml
vendored
@ -58,9 +58,6 @@ jobs:
|
|||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Start database
|
|
||||||
run: docker-compose -f docker-compose.yml up -d ipld-eth-db
|
|
||||||
|
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run:
|
run:
|
||||||
make statedifftest
|
./scripts/run_unit_test.sh
|
@ -2,19 +2,13 @@ version: "3.2"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
ipld-eth-db:
|
ipld-eth-db:
|
||||||
restart: always
|
restart: on-failure
|
||||||
# image: vulcanize/ipld-eth-db:v3.2.0
|
depends_on:
|
||||||
build:
|
- access-node
|
||||||
context: https://github.com/vulcanize/ipld-eth-db.git#sharding
|
image: migrations-test
|
||||||
dockerfile: Dockerfile
|
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: "vdbm"
|
DATABASE_USER: "postgres"
|
||||||
POSTGRES_DB: "vulcanize_testing_v4"
|
DATABASE_NAME: "vulcanize_testing_v4"
|
||||||
POSTGRES_PASSWORD: "password"
|
DATABASE_PASSWORD: "password"
|
||||||
volumes:
|
DATABASE_HOSTNAME: "access-node"
|
||||||
- geth_node:/var/lib/postgresql/data
|
DATABASE_PORT: 5432
|
||||||
ports:
|
|
||||||
- "127.0.0.1:5432:5432"
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
geth_node:
|
|
||||||
|
28
scripts/run_unit_test.sh
Executable file
28
scripts/run_unit_test.sh
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Build database image
|
||||||
|
docker build -t migrations-test https://github.com/vulcanize/ipld-eth-db.git#sharding
|
||||||
|
|
||||||
|
mkdir -p out
|
||||||
|
|
||||||
|
# Remove existing docker-multi-node directory
|
||||||
|
rm -rf out/docker-multi-node/
|
||||||
|
|
||||||
|
# Copy over files to setup multi-node database
|
||||||
|
ID=$(docker create migrations-test)
|
||||||
|
docker cp $ID:/app/docker-multi-node out/docker-multi-node/
|
||||||
|
docker rm -v $ID
|
||||||
|
|
||||||
|
# Spin up multi-node database
|
||||||
|
docker-compose -f out/docker-multi-node/docker-compose.test.yml -f docker-compose.yml up ipld-eth-db
|
||||||
|
sleep 20
|
||||||
|
|
||||||
|
# Run unit tests
|
||||||
|
go clean -testcache
|
||||||
|
make statedifftest
|
||||||
|
|
||||||
|
# Clean up
|
||||||
|
docker-compose -f out/docker-multi-node/docker-compose.test.yml -f docker-compose.yml down --remove-orphans --volumes
|
||||||
|
rm -rf out/docker-multi-node/
|
@ -48,9 +48,9 @@ func ResolveDriverType(str string) (DriverType, error) {
|
|||||||
// DefaultConfig are default parameters for connecting to a Postgres sql
|
// DefaultConfig are default parameters for connecting to a Postgres sql
|
||||||
var DefaultConfig = Config{
|
var DefaultConfig = Config{
|
||||||
Hostname: "localhost",
|
Hostname: "localhost",
|
||||||
Port: 5432,
|
Port: 8066,
|
||||||
DatabaseName: "vulcanize_testing_v4",
|
DatabaseName: "vulcanize_testing_v4",
|
||||||
Username: "vdbm",
|
Username: "postgres",
|
||||||
Password: "password",
|
Password: "password",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user