corrige chemin scodoc.log
This commit is contained in:
parent
4f76da6a29
commit
9906fd43ab
@ -428,9 +428,13 @@ Le champ `notes` dans une évaluation est un dictionnaire dont les clés sont le
|
|||||||
| filigranne | texte en surimpression | 'Provisoire'
|
| filigranne | texte en surimpression | 'Provisoire'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Note: la fonction log
|
## Note: la fonction log
|
||||||
Pour la mise au point, il peut être utile de recourir à la bonne vieille fonction log, qui envoie du texte dans le fichier de log courant, normalement `/opt/scodoc/instance/log/notes.log`. La date et le saut de ligne final sont automatiquement ajoutés.
|
|
||||||
|
Pour la mise au point, il peut être utile de recourir à la bonne vieille
|
||||||
|
fonction log, qui envoie du texte dans le fichier de log courant, normalement
|
||||||
|
`/opt/scodoc-data/log/scodoc.log`. La date et le saut de ligne final sont
|
||||||
|
automatiquement ajoutés.
|
||||||
|
|
||||||
```
|
```
|
||||||
log("toto")
|
log("toto")
|
||||||
```
|
```
|
||||||
|
@ -50,6 +50,7 @@ Il est utile de vérifier que le serveur Web a bien démarré, avec
|
|||||||
systemctl status nginx
|
systemctl status nginx
|
||||||
|
|
||||||
## Création des bases de données
|
## Création des bases de données
|
||||||
|
|
||||||
ScoDoc 9 utilise une base de données unique, regroupant tous les
|
ScoDoc 9 utilise une base de données unique, regroupant tous les
|
||||||
départements et les utilisateurs. Elle est nommée `SCODOC` (et `SCODOC_DEV`
|
départements et les utilisateurs. Elle est nommée `SCODOC` (et `SCODOC_DEV`
|
||||||
en mode développement, ou `SCODOC_TEST`pour les tests unitaires).
|
en mode développement, ou `SCODOC_TEST`pour les tests unitaires).
|
||||||
@ -63,15 +64,15 @@ Pour créer la base de données, lancer le script:
|
|||||||
./tools/create_database.sh SCODOC_DEV # pour la base "developement"
|
./tools/create_database.sh SCODOC_DEV # pour la base "developement"
|
||||||
./tools/create_database.sh SCODOC_TEST # pour les tests unitaires
|
./tools/create_database.sh SCODOC_TEST # pour les tests unitaires
|
||||||
|
|
||||||
|
Les bases créées appartiennent à l'utilisateur (rôle) postgres `scodoc`
|
||||||
Les bases créées appartiennent à l'utilisateur (rôle) postgres `scodoc`
|
|
||||||
(qui a été créé par le script d'installation précédent).
|
(qui a été créé par le script d'installation précédent).
|
||||||
|
|
||||||
## Variables d'environnement
|
## Variables d'environnement
|
||||||
|
|
||||||
Le serveur utilise des variables d'environnement donnant la
|
Le serveur utilise des variables d'environnement donnant la
|
||||||
configuration de base.
|
configuration de base.
|
||||||
Le plus simple est de les grouper dans un fichier `.env` (dans
|
Le plus simple est de les grouper dans un fichier `.env` (dans
|
||||||
`/opt/scodoc-data/.env`)
|
`/opt/scodoc-data/.env`)
|
||||||
qui sera lu automatiquement au démarrage:
|
qui sera lu automatiquement au démarrage:
|
||||||
|
|
||||||
# .env for ScoDoc (production)
|
# .env for ScoDoc (production)
|
||||||
|
@ -45,7 +45,7 @@ semestre, et lui envoyer son bulletin par mail. (sur la page web de son
|
|||||||
bulletin, petit menu "Autres opérations").
|
bulletin, petit menu "Autres opérations").
|
||||||
|
|
||||||
À ce moment, regarder le log
|
À ce moment, regarder le log
|
||||||
`/opt/scodoc/instance/log/notes.log`
|
`/opt/scodoc-data/log/scodoc.log`
|
||||||
|
|
||||||
On devrait voir quelque chose ressemblant à:
|
On devrait voir quelque chose ressemblant à:
|
||||||
```
|
```
|
||||||
@ -54,6 +54,7 @@ On devrait voir quelque chose ressemblant à:
|
|||||||
```
|
```
|
||||||
|
|
||||||
Et d'autre part dans le log de postfix (`/var/log/mail.log`)
|
Et d'autre part dans le log de postfix (`/var/log/mail.log`)
|
||||||
|
|
||||||
```
|
```
|
||||||
Sep 7 11:37:42 xxxxxxxx postfix/smtp[31240]: ED1F62BAB22:
|
Sep 7 11:37:42 xxxxxxxx postfix/smtp[31240]: ED1F62BAB22:
|
||||||
to=<emmanuel.viennet@xxxx.fr>, relay=gmail-smtp-in.l.google.com[209.85.135.27]:25, delay=1.5,
|
to=<emmanuel.viennet@xxxx.fr>, relay=gmail-smtp-in.l.google.com[209.85.135.27]:25, delay=1.5,
|
||||||
@ -62,7 +63,7 @@ delays=0.03/0/0.41/1, dsn=2.0.0, status=sent (250 2.0.0 OK 1220942550 y2si226470
|
|||||||
|
|
||||||
Cela devrait permettre de savoir:
|
Cela devrait permettre de savoir:
|
||||||
|
|
||||||
1. si ScoDoc tente d'envoyer un mail (`notes.log`);
|
1. si ScoDoc tente d'envoyer un mail (`/opt/scodoc-data/log/scodoc.log`);
|
||||||
|
|
||||||
2. si le serveur SMTP arrive à traiter ce mail.
|
2. si le serveur SMTP arrive à traiter ce mail.
|
||||||
|
|
||||||
@ -74,5 +75,3 @@ notification ou de bulletins sans déranger les étudiants ou les collègues).
|
|||||||
|
|
||||||
Pour cela, aller sur la page *Paramétrage*, tout en bas, et indiquer une
|
Pour cela, aller sur la page *Paramétrage*, tout en bas, et indiquer une
|
||||||
*Adresse de test*. Ne pas oublier de l'enlever une fois les essais effectués !
|
*Adresse de test*. Ne pas oublier de l'enlever une fois les essais effectués !
|
||||||
|
|
||||||
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
ScoDoc est basé sur Flask, se référer à la doc de Flask pour aller plus loin.
|
ScoDoc est basé sur Flask, se référer à la doc de Flask pour aller plus loin.
|
||||||
|
|
||||||
On travaille toujours en tant qu'utilisateur `scodoc`, dans le virtualenv:
|
On travaille toujours en tant qu'utilisateur `scodoc`, dans le *virtualenv*:
|
||||||
|
|
||||||
su scodoc # si nécessaire
|
su scodoc # si nécessaire
|
||||||
cd /opt/scodoc
|
cd /opt/scodoc
|
||||||
@ -26,9 +26,17 @@ On utilise `pytest`. Ainsi, la commande
|
|||||||
|
|
||||||
lance l'ensemble des tests unitaires.
|
lance l'ensemble des tests unitaires.
|
||||||
|
|
||||||
|
### Création de la base de données pour les tests unitaires
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./tools/create_database.sh SCODOC_TEST
|
||||||
|
export FLASK_ENV=test
|
||||||
|
flask db upgrade
|
||||||
|
```
|
||||||
|
|
||||||
## Tests Selenium (web)
|
## Tests Selenium (web)
|
||||||
|
|
||||||
TODO (Aurélien, JMP) *ce projet est abandonné pour l'instant*.
|
*Ce projet est abandonné pour l'instant* (Aurélien, JMP).
|
||||||
|
|
||||||
## Portail pour tests
|
## Portail pour tests
|
||||||
|
|
||||||
@ -52,60 +60,52 @@ serveur doit avoir été configuré avec des données de test.
|
|||||||
|
|
||||||
### Configuration du serveur pour tester l'API
|
### Configuration du serveur pour tester l'API
|
||||||
|
|
||||||
1. modifier /opt/scodoc/.env pour indiquer
|
1. modifier `/opt/scodoc/.env` pour indiquer
|
||||||
```
|
```bash
|
||||||
FLASK_ENV=test_api
|
FLASK_ENV=test_api
|
||||||
FLASK_DEBUG=1
|
FLASK_DEBUG=1
|
||||||
```
|
|
||||||
2. En tant qu'utilisateur scodoc, lancer:
|
|
||||||
```
|
```
|
||||||
|
1. En tant qu'utilisateur scodoc, lancer:
|
||||||
|
```bash
|
||||||
tools/create_database.sh --drop SCODOC_TEST_API
|
tools/create_database.sh --drop SCODOC_TEST_API
|
||||||
flask db upgrade
|
flask db upgrade
|
||||||
flask sco-db-init --erase
|
flask sco-db-init --erase
|
||||||
flask init-test-database
|
flask init-test-database
|
||||||
```
|
```
|
||||||
|
|
||||||
Ces commandes vont effacer la base `SCODOC_TEST_API` si elle existe, la
|
Ces commandes vont effacer la base `SCODOC_TEST_API` si elle existe, la
|
||||||
recréer, mettre à jour le schéma pour la dernière version de ScoDoc installée,
|
recréer, mettre à jour le schéma pour la dernière version de ScoDoc installée,
|
||||||
l'initialiser et la peupler de données fictives pour les tests.
|
l'initialiser et la peupler de données fictives pour les tests.
|
||||||
|
|
||||||
3. Relancer ScoDoc:
|
3. Relancer ScoDoc:
|
||||||
```
|
```bash
|
||||||
flask run --host 0.0.0.0
|
flask run --host 0.0.0.0
|
||||||
```
|
```
|
||||||
|
|
||||||
### Configuration du client de test API
|
### Configuration du client de test API
|
||||||
|
|
||||||
1. Copier le fichier `scodoc/tests/api/dotenv_exemple` dans
|
1. Copier le fichier `scodoc/tests/api/dotenv_exemple` dans
|
||||||
`scodoc/tests/api/.env`, et éditer ce fichier `.env`pour y configurer votre
|
`scodoc/tests/api/.env`, et éditer ce fichier `.env`pour y configurer votre
|
||||||
*client* de test (ne pas confondre avec `scodoc/.env` qui est la config de
|
*client* de test (ne pas confondre avec `scodoc/.env` qui est la config de
|
||||||
votre serveur).
|
votre serveur).
|
||||||
Normalement, il est suffisant d'indiquer l'URL de votre serveur. Si le
|
Normalement, il est suffisant d'indiquer l'URL de votre serveur. Si le
|
||||||
client de test est sur la même machine que le serveur ScoDoc, c'est simplement:
|
client de test est sur la même machine que le serveur ScoDoc, c'est simplement:
|
||||||
```
|
```bash
|
||||||
SCODOC_URL = "http://localhost:5000/"
|
SCODOC_URL="http://localhost:5000/"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Lancement des tests de l'API
|
### Lancement des tests de l'API
|
||||||
|
|
||||||
Le serveur scodoc étant lancé comme expliqué ci-dessus, on utilise `pytest`sur
|
Le serveur scodoc étant lancé comme expliqué ci-dessus, on utilise `pytest` sur
|
||||||
le client (qui peut être un autre shell de la même machine, bien sûr).
|
le client (qui peut être un autre shell de la même machine, bien sûr).
|
||||||
|
|
||||||
```
|
```bash
|
||||||
cd /opt/scodoc/
|
cd /opt/scodoc/
|
||||||
pytest tests/api/test_api_xxx.py # remplacer xxx par votre test
|
pytest tests/api/test_api_xxx.py # remplacer xxx par votre test
|
||||||
```
|
```
|
||||||
|
|
||||||
Rappelons quelques options utiles de `pytest`: `-x` permet de s'arrêter sur la
|
Rappelons quelques options utiles de `pytest`: `-x` permet de s'arrêter sur la
|
||||||
première erreur, et `--pdb` lance directement le débuggueur sur l'erreur.
|
première erreur, et `--pdb` lance directement le débuggueur sur l'erreur.
|
||||||
Ainsi,
|
Ainsi,
|
||||||
```
|
```bash
|
||||||
pytest --pdb -x tests/api/test_api_departements.py
|
pytest --pdb -x tests/api/test_api_departements.py
|
||||||
```
|
```
|
||||||
lancera un test en mode "interactif", utile pour les mises au point.
|
lancera un test en mode "interactif", utile pour les mises au point.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user