Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
136 changes: 136 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
name: Test Pipeline

on: [push, pull_request]

jobs:
test-cab_common:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.11"
- name: Install dependencies
run: |
cd backend/cab_common
export PYTHONPATH=.
pip install -r requirements.txt
- name: Run tests
run: |
cd backend/cab_common
pytest tests --cov --cov-report term --cov-report html --cov-report xml:coverage.xml --junitxml=report.xml
env:
COV_CONTEXT: "backend/cab_common"

test-event-service:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.11"
- name: Install dependencies
run: |
pip install backend/cab_common
cd backend/event-service
pip install -r requirements.txt
- name: Run tests
run: |
cd backend/event-service
export PYTHONPATH=.
export FLASK_APP=web
pytest tests --cov --cov-report term --cov-report html --cov-report xml:coverage.xml --junitxml=report.xml
env:
COV_CONTEXT: "backend/event-service"

test-context-service:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: "3.11"
- name: Install dependencies
run: |
pip install backend/cab_common
cd backend/context-service
pip install -r requirements.txt
pip install pytest-cov==4.1.0 pytest-mock==3.12.0 pytest-runner==6.0.1
- name: Run tests
run: |
cd backend/context-service
export PYTHONPATH=.
export FLASK_APP=web
pytest tests --cov --cov-report term --cov-report html --cov-report xml:coverage.xml --junitxml=report.xml
env:
COV_CONTEXT: "backend/context-service"

test-recommendation-service:
runs-on: ubuntu-latest
container: python:3.11.6-slim
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up dependencies
run: |
mkdir -p /usr/share/man/man1
apt update && apt install -y --no-install-recommends default-jre
pip install backend/cab_common
- name: Set up recommendation service
run: |
cd backend/recommendation-service
pip install -r requirements.txt
pip install pytest-cov==4.1.0 pytest-mock==3.12.0 pytest-runner==6.0.1
- name: Run tests
run: |
cd backend/recommendation-service
export PYTHONPATH=.
export FLASK_APP=web
pytest tests --cov --cov-report term --cov-report html --cov-report xml:coverage.xml --junitxml=report.xml
env:
COV_CONTEXT: "backend/recommendation-service"

test-frontend-service:
runs-on: ubuntu-latest
container: cypress/browsers:node-20.9.0-chrome-118.0.5993.88-1-ff-118.0.2-edge-118.0.2088.46-1
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: "16"
- name: Install dependencies
run: |
cd frontend
npm ci
- name: Lint code
run: |
cd frontend
npm run lint
- name: Type-check code
run: |
cd frontend
npm run type-check
- name: Build project
run: |
cd frontend
npm run build-only
- name: Run tests
run: |
cd frontend
npm run test:coverage
- name: Upload coverage report
if: always()
uses: actions/upload-artifact@v3
with:
name: frontend-coverage
path: frontend/coverage
env:
COV_CONTEXT: "frontend"
19 changes: 0 additions & 19 deletions backend/context-service/api/clients/correlation_client.py

This file was deleted.

4 changes: 0 additions & 4 deletions backend/context-service/settings.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
import os
import logging.config

CORRELATION_SERVICE = os.getenv('CORRELATION_SERVICE')


DEFAULT_LOGGING = {
'version': 1,
'formatters': {'default': {
Expand Down
143 changes: 0 additions & 143 deletions backend/context-service/tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,6 @@ def app():

yield app

use_case_factory = app.use_case_factory
try:
orange_factory = use_case_factory.get_context_manager("ORANGE")
orange_factory.correaltion_manager.correlation_request_process.terminate()
except Exception as e:
logger.info(f"Ignore this error {e}")

# Clean up the database after the test
db.session.remove()
db.drop_all()
Expand Down Expand Up @@ -75,123 +68,6 @@ def rte_auth_mocker(client, mocker):
},
)


@pytest.fixture
def da_auth_mocker(client, mocker):
# Mock the keycloak.introspect method to return a valid response
mocker.patch(
"cab_common_auth.decorators.keycloak.introspect",
return_value={
"exp": 1684401219,
"iat": 1683796419,
"jti": "a28734f6-f5c8-4130-8fb7-573d75c39d8c",
"iss": "http://192.168.211.95:3200/realms/dev",
"aud": "account",
"sub": "da_user",
"typ": "Bearer",
"azp": "opfab-client",
"session_state": "bd3b8610-1d05-4bdd-916b-61dcfe6d5e72",
"preferred_username": "da_user",
"email_verified": False,
"acr": "1",
"realm_access": {"roles": ["offline_access", "uma_authorization"]},
"resource_access": {
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile",
]
}
},
"scope": "email profile",
"sid": "bd3b8610-1d05-4bdd-916b-61dcfe6d5e72",
"groups": "RTE;ADMIN;ReadOnly",
"entitiesId": "DA",
"client_id": "opfab-client",
"username": "da_user",
"active": True,
},
)


@pytest.fixture
def sncf_auth_mocker(client, mocker):
# Mock the keycloak.introspect method to return a valid response
mocker.patch(
"cab_common_auth.decorators.keycloak.introspect",
return_value={
"exp": 1684413915,
"iat": 1683809115,
"jti": "6f63636a-625a-4926-9684-6d5ed3b80e2a",
"iss": "http://192.168.211.95:3200/realms/dev",
"aud": "account",
"sub": "sncf_user",
"typ": "Bearer",
"azp": "opfab-client",
"session_state": "0dee604d-5c03-416c-8d95-59b0aa95b61a",
"preferred_username": "sncf_user",
"email_verified": False,
"acr": "1",
"realm_access": {"roles": ["offline_access", "uma_authorization"]},
"resource_access": {
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile",
]
}
},
"scope": "email profile",
"sid": "0dee604d-5c03-416c-8d95-59b0aa95b61a",
"entitiesId": "SNCF",
"client_id": "opfab-client",
"username": "sncf_user",
"active": True,
},
)


@pytest.fixture
def orange_auth_mocker(client, mocker):
# Mock the keycloak.introspect method to return a valid response
mocker.patch(
"cab_common_auth.decorators.keycloak.introspect",
return_value={
"exp": 1684766859,
"iat": 1684162059,
"jti": "418dee2b-aac6-452e-a90f-32278e34a22b",
"iss": "http://192.168.211.95:3200/realms/dev",
"aud": "account",
"sub": "orange_user",
"typ": "Bearer",
"azp": "opfab-client",
"session_state": "5297805d-fc73-4d94-97fc-0c5a52c41440",
"preferred_username": "orange_user",
"email_verified": False,
"acr": "1",
"realm_access": {"roles": ["offline_access", "uma_authorization"]},
"resource_access": {
"account": {
"roles": [
"manage-account",
"manage-account-links",
"view-profile",
]
}
},
"scope": "email profile",
"sid": "5297805d-fc73-4d94-97fc-0c5a52c41440",
"groups": "RTE;ADMIN;ReadOnly",
"entitiesId": "ORANGE",
"client_id": "opfab-client",
"username": "orange_user",
"active": True,
},
)


@pytest.fixture
def publisher_test_auth_mocker(client, mocker):
# Mock the keycloak.introspect method to return a valid response
Expand Down Expand Up @@ -274,32 +150,13 @@ def create_usecases(client):

db.create_all()

da_use_case = UseCaseModel(
name="DA",
context_manager_class="DAContextManager",
metadata_schema_class="MetadataSchemaDA",
)

orange_use_case = UseCaseModel(
name="ORANGE",
context_manager_class="OrangeContextManager",
metadata_schema_class="MetadataSchemaOrange",
)
rte_use_case = UseCaseModel(
name="RTE",
context_manager_class="RTEContextManager",
metadata_schema_class="MetadataSchemaRTE",
)
sncf_use_case = UseCaseModel(
name="SNCF",
context_manager_class="SNCFContextManager",
metadata_schema_class="MetadataSchemaSNCF",
)

db.session.add(da_use_case)
db.session.add(orange_use_case)
db.session.add(rte_use_case)
db.session.add(sncf_use_case)
db.session.commit()
# add use_case_factory
use_case_factory = current_app.use_case_factory
Expand Down
Loading