/
test
executable file
·18 lines (13 loc) · 1.74 KB
/
test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
user=chaintest
db=chaindbtest
psql -U postgres -c "SELECT 1 FROM pg_user WHERE usename = '$user'" | grep -q 1 || psql -U postgres -c "CREATE USER $user"
psql -U postgres -c "SELECT 1 FROM pg_database WHERE datname = '$db'" | grep -q 1 && psql -U postgres -c "DROP DATABASE $db"
psql -U postgres -c "CREATE DATABASE $db OWNER $user"
psql -d $db -U $user -c "SELECT 1 FROM pg_tables WHERE tablename = 'peers'" | grep -q 1 || psql -d $db -U $user -c "CREATE TABLE peers (timestamp bigint, ip character varying(45), port integer, PRIMARY KEY(ip, port))"
psql -d $db -U $user -c "SELECT 1 FROM pg_tables WHERE tablename = 'blocks'" | grep -q 1 || psql -d $db -U $user -c "CREATE TABLE blocks (txs_hash bytea, parent_hash bytea, target bytea, timestamp bigint, nonce bigint, block_hash bytea PRIMARY KEY)"
psql -d $db -U $user -c "SELECT 1 FROM pg_tables WHERE tablename = 'transactions'" | grep -q 1 || psql -d $db -U $user -c "CREATE TABLE transactions (hash bytea PRIMARY KEY, public_key bytea, timestamp bigint, block bytea references blocks(block_hash))"
psql -d $db -U $user -c "SELECT 1 FROM pg_tables WHERE tablename = 'tx_inputs'" | grep -q 1 || psql -d $db -U $user -c "CREATE TABLE tx_inputs (id bigserial PRIMARY KEY, src_hash bytea, src_idx bigint, signature bytea, tx bytea references transactions(hash))"
psql -d $db -U $user -c "SELECT 1 FROM pg_tables WHERE tablename = 'tx_outputs'" | grep -q 1 || psql -d $db -U $user -c "CREATE TABLE tx_outputs (id bigserial PRIMARY KEY, idx bigint, amount bigint, address bytea, tx bytea references transactions(hash))"
psql -d $db -U $user -c "SELECT 1 FROM peers" | grep -q 1 || psql -d $db -U $user -c "INSERT INTO peers (ip, port, timestamp) VALUES ('127.0.0.1', 9001, 0)"
RUST_BACKTRACE=1 cargo test -- --nocapture