Skip to content

Commit

Permalink
Update docker & tests
Browse files Browse the repository at this point in the history
  • Loading branch information
CristyNel committed Oct 6, 2024
1 parent 81dede5 commit cf85539
Show file tree
Hide file tree
Showing 3 changed files with 73 additions and 51 deletions.
68 changes: 34 additions & 34 deletions .github/workflows/venom-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,39 +25,39 @@ jobs:
with:
go-version: 1.23.1

- name: Verify go installation
run: |
echo -e '\033[94;1m * * * 🔗 pwd = '$(pwd) '\n\033[94;1m * * * 🐹 Go version'
go version
# - name: Verify go installation
# run: |
# echo -e '\033[94;1m * * * 🔗 pwd = '$(pwd) '\n\033[94;1m * * * 🐹 Go version'
# go version

- name: Install dependencies
working-directory: ./api
run: |
echo -e '\033[94;1m * * * 🔗 pwd = '$(pwd) '\n\033[94;1m * * * 🧰 Install dependencies'
go mod tidy
# - name: Install dependencies
# working-directory: ./api
# run: |
# echo -e '\033[94;1m * * * 🔗 pwd = '$(pwd) '\n\033[94;1m * * * 🧰 Install dependencies'
# go mod tidy

- name: Install docker compose
run: |
echo -e '\033[94;1m * * * 🐳 Installing docker compose'
sudo curl -L "https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
# - name: Install docker compose
# run: |
# echo -e '\033[94;1m * * * 🐳 Installing docker compose'
# sudo curl -L "https://github.com/docker/compose/releases/download/v2.21.0/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose
# sudo chmod +x /usr/local/bin/docker-compose

- name: Set up Docker Compose
run: |
echo -e '\033[94;1m * * * 🛠️ Set up Docker'
docker-compose -f ./docker-compose.yml up -d
env:
MYSQL_CONTAINER: ${{ secrets.MYSQL_CONTAINER }}
MYSQL_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }}
MYSQL_DATABASE: ${{ secrets.MYSQL_DATABASE }}
MYSQL_USER: ${{ secrets.MYSQL_USER }}
MYSQL_PASSWORD: ${{ secrets.MYSQL_PASSWORD }}
API_IMG: ${{ secrets.API_IMG }}
API_TAG: ${{ secrets.API_TAG }}
API_CONTAINER: ${{ secrets.API_CONTAINER }}
BFF_IMG: ${{ secrets.BFF_IMG }}
BFF_TAG: ${{ secrets.BFF_TAG }}
BFF_CONTAINER: ${{ secrets.BFF_CONTAINER }}
# - name: Set up Docker Compose
# run: |
# echo -e '\033[94;1m * * * 🛠️ Set up Docker'
# docker-compose -f ./docker-compose.yml up -d
# env:
# MYSQL_CONTAINER: ${{ secrets.MYSQL_CONTAINER }}
# MYSQL_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }}
# MYSQL_DATABASE: ${{ secrets.MYSQL_DATABASE }}
# MYSQL_USER: ${{ secrets.MYSQL_USER }}
# MYSQL_PASSWORD: ${{ secrets.MYSQL_PASSWORD }}
# API_IMG: ${{ secrets.API_IMG }}
# API_TAG: ${{ secrets.API_TAG }}
# API_CONTAINER: ${{ secrets.API_CONTAINER }}
# BFF_IMG: ${{ secrets.BFF_IMG }}
# BFF_TAG: ${{ secrets.BFF_TAG }}
# BFF_CONTAINER: ${{ secrets.BFF_CONTAINER }}

- name: Install venom
run: |
Expand All @@ -71,7 +71,7 @@ jobs:
echo -e '\033[94;1m * * * 🔗 pwd = '$(pwd) '\n\033[94;1m * * * ⭐ Run e2e tests'
venom run e2etests.yml
- name: Stop docker compose
run: |
echo -e '\033[94;1m * * * ❌ Stop docker compose'
docker-compose -f ./docker-compose.yml down --volumes
# - name: Stop docker compose
# run: |
# echo -e '\033[94;1m * * * ❌ Stop docker compose'
# docker-compose -f ./docker-compose.yml down --volumes
13 changes: 7 additions & 6 deletions api/tests/e2etests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
name: API E2E Tests

vars:
sql.url: ""
api.url: ""
sql_ip: ""
api_ip: ""

testcases:
- name: Fetch DB Container IP
Expand All @@ -13,7 +13,7 @@ testcases:
assertions:
- result.code ShouldEqual 0
extract:
sql.url: result.systemout
sql_ip: result.systemout

- name: Fetch API Container IP
steps:
Expand All @@ -22,15 +22,16 @@ testcases:
assertions:
- result.code ShouldEqual 0
extract:
api.url: result.systemout
api_ip: result.systemout

- name: DeleteUser
steps:
- type: http
method: DELETE
url: "http://{{.api.url}}:8080/user/6"
# url: "http://cv_api-service:8080/user/2" only if manualy solve ip
# url: "http://172.26.0.3:8080/user/5" # merge
url: "http://{{.api_ip}}:8080/user/7" # merge
headers:
Content-Type: application/json
assertions:
- result.statuscode ShouldEqual 204

43 changes: 32 additions & 11 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
# ./docker-compose.yml
services:
cv_db-service:
image: mysql:9.0
env_file:
- ./.secrets
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_CONTAINER: ${MYSQL_CONTAINER}
image: mysql:9.0
container_name: ${MYSQL_CONTAINER}
networks:
- cv-network
ports:
- 3307:3306
volumes:
- ./sql/schemadump.sql:/docker-entrypoint-initdb.d/dump.sql
# - mysql-data:/var/lib/mysql
healthcheck:
test: [CMD, mysqladmin, ping, -h, localhost]
interval: 12s
timeout: 8s
interval: 20s
timeout: 10s
retries: 5
start_period: 5s
start_period: 10s
restart: always
command: >
mysqld; sh -c "
echo 'Europe/London' > /etc/timezone && \
cp /usr/share/zoneinfo/Europe/London /etc/localtime"
command: mysqld

cv_api-service:
build:
context: .
dockerfile: Dockerfile.api
env_file:
- ./.secrets
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
Expand All @@ -39,6 +39,9 @@ services:
API_TAG: ${API_TAG}
API_CONTAINER: ${API_CONTAINER}
MYSQL_HOST: ${MYSQL_HOST}
build:
context: .
dockerfile: Dockerfile.api
image: ${API_IMG}:${API_TAG}
container_name: ${API_CONTAINER}
ports:
Expand All @@ -51,6 +54,8 @@ services:
restart: always

cv_bff-service:
env_file:
- ./.secrets
environment:
BFF_IMG: ${BFF_IMG}
BFF_TAG: ${BFF_TAG}
Expand All @@ -75,3 +80,19 @@ networks:
cv-network:
name: cv-network
driver: bridge
# ipam:
# config:
# - subnet: 172.18.0.0/16
# gateway: 172.18.0.1
# volumes:
# mysql-data:
# name: cv_db-volume

# venom:
# build:
# context: tests
# container_name: venom
# profiles: [ "test" ]
# depends_on:
# api:
# condition: service_healthy

0 comments on commit cf85539

Please sign in to comment.