Add end-to-end tests to Bottin #2
4 changed files with 23 additions and 6 deletions
|
@ -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
|
||||||
|
|
||||||
...
|
...
|
||||||
|
|
13
test_automatic/config.json.test
Normal file
13
test_automatic/config.json.test
Normal 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:*:*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
|
@ -425,6 +425,7 @@ func main() {
|
||||||
printError(err)
|
printError(err)
|
||||||
log.Info("Clean succes")
|
log.Info("Clean succes")
|
||||||
|
|
||||||
|
defer os.Exit(0)
|
||||||
return
|
return
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
erwan marked this conversation as resolved
Outdated
|
|||||||
|
|
||||||
erwan marked this conversation as resolved
Outdated
quentin
commented
Pour être sûr que toutes les erreurs soient bien remontées, je te recommande de commencer ton script par :
Le modifier
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
quentin
commented
Ça je suppose qu'il n'y avait pas openssl dans l'image Consul. Ç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
quentin
commented
Le 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
quentin
commented
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 !
|
|||||||
|
|
Loading…
Reference in a new issue
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 :)