Add end-to-end tests to Bottin #2

Merged
erwan merged 3 commits from test-go-Bottin into main 2021-07-22 07:59:11 +00:00
4 changed files with 23 additions and 6 deletions
Showing only changes of commit da627ac39a - Show all commits

View file

@ -14,11 +14,13 @@ steps:
- name: test_bottin - name: test_bottin
image: consul:latest image: consul:latest
environment:
BOTTIN_DEFAULT_ADMIN_PW: priZ4Cg0x5NkSyiIN/MpvWw4ZEy8f8s1
commands: commands:
- ./test_automatic/start_test.sh - ash test_automatic/start_test.sh
--- ---
kind: signature kind: signature
hmac: 939fca00ff84d40e9364cd936c18c40c5becafa05e0f887bc04cf6336a4913a2 hmac: a4455c124ee87ca8b0ef1779560703573f3a3f24d406e4cb281b9e0dab4ceeda
... ...

View file

@ -0,0 +1,13 @@
{
"suffix": "dc=deuxfleurs,dc=fr",
"bind": "127.0.0.1:1389",
"acl": [
"ANONYMOUS::bind:*,ou=users,dc=deuxfleurs,dc=fr:",
"ANONYMOUS::bind:cn=admin,dc=deuxfleurs,dc=fr:",
"*,dc=deuxfleurs,dc=fr::read:*:* !userpassword",
"*::read modify:SELF:*",
"cn=admin,dc=deuxfleurs,dc=fr::read add modify delete:*:*",
"*:cn=admin,ou=groups,dc=deuxfleurs,dc=fr:read add modify delete:*:*"
]
}

View file

@ -425,6 +425,7 @@ func main() {
printError(err) printError(err)
log.Info("Clean succes") log.Info("Clean succes")
defer os.Exit(0)
return return
} }

View file

@ -1,11 +1,12 @@
#!/bin/bash #!/bin/sh
erwan marked this conversation as resolved Outdated

Un nom qui me semble bien pour ce fichier c'est runner.sh mais tu peux conserver le nom actuel si tu préfères :)

Un nom qui me semble bien pour ce fichier c'est `runner.sh` mais tu peux conserver le nom actuel si tu préfères :)
erwan marked this conversation as resolved Outdated

Pour être sûr que toutes les erreurs soient bien remontées, je te recommande de commencer ton script par :

set -e

Le modifier -x te permet aussi de voir la commande finale exécutée, ça peut être pratique lors de la lecture des logs de drone, tu aurais alors :

set -ex
Pour être sûr que toutes les erreurs soient bien remontées, je te recommande de commencer ton script par : ``` set -e ``` Le *modifier* `-x` te permet aussi de voir la commande finale exécutée, ça peut être pratique lors de la lecture des logs de drone, tu aurais alors : ``` set -ex ```
trap "kill 0" EXIT #export BOTTIN_DEFAULT_ADMIN_PW=$(openssl rand -base64 24)
erwan marked this conversation as resolved Outdated

Ça je suppose qu'il n'y avait pas openssl dans l'image Consul.
Dans ce cas, on peut l'enlever, et c'est un sujet intéressant à discuter.
Ta solution de contournement (mettre en dur le mot de passe dans le .drone.yml) me semble adaptée.

Ça je suppose qu'il n'y avait pas openssl dans l'image Consul. Dans ce cas, on peut l'enlever, et c'est un sujet intéressant à discuter. Ta solution de contournement (mettre en dur le mot de passe dans le `.drone.yml`) me semble adaptée.
export BOTTIN_DEFAULT_ADMIN_PW=$(openssl rand -base64 24)
echo $BOTTIN_DEFAULT_ADMIN_PW echo $BOTTIN_DEFAULT_ADMIN_PW
consul agent -dev > /dev/null 2>&1 & consul agent -dev > /dev/null 2>&1 &
sleep 2 sleep 2
cp test_automatic/config.json.test config.json
./bottin > /dev/null 2>&1 & ./bottin > /dev/null 2>&1 &
sleep 1 sleep 1
./test_automatic/integration ./test_automatic/integration
rm config.json
erwan marked this conversation as resolved Outdated

Le rm n'est pasobligatoire, à chaque build drone repart d'un environnement propre, tu n'as pas besoin de nettoyer das tes scripts de test

Le `rm` n'est pasobligatoire, à chaque *build* drone repart d'un environnement propre, tu n'as pas besoin de nettoyer das tes scripts de test
exit 0
erwan marked this conversation as resolved Outdated

Enlever le exit 0 pour ne pas fausser le test, si un programme est en erreur, on veut que ça passe rouge dans drone !

Enlever le exit 0 pour ne pas fausser le test, si un programme est en erreur, on veut que ça passe rouge dans drone !