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'
|
||||
|
||||
|
||||
|
||||
## 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")
|
||||
```
|
||||
|
@ -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)
|
||||
|
@ -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 !
|
||||
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user