diff options
-rw-r--r-- | src/tests/catchy/test_cvc.cpp | 41 | ||||
-rw-r--r-- | src/tests/catchy/test_x509.cpp | 48 |
2 files changed, 89 insertions, 0 deletions
diff --git a/src/tests/catchy/test_cvc.cpp b/src/tests/catchy/test_cvc.cpp new file mode 100644 index 000000000..1678f76f1 --- /dev/null +++ b/src/tests/catchy/test_cvc.cpp @@ -0,0 +1,41 @@ +// (C) 2015 Simon Warta (Kullo GmbH) +// Botan is released under the Simplified BSD License (see license.txt) + +#include "catch.hpp" +#include <botan/build.h> + +#if defined(BOTAN_HAS_CVC) + +#include <botan/eac_asn_obj.h> + +TEST_CASE("human readable time", "[EAC_Time]") + { + auto time1 = Botan::EAC_Time("2008-02-01"); + auto time2 = Botan::EAC_Time("2008/02/28"); + auto time3 = Botan::EAC_Time("2004-06-14"); + + CHECK(( time1.time_is_set() == true )); + CHECK(( time2.time_is_set() == true )); + CHECK(( time3.time_is_set() == true )); + + CHECK(( time1.readable_string() == "2008/02/01" )); + CHECK(( time2.readable_string() == "2008/02/28" )); + CHECK(( time3.readable_string() == "2004/06/14" )); + } + +TEST_CASE("no time", "[EAC_Time]") + { + auto time = Botan::EAC_Time(""); + CHECK(( time.time_is_set() == false )); + } + +TEST_CASE("invalis time", "[EAC_Time]") + { + CHECK_THROWS( Botan::EAC_Time(" ") ); + CHECK_THROWS( Botan::EAC_Time("2008`02-01") ); + CHECK_THROWS( Botan::EAC_Time("9999-02-01") ); + CHECK_THROWS( Botan::EAC_Time("2000-02-01 17") ); + CHECK_THROWS( Botan::EAC_Time("999921") ); + } + +#endif // BOTAN_HAS_CVC diff --git a/src/tests/catchy/test_x509.cpp b/src/tests/catchy/test_x509.cpp new file mode 100644 index 000000000..20b72ab26 --- /dev/null +++ b/src/tests/catchy/test_x509.cpp @@ -0,0 +1,48 @@ +// (C) 2015 Simon Warta (Kullo GmbH) +// Botan is released under the Simplified BSD License (see license.txt) + +#include "catch.hpp" +#include <botan/build.h> + +// deacticate due to +// https://github.com/randombit/botan/issues/185 + +#if 0 + +#if defined(BOTAN_HAS_ASN1) + +#include <botan/asn1_time.h> + +TEST_CASE("human readable time", "[X509]") + { + auto time1 = Botan::X509_Time("2008-02-01"); + auto time2 = Botan::X509_Time("2008-02-01 17:24:33"); + auto time3 = Botan::X509_Time("2004-06-14T23:34:30"); + + CHECK(( time1.time_is_set() == true )); + CHECK(( time2.time_is_set() == true )); + CHECK(( time3.time_is_set() == true )); + + CHECK(( time1.readable_string() == "2008/02/01 00:00:00 UTC" )); + CHECK(( time2.readable_string() == "2008/02/01 17:24:33 UTC" )); + CHECK(( time3.readable_string() == "2004/06/14 23:34:30 UTC" )); + } + +TEST_CASE("no time", "[X509]") + { + auto time = Botan::X509_Time(""); + CHECK(( time.time_is_set() == false )); + } + +TEST_CASE("invalid time", "[X509]") + { + CHECK_THROWS( Botan::X509_Time(" ") ); + CHECK_THROWS( Botan::X509_Time("2008`02-01") ); + CHECK_THROWS( Botan::X509_Time("9999-02-01") ); + CHECK_THROWS( Botan::X509_Time("2000-02-01 17") ); + CHECK_THROWS( Botan::X509_Time("999921") ); + } + +#endif // BOTAN_HAS_ASN1 + +#endif |