test | ||
vendor | ||
gems.locked | ||
gems.rb | ||
README.md |
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.