corrige chemin scodoc.log

This commit is contained in:
Emmanuel Viennet 2022-10-31 14:45:52 +01:00
parent 0291669255
commit e24882b8c0
4 changed files with 37 additions and 33 deletions

View File

@ -428,9 +428,13 @@ Le champ `notes` dans une évaluation est un dictionnaire dont les clés sont le
| filigranne | texte en surimpression | 'Provisoire'
## 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")
```

View File

@ -50,6 +50,7 @@ Il est utile de vérifier que le serveur Web a bien démarré, avec
systemctl status nginx
## Création des bases de données
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`
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_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).
## Variables d'environnement
Le serveur utilise des variables d'environnement donnant la
configuration de base.
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:
# .env for ScoDoc (production)

View File

@ -45,7 +45,7 @@ semestre, et lui envoyer son bulletin par mail. (sur la page web de son
bulletin, petit menu "Autres opérations").
À ce moment, regarder le log
`/opt/scodoc/instance/log/notes.log`
`/opt/scodoc-data/log/scodoc.log`
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`)
```
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,
@ -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:
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.
@ -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
*Adresse de test*. Ne pas oublier de l'enlever une fois les essais effectués !

View File

@ -3,7 +3,7 @@
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
cd /opt/scodoc
@ -26,9 +26,17 @@ On utilise `pytest`. Ainsi, la commande
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)
TODO (Aurélien, JMP) *ce projet est abandonné pour l'instant*.
*Ce projet est abandonné pour l'instant* (Aurélien, JMP).
## 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
1. modifier /opt/scodoc/.env pour indiquer
```
1. modifier `/opt/scodoc/.env` pour indiquer
```bash
FLASK_ENV=test_api
FLASK_DEBUG=1
```
2. En tant qu'utilisateur scodoc, lancer:
FLASK_DEBUG=1
```
1. En tant qu'utilisateur scodoc, lancer:
```bash
tools/create_database.sh --drop SCODOC_TEST_API
flask db upgrade
flask sco-db-init --erase
flask init-test-database
```
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,
l'initialiser et la peupler de données fictives pour les tests.
3. Relancer ScoDoc:
```
```bash
flask run --host 0.0.0.0
```
### Configuration du client de test API
1. Copier le fichier `scodoc/tests/api/dotenv_exemple` dans
`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
votre serveur).
votre serveur).
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:
```
SCODOC_URL = "http://localhost:5000/"
```bash
SCODOC_URL="http://localhost:5000/"
```
### 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).
```
```bash
cd /opt/scodoc/
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
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
```
lancera un test en mode "interactif", utile pour les mises au point.