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 7, 2024
1 parent bb8a63b commit 49e6829
Show file tree
Hide file tree
Showing 18 changed files with 343 additions and 236 deletions.
76 changes: 0 additions & 76 deletions .github/workflows/D-comp.yml

This file was deleted.

76 changes: 76 additions & 0 deletions .github/workflows/git_envs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# .github/workflows/git_envs.yml
name: 💻 Display Variables

on:
push:
branches:
- main

jobs:
display-vars:
runs-on: ubuntu-latest
environment: CV_project-staging

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Display Environment Variables
env:
API_CONTAINER: ${{ vars.API_CONTAINER }}
API_HOST: ${{ vars.API_HOST }}
API_IMG: ${{ vars.API_IMG }}
API_IP: ${{ vars.API_IP }}
API_PORT: ${{ vars.API_PORT }}
API_SERVICE: ${{ vars.API_SERVICE }}
API_TAG: ${{ vars.API_TAG }}
API_URL: ${{ vars.API_URL }}
BFF_CONTAINER: ${{ vars.BFF_CONTAINER }}
BFF_HOST: ${{ vars.BFF_HOST }}
BFF_IMG: ${{ vars.BFF_IMG }}
BFF_IP: ${{ vars.BFF_IP }}
BFF_PORT: ${{ vars.BFF_PORT }}
BFF_SERVICE: ${{ vars.BFF_SERVICE }}
BFF_TAG: ${{ vars.BFF_TAG }}
CV_NETWORK: ${{ vars.CV_NETWORK }}
MYSQL_ADDR: ${{ vars.MYSQL_ADDR }}
MYSQL_CONTAINER: ${{ vars.MYSQL_CONTAINER }}
MYSQL_DATABASE: ${{ vars.MYSQL_DATABASE }}
MYSQL_HOST: ${{ vars.MYSQL_HOST }}
MYSQL_IMG: ${{ vars.MYSQL_IMG }}
MYSQL_IP: ${{ vars.MYSQL_IP }}
MYSQL_LOCAL_IP: ${{ vars.MYSQL_LOCAL_IP }}
run: |
echo -e '\033[94;1m * * * 🛠️ Displaying Environment Variables'
echo "API_CONTAINER=${API_CONTAINER}"
echo "API_HOST=${API_HOST}"
echo "API_IMG=${API_IMG}"
echo "API_IP=${API_IP}"
echo "API_PORT=${API_PORT}"
echo "API_SERVICE=${API_SERVICE}"
echo "API_TAG=${API_TAG}"
echo "API_URL=${API_URL}"
echo "BFF_CONTAINER=${BFF_CONTAINER}"
echo "BFF_HOST=${BFF_HOST}"
echo "BFF_IMG=${BFF_IMG}"
echo "BFF_IP=${BFF_IP}"
echo "BFF_PORT=${BFF_PORT}"
echo "BFF_SERVICE=${BFF_SERVICE}"
echo "BFF_TAG=${BFF_TAG}"
echo "CV_NETWORK=${CV_NETWORK}"
echo "MYSQL_ADDR=${MYSQL_ADDR}"
echo "MYSQL_CONTAINER=${MYSQL_CONTAINER}"
echo "MYSQL_DATABASE=${MYSQL_DATABASE}"
echo "MYSQL_HOST=${MYSQL_HOST}"
echo "MYSQL_IMG=${MYSQL_IMG}"
echo "MYSQL_IP=${MYSQL_IP}"
echo "MYSQL_LOCAL_IP=${MYSQL_LOCAL_IP}"
- name: Display Secrets
env:
MYSQL_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }}
MYSQL_PASSWORD: ${{ secrets.MYSQL_PASSWORD }}
run: |
echo -e '\033[94;1m * * * 🛠️ Displaying Secrets'
echo "MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}"
echo "MYSQL_PASSWORD=${MYSQL_PASSWORD}"
2 changes: 1 addition & 1 deletion .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#? CV_project/.github/workflows/unit-tests.yml
---
name: unit tests
name: 🔩 Unit tests

on:
push:
Expand Down
100 changes: 43 additions & 57 deletions .github/workflows/venom-tests.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#? CV_project/.github/workflows/venom-tests.yml
---
name: venom tests
name: 🐍 Venom tests

# events workflow
on:
Expand All @@ -15,63 +15,49 @@ on:
jobs:
venom-tests:
runs-on: ubuntu-latest

environment: CV_project-staging
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_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }}
MYSQL_PASSWORD: ${{ secrets.MYSQL_PASSWORD }}
MYSQL_ROOT_USER: ${{ secrets.MYSQL_ROOT_USER }}
MYSQL_USER: ${{ secrets.MYSQL_USER }}
API_CONTAINER: ${{ vars.API_CONTAINER }}
API_HOST: ${{ vars.API_HOST }}
API_IMG: ${{ vars.API_IMG }}
API_IP: ${{ vars.API_IP }}
API_PORT: ${{ vars.API_PORT }}
API_SERVICE: ${{ vars.API_SERVICE }}
API_TAG: ${{ vars.API_TAG }}
API_URL: ${{ vars.API_URL }}
BFF_CONTAINER: ${{ vars.BFF_CONTAINER }}
BFF_HOST: ${{ vars.BFF_HOST }}
BFF_IMG: ${{ vars.BFF_IMG }}
BFF_IP: ${{ vars.BFF_IP }}
BFF_PORT: ${{ vars.BFF_PORT }}
BFF_SERVICE: ${{ vars.BFF_SERVICE }}
BFF_TAG: ${{ vars.BFF_TAG }}
CV_NETWORK: ${{ vars.CV_NETWORK }}
MYSQL_ADDR: ${{ vars.MYSQL_ADDR }}
MYSQL_CONTAINER: ${{ vars.MYSQL_CONTAINER }}
MYSQL_DATABASE: ${{ vars.MYSQL_DATABASE }}
MYSQL_HOST: ${{ vars.MYSQL_HOST }}
MYSQL_IMG: ${{ vars.MYSQL_IMG }}
MYSQL_IP: ${{ vars.MYSQL_IP }}
MYSQL_LOCAL_IP: ${{ vars.MYSQL_LOCAL_IP }}
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: .
15 changes: 7 additions & 8 deletions api/cmd/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,37 +7,36 @@ import (
"log"
"net/http"

"github.com/damarisnicolae/CV_project/api/internal/app"
"github.com/damarisnicolae/CV_project/api/internal/database"
"github.com/damarisnicolae/CV_project/api/mock"
"github.com/damarisnicolae/CV_project/api/routes"
"github.com/CristyNel/CV_project/tree/main/api/internal/app"
"github.com/CristyNel/CV_project/tree/main/api/internal/database"
"github.com/CristyNel/CV_project/tree/main/api/mock"
"github.com/CristyNel/CV_project/tree/main/api/routes"
)

func main() {
var err error

Db, err := database.ConnectToDatabases(sql.Open)
if err != nil {
log.Printf("\033[1;31;1m * Failed to connect to the database: %v\033[0m", err)
log.Printf("\033[1;31;1m * * * 🚨 Failed to connect to the database: %v\033[0m", err)
return
}
defer Db.Close()

if Db == nil {
log.Fatalf("\033[1;31;1m * Failed to initialize the database connection.\033[0m")
log.Fatalf("\033[1;31;1m * * * 🚨 Failed to initialize the database connection.\033[0m")
}

// Use the mock logger
logger := mock.NewMockLogger()

app := &app.App{
DB: Db,
Logger: logger,
}

r := routes.InitializeRouter(app)

app.Logger.Printf("\n\033[1;37;1m * * * Starting the HTTP server on port: ➮\033[1;94;1m 8080\033[0m")
app.Logger.Printf("\n\033[1;37;1m * * * 🛫 Starting the HTTP server on port: ➮\033[1;94;1m 8080\033[0m")
if err := http.ListenAndServe(":8080", r); err != nil {
app.Logger.Fatalf("\n * Failed to start HTTP server: %s\n", err)
}
Expand Down
2 changes: 1 addition & 1 deletion api/go.mod
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// bcn/github/CV_project/api/go.mod
module github.com/damarisnicolae/CV_project/api
module github.com/CristyNel/CV_project/tree/main/api

go 1.22

Expand Down
8 changes: 4 additions & 4 deletions api/handlers/home.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ import (
"encoding/json"
"net/http"

"github.com/damarisnicolae/CV_project/api/internal/app"
"github.com/damarisnicolae/CV_project/api/models"
"github.com/CristyNel/CV_project/tree/main/api/internal/app"
"github.com/CristyNel/CV_project/tree/main/api/models"
)

func HomeUsers(app *app.App, w http.ResponseWriter, r *http.Request) {
app.Logger.Println("Received request for /users")
app.Logger.Println(" * * * ☎️ Received request for /users")

if r.Method != "GET" {
w.WriteHeader(http.StatusMethodNotAllowed)
Expand Down Expand Up @@ -47,7 +47,7 @@ func Home(app *app.App, w http.ResponseWriter, r *http.Request) {
return
}

app.Logger.Println("Received request for /")
app.Logger.Println(" * * * ☎️ Received request for /")

rows, err := app.DB.Query("SELECT id, jobtitle, firstname, lastname, email, phone, address, city, country, postalcode, dateofbirth, nationality, summary, workexperience, education, skills, languages FROM users")
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions api/handlers/home_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import (
"net/http/httptest"
"testing"

"github.com/CristyNel/CV_project/tree/main/api/mock"
"github.com/CristyNel/CV_project/tree/main/api/models"
"github.com/DATA-DOG/go-sqlmock"
"github.com/damarisnicolae/CV_project/api/mock"
"github.com/damarisnicolae/CV_project/api/models"
"github.com/stretchr/testify/assert"
)

Expand Down
6 changes: 3 additions & 3 deletions api/handlers/templates.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ import (
"strconv"
"strings"

"github.com/CristyNel/CV_project/tree/main/api/internal/app"
"github.com/CristyNel/CV_project/tree/main/api/internal/utils"
"github.com/CristyNel/CV_project/tree/main/api/models"
wkhtml "github.com/SebastiaanKlippert/go-wkhtmltopdf"
"github.com/damarisnicolae/CV_project/api/internal/app"
"github.com/damarisnicolae/CV_project/api/internal/utils"
"github.com/damarisnicolae/CV_project/api/models"
)

func GenerateTemplate(app *app.App, w http.ResponseWriter, r *http.Request) {
Expand Down
2 changes: 1 addition & 1 deletion api/handlers/templates_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ import (
"path/filepath"
"testing"

"github.com/CristyNel/CV_project/tree/main/api/mock"
"github.com/DATA-DOG/go-sqlmock"
wkhtml "github.com/SebastiaanKlippert/go-wkhtmltopdf"
"github.com/damarisnicolae/CV_project/api/mock"
"github.com/stretchr/testify/assert"
)

Expand Down
Loading

0 comments on commit 49e6829

Please sign in to comment.