From fbde1448807a1ba9e8fe081e669348aac5dcf8f2 Mon Sep 17 00:00:00 2001 From: Prathamesh Musale Date: Mon, 1 Apr 2024 13:52:32 +0530 Subject: [PATCH] Run registry CLI tests as part of laconicd fixturenet test workflow --- .gitea/workflows/fixturenet-laconicd-test.yml | 3 + .../docker-compose-fixturenet-laconicd.yml | 3 + .../cerc-laconic-registry-cli/Dockerfile | 4 ++ tests/fixturenet-laconicd/run-cli-test.sh | 55 +++++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100755 tests/fixturenet-laconicd/run-cli-test.sh diff --git a/.gitea/workflows/fixturenet-laconicd-test.yml b/.gitea/workflows/fixturenet-laconicd-test.yml index 67f3797e..6df5e45b 100644 --- a/.gitea/workflows/fixturenet-laconicd-test.yml +++ b/.gitea/workflows/fixturenet-laconicd-test.yml @@ -46,3 +46,6 @@ jobs: run: ./scripts/build_shiv_package.sh - name: "Run fixturenet-laconicd tests" run: ./tests/fixturenet-laconicd/run-test.sh + # TODO: Separate out in a job + - name: "Run laconic CLI tests" + run: ./tests/fixturenet-laconicd/run-cli-test.sh diff --git a/stack_orchestrator/data/compose/docker-compose-fixturenet-laconicd.yml b/stack_orchestrator/data/compose/docker-compose-fixturenet-laconicd.yml index 7b48f60d..f3025062 100644 --- a/stack_orchestrator/data/compose/docker-compose-fixturenet-laconicd.yml +++ b/stack_orchestrator/data/compose/docker-compose-fixturenet-laconicd.yml @@ -3,6 +3,9 @@ services: restart: unless-stopped image: cerc/laconicd:local command: ["sh", "/docker-entrypoint-scripts.d/create-fixturenet.sh"] + environment: + TEST_AUCTION_ENABLED: ${TEST_AUCTION_ENABLED} + TEST_REGISTRY_EXPIRY: ${TEST_REGISTRY_EXPIRY} volumes: # The cosmos-sdk node's database directory: - laconicd-data:/root/.laconicd diff --git a/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/Dockerfile b/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/Dockerfile index 8ff8ab7e..94d2d7e3 100644 --- a/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/Dockerfile +++ b/stack_orchestrator/data/container-build/cerc-laconic-registry-cli/Dockerfile @@ -52,6 +52,10 @@ RUN npm config set @cerc-io:registry ${CERC_NPM_REGISTRY_URL} \ # Globally install the cli package RUN yarn global add @cerc-io/laconic-registry-cli +# Clone the repo for running CLI tests inside the container +RUN git clone https://git.vdb.to/cerc-io/laconic-registry-cli.git \ + && cd laconic-registry-cli && yarn + # Add scripts RUN mkdir /scripts RUN mkdir /scripts/demo-records diff --git a/tests/fixturenet-laconicd/run-cli-test.sh b/tests/fixturenet-laconicd/run-cli-test.sh new file mode 100755 index 00000000..79275cde --- /dev/null +++ b/tests/fixturenet-laconicd/run-cli-test.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +set -e +if [ -n "$CERC_SCRIPT_DEBUG" ]; then + set -x +fi + +echo "$(date +"%Y-%m-%d %T"): Running stack-orchestrator Laconicd fixturenet test" +env +cat /etc/hosts +# Bit of a hack, test the most recent package +TEST_TARGET_SO=$( ls -t1 ./package/laconic-so* | head -1 ) + +echo "$(date +"%Y-%m-%d %T"): Starting stack" +TEST_AUCTION_ENABLED=true $TEST_TARGET_SO --stack fixturenet-laconicd deploy --cluster laconicd up +echo "$(date +"%Y-%m-%d %T"): Stack started" + +# Verify that the fixturenet is up and running +$TEST_TARGET_SO --stack fixturenet-laconicd deploy --cluster laconicd ps + +# Get the key from laconicd +laconicd_key=$(docker exec laconicd-laconicd-1 sh -c 'yes | laconicd keys export mykey --unarmored-hex --unsafe') + +# Get the fixturenet account address +laconicd_account_address=$(docker exec laconicd-laconicd-1 laconicd keys list | awk '/- address:/ {print $3}') + +# Set parameters for the test suite +cosmos_chain_id=laconic_9000-1 +laconicd_rest_endpoint=http://laconicd:1317 +laconicd_gql_endpoint=http://laconicd:9473/api + +# Create the required config and copy it over inside the container +config_file="config.yml" +config=$(cat < "$config_file" + +docker cp $config_file laconicd-cli-1:laconic-registry-cli/config.yml + +# Run the tests +docker exec -it -e TEST_ACCOUNT=$laconicd_account_address laconicd-cli-1 sh -c 'cd laconic-registry-cli && yarn test' + +# Clean up +$TEST_TARGET_SO --stack fixturenet-laconicd deploy --cluster laconicd down --delete-volumes +echo "$(date +"%Y-%m-%d %T"): Test finished"