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.