- BILLARD MĂ©lissa
- BRACCIALES-COMBAS Lola
- CARRILHO LAMEIRA Rita
- DIAGNE Sokhna
- Api en FastApi
Nom BDD : order_db
## De la racine
py database/scripts/create_BDD.py
https://615f5fb4f7254d0017068109.mockapi.io/api/v1/orders
Liste de données de toutes les commandes
id_order (INT, clé primaire) : Identifiant unique pour chaque commande.
customerId (INT) : Identifiant du client qui a passé la commande.
Ce champ fait référence à l'ID du client dans le microservice de gestion des clients. Il permet d'associer chaque commande à un client spécifique.
createdAt (TIMESTAMP) : Date et heure de création de la commande.
id_order_products (INT, clé primaire) : Identifiant unique de l'entrée de produit dans la commande.
orderId (INT) : Identifiant de la commande à laquelle ce produit est associé.
Ce champ fait référence à l'ID de la commande dans la table orders, permettant de lier chaque produit à sa commande correspondante.
productId (INT) : Identifiant du produit commandé.
Ce champ fait référence à l'ID du produit dans le microservice de gestion des produits. Il permet d'associer chaque produit à sa description et ses détails dans le microservice approprié.
quantity (INT) : Quantité de ce produit dans la commande.
Ce champ indique combien d'unités du produit ont été commandées, essentiel pour la gestion des stocks et le traitement des commandes.
-
Build container :
docker-compose build
-
Test avec coverage :
docker-compose up
# Dans le fichier app
fastapi dev main.py
# ou
# À la racine
uvicorn app.main:app --reload
find . -name .DS_Store -print0 | xargs -0 git rm -f --ignore-unmatch
Librairie utilisé : unittest
pip install fastapi requests sqlalchemy
Exécuter les tests :
python -m unittest tests/test_api.py
Test | Description | Type de Test |
---|---|---|
test_database_connection |
Teste la connexion à la base de données. | Unitaire |
test_table_orders_exists |
VĂ©rifie que la table 'orders' existe dans test_db . |
Unitaire |
test_table_order_products_exists |
VĂ©rifie que la table 'order_products' existe dans test_db . |
Unitaire |
test_insert_into_orders |
Teste l'insertion d'une commande dans la table 'orders'. | Intégration |
test_insert_into_order_products |
Teste l'insertion d'un produit dans la table 'order_products'. | Intégration |
test_read_from_orders |
Teste la lecture des données insérées dans la table 'orders'. | Intégration |
test_update_orders |
Teste la mise à jour d'une commande dans la table 'orders'. | Intégration |
test_delete_from_orders |
Teste la suppression d'une commande dans la table 'orders'. | Intégration |
test_read_from_order_products |
Teste la lecture des données insérées dans la table 'order_products'. | Intégration |
pytest --junitxml=report.xml
coverage run -m unittest discover
coverage report
coverage html