From 7b3e0e0cf3eddd3537455a3605b04a48ee663f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?louiz=E2=80=99?= Date: Sun, 30 Apr 2017 15:04:40 +0200 Subject: =?UTF-8?q?Make=20botan=E2=80=99s=20policy=20configurable=20from?= =?UTF-8?q?=20a=20file?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix #3244 --- tests/network.cpp | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tests/network.cpp (limited to 'tests/network.cpp') diff --git a/tests/network.cpp b/tests/network.cpp new file mode 100644 index 0000000..52e9ae3 --- /dev/null +++ b/tests/network.cpp @@ -0,0 +1,42 @@ +#include "catch.hpp" +#include + +TEST_CASE("tls_policy") +{ + BiboumiTLSPolicy policy; + const auto default_minimum_signature_strength = policy.minimum_signature_strength(); + const auto default_session_ticket_lifetime = policy.session_ticket_lifetime(); + const auto default_minimum_rsa_bits = policy.minimum_rsa_bits(); + + policy.load("does not exist"); + WHEN("we fail to load the file") + { + THEN("all values are the default ones") + { + CHECK(policy.minimum_signature_strength() == default_minimum_signature_strength); + CHECK(policy.minimum_rsa_bits() == default_minimum_rsa_bits); + } + AND_WHEN("we load a valid first file") + { + std::istringstream iss("minimum_signature_strength = 128\nminimum_rsa_bits=12\n"); + policy.load(iss); + THEN("the specified values are updated, and the rest is still the default") + { + CHECK(policy.minimum_signature_strength() == 128); + CHECK(policy.minimum_rsa_bits() == 12); + CHECK(policy.session_ticket_lifetime() == default_session_ticket_lifetime); + } + AND_WHEN("we load a second file") + { + std::istringstream iss("minimum_signature_strength = 15"); + policy.load(iss); + THEN("the specified values are updated, and the rest is untouched") + { + CHECK(policy.minimum_signature_strength() == 15); + CHECK(policy.minimum_rsa_bits() == 12); + CHECK(policy.session_ticket_lifetime() == default_session_ticket_lifetime); + } + } + } + } +} -- cgit v1.2.3