Skip to content

test

test #31

Workflow file for this run

name: Test
on:
push:
branches: [develop*, main]
pull_request:
branches: [develop*, main]
jobs:
bun-test:
runs-on: ubuntu-latest
environment: dev-test
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install bun
uses: oven-sh/setup-bun@v1
- name: "Install Dependencies"
run: |
bun install
- name: "Setup local Clickhouse DB"
uses: metrico/[email protected]
- name: "Insert mock data into Clickhouse DB for testing"
run: |
curl https://clickhouse.com/ | sh
echo "CREATE DATABASE ${{ secrets.DB_NAME }}" > create.sql
./clickhouse client --queries-file ./create.sql
echo "USE ${{ secrets.DB_NAME }}; CREATE TABLE TotalSupply (address FixedString(40), supply Nullable(String),id String , block_id FixedString(64), module_hash FixedString(40),chain LowCardinality(String) ) ENGINE = MergeTree() ORDER BY (address); CREATE TABLE Contracts (address FixedString(40), name Nullable(String), symbol Nullable(String), decimals Nullable(String), id String , block_id FixedString(64), module_hash FixedString(40),chain LowCardinality(String)) ENGINE = MergeTree() ORDER BY (address); CREATE TABLE balance_changes (contract FixedString(40), owner Nullable(String), old_balance Nullable(String), new_balance Nullable(String), transaction_id Nullable(String), id String , block_id FixedString(64), module_hash FixedString(40),chain LowCardinality(String)) ENGINE = MergeTree() ORDER BY (contract); CREATE TABLE IF NOT EXISTS manifest ( module_hash FixedString(40), module_name String(), chain LowCardinality(String), type String(), ) ENGINE = ReplacingMergeTree PRIMARY KEY (module_hash) ORDER BY (module_hash, module_name); CREATE TABLE IF NOT EXISTS block ( block_id FixedString(64), block_number UInt32(), chain LowCardinality(String), timestamp DateTime64(3, 'UTC'), final_block Bool, ) ENGINE = ReplacingMergeTree PRIMARY KEY (block_id) ORDER BY (block_id, block_number, timestamp);" > setup.sql
./clickhouse client --queries-file ./setup.sql
echo "INSERT INTO ${{ secrets.DB_NAME }}.block (block_id, block_number, chain, timestamp,final_block) VALUES ('0006b5036d09b082543fe4306d98f6ad9b438fa4c139124106018fdfc90ad38f', 15010581, 'eth', '2022-06-23 01:43:01.000',true);" > block.sql
./clickhouse client --queries-file ./block.sql
echo "INSERT INTO ${{ secrets.DB_NAME }}.TotalSupply (address, supply, id, block_id,module_hash,chain) VALUES ('cb9df5dc2ed5d7d3972f601acfe35cdbe57341e0', '100000', '00000000000045166c45af0fc6e4cf31d9e14b9a', '0006b5036d09b082543fe4306d98f6ad9b438fa4c139124106018fdfc90ad38f','9a8fdd0be04bbe23f68ed4c38a02f7cbc96b86fb','eth');" > insert1.sql
./clickhouse client --queries-file ./insert1.sql
echo "INSERT INTO ${{ secrets.DB_NAME }}.Contracts (address, name, symbol, decimals,id, block_id,module_hash,chain) VALUES ('cb9df5dc2ed5d7d3972f601acfe35cdbe57341e0', 'wing', '$wing', '8','00000000000045166c45af0fc6e4cf31d9e14b9a', '0006b5036d09b082543fe4306d98f6ad9b438fa4c139124106018fdfc90ad38f','9a8fdd0be04bbe23f68ed4c38a02f7cbc96b86fb','eth');" > insert2.sql
./clickhouse client --queries-file ./insert2.sql
echo "INSERT INTO ${{ secrets.DB_NAME }}.balance_changes (contract, owner, old_balance, new_balance, transaction_id,id, block_id,module_hash,chain) VALUES ('c083e9947Cf02b8FfC7D3090AE9AEA72DF98FD47', '39fA8c5f2793459D6622857E7D9FbB4BD91766d3', '123123', '3423443', 'ab3612eed62a184eed2ae86bcad766183019cf40f82e5316f4d7c4e61f4baa44','00000000000045166c45af0fc6e4cf31d9e14b9a', '0006b5036d09b082543fe4306d98f6ad9b438fa4c139124106018fdfc90ad38f','9a8fdd0be04bbe23f68ed4c38a02f7cbc96b86fb','eth');" > insert3.sql
./clickhouse client --queries-file ./insert3.sql
- name: "Run test"
run: |
bun test
env:
HOSTNAME: ${{ vars.HOST}}
PORT: ${{ vars.PORT }}
DB_HOST: ${{ vars.DB_HOST }}
DB_NAME: ${{ secrets.DB_NAME }}
DB_USERNAME: ${{ secrets.DB_USERNAME }}
DB_PASSWORD: ""