Commits (5)
stages:
- test
test_backend:
stage: test
image: python:3.11
services:
- name: redis:alpine
alias: redis
before_script:
- pip install --upgrade pip
- pip install -r backend/requirements.txt
- pip install pytest
script:
- pytest backend/test_app.py
only:
- merge_requests # Exécute les tests uniquement sur un Merge Request
...@@ -12,7 +12,6 @@ COPY requirements.txt . ...@@ -12,7 +12,6 @@ COPY requirements.txt .
# Installer les dépendances et ajouter pytest # Installer les dépendances et ajouter pytest
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt
RUN pip install --no-cache-dir pytest
# Copier le reste du code (y compris les tests) # Copier le reste du code (y compris les tests)
COPY . /app COPY . /app
......
...@@ -4,6 +4,7 @@ import hashlib ...@@ -4,6 +4,7 @@ import hashlib
import itertools import itertools
import logging import logging
import subprocess import subprocess
import re # <-- Import pour extraire le numéro du port
from flask import Flask, request, jsonify from flask import Flask, request, jsonify
from flask_cors import CORS # Import pour activer CORS from flask_cors import CORS # Import pour activer CORS
...@@ -16,7 +17,13 @@ CORS(app) # Activation de CORS pour toutes les routes ...@@ -16,7 +17,13 @@ CORS(app) # Activation de CORS pour toutes les routes
# Configuration de Redis # Configuration de Redis
redis_host = os.getenv("REDIS_HOST", "redis") # "redis" correspond au service Redis dans Docker redis_host = os.getenv("REDIS_HOST", "redis") # "redis" correspond au service Redis dans Docker
redis_port = int(os.getenv("REDIS_PORT", 6379)) redis_url = os.getenv("REDIS_PORT", "6379") # Valeur par défaut
# Extraction du numéro de port de Redis (compatible avec GitLab CI/CD et Docker)
redis_port_match = re.search(r":(\d+)", redis_url)
redis_port = int(redis_port_match.group(1)) if redis_port_match else 6379
# Connexion à Redis
redis_client = redis.StrictRedis(host=redis_host, port=redis_port, db=0, decode_responses=True) redis_client = redis.StrictRedis(host=redis_host, port=redis_port, db=0, decode_responses=True)
# Clé pour le compteur de requêtes reçues # Clé pour le compteur de requêtes reçues
......
Le fichier a été supprimé par une entrée .gitattributes, ou son encodage n'est pas pris en charge.