Skip to content

Commit

Permalink
Update venom tests
Browse files Browse the repository at this point in the history
  • Loading branch information
CristyNel committed Oct 6, 2024
1 parent bb8a63b commit 1efcd40
Show file tree
Hide file tree
Showing 4 changed files with 76 additions and 158 deletions.
76 changes: 0 additions & 76 deletions .github/workflows/D-comp.yml

This file was deleted.

81 changes: 25 additions & 56 deletions .github/workflows/venom-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,63 +15,32 @@ on:
jobs:
venom-tests:
runs-on: ubuntu-latest

steps:
- name: checkout code
uses: actions/checkout@v4

- name: set up go
uses: actions/setup-go@v5
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: Install dependencies
# working-directory: ./api
# run: |
# echo -e '\033[94;1m * * * 🔗 pwd = '$(pwd) '\n\033[94;1m * * * 🧰 Install dependencies'
# go mod tidy
- name: Checkout
uses: actions/checkout@main

# - 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: Install venom
- name: Install docker compose
run: |
echo -e '\033[94;1m * * * 🐍 Installing venom'
curl https://github.com/ovh/venom/releases/download/v1.0.1/venom.linux-amd64 -L -o /usr/local/bin/venom
chmod +x /usr/local/bin/venom
- name: Run e2e tests
working-directory: ./api/tests
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
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 }}
run: |
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
echo -e '\033[94;1m * * * 🛠️ Set up Docker''\033[94;1m * * * 🔗 pwd = '$(pwd) '\n\033[94;1m * * * ⭐ Run e2e tests'
echo 0 > venom-status.txt
docker-compose -f ./docker-compose.yml --profile=test up --build --exit-code-from cv_venom-service || echo $$ > venom-status.txt
exit `cat venom-status.txt`
working-directory: .
37 changes: 19 additions & 18 deletions api/tests/e2etests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,35 @@ name: API E2E Tests

vars:
sql_ip: ""
api_ip: ""
api_ip: "cv_api-service"

testcases:
- name: Fetch DB Container IP
steps:
- type: exec
script: docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cv_db-container
assertions:
- result.code ShouldEqual 0
extract:
sql_ip: result.systemout
# - name: Fetch DB Container IP
# steps:
# - type: exec
# script: docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cv_db-container
# assertions:
# - result.code ShouldEqual 0
# extract:
# sql_ip: result.systemout

- name: Fetch API Container IP
steps:
- type: exec
script: docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cv_api-container
assertions:
- result.code ShouldEqual 0
extract:
api_ip: result.systemout
# - name: Fetch API Container IP
# steps:
# - type: exec
# script: docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' cv_api-container
# assertions:
# - result.code ShouldEqual 0
# extract:
# api_ip: result.systemout

- name: DeleteUser
steps:
- type: http
method: DELETE
# 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
url: "http://{{.api_ip}}:8080/user/8" # merge
# url: "http://{{.api_ip}}:8080/user/7" # merge
headers:
Content-Type: application/json
assertions:
Expand Down
40 changes: 32 additions & 8 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,38 @@ services:
cv_db-service:
condition: service_healthy

cv_venom-service:
container_name: cv_venom-container
image: alpine:3.12 #curl -s https://registry.hub.docker.com/v2/repositories/ovhcom/venom/tags | jq -r '.results[] | .name + " - " + (.last_updated | split("T")[0])' | sort -t '-' -k 2 -r
profiles: [ "test" ]
env_file:
- ./.secrets
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_HOST: ${MYSQL_HOST}
# api
API_CONTAINER: ${API_CONTAINER}
API_IP: ${API_IP}
API_PORT: ${API_PORT}
# bff
BFF_IMG: ${BFF_IMG}
BFF_TAG: ${BFF_TAG}
BFF_CONTAINER: ${BFF_CONTAINER}
depends_on:
cv_db-service:
condition: service_healthy
entrypoint: [ "sh", "-c", "wget https://github.com/ovh/venom/releases/download/v1.1.0/venom.linux-amd64 -O /usr/local/bin/venom && chmod +x /usr/local/bin/venom && venom run e2etests.yml" ]
volumes:
- ./api/tests:/app
working_dir: /app
networks:
- cv-network



networks:
cv-network:
name: cv-network
Expand All @@ -88,11 +120,3 @@ networks:
# 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 1efcd40

Please sign in to comment.