61 lines
1.5 KiB
Markdown
61 lines
1.5 KiB
Markdown
|
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.
|