test_webserver/README.md

61 lines
1.5 KiB
Markdown
Raw Normal View History

2016-04-28 18:11:22 +02:00
Il s'agit d'un ensemble de scripts, de type "tests unitaires" permettant de valider le comportement d'un service web, du point de vue d'un client web.
## Installation
Au minimum il faut Ruby pour l'exécution des scripts.
Il faut également :
- OpenSSL
- Python 2
- Bash (>= 4)
- coreutils
Une fois Ruby installé, depuis le dossier du projet :
bundle install
Ça va installer localement des paquets Ruby nécessaires.
## Exécution
### Partie "sécurité" :
bundle exec ruby -Itest test/secrity_test.rb
Il est possible d'utiliser un certificat SSL racine stocké en local (`test/certs/_my_cert.pem`) et paramétré dans la méthode `root_certificate`.
Il est possible d'utiliser un binaire `open_ssl` personnalisé, géré dans la méthode `openssl_path`.
#### `test_certificate_level`
Permet de vérifier la conformité avec un des niveaux normalisés proposés par Mozilla (https://wiki.mozilla.org/Security/Server_Side_TLS)
#### `test_certificate`
Vérifie la validité du certificat
#### `test_accepts_tls_v1`
Vérifie que le serveur accepte bien des connexions TLS v1
#### `test_refuse_ssl_v3`
Vérifie que le serveur refuse bien des connexions SSL v3
#### `test_hsts_header`
Vérifie la présence de l'en-tête HTTP `HTTP-Strict-Transport-Security`.
### Partie "redirections" :
bundle exec ruby -Itest test/domain_redirects_test.rb
#### `test_redirections`
Vérifie que les redirections attendues aient bien lieu.
#### `test_http_codes`
Vérifie que les codes HTTP attendus soient bien reçus.