From d6b800e1c9a3cdb4f85a2308190afe9f0a856ed4 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sat, 12 Feb 2022 21:15:03 +0100 Subject: Cleanup: use dcp::LocalTime for certificate validity times. Before we were using struct tm but not filling it all in, which seems quite unpleasant. --- test/certificates_test.cc | 28 ++++++++++++++-------------- test/local_time_test.cc | 15 +++++++++++++++ 2 files changed, 29 insertions(+), 14 deletions(-) (limited to 'test') diff --git a/test/certificates_test.cc b/test/certificates_test.cc index 1dc11932..927bddaf 100644 --- a/test/certificates_test.cc +++ b/test/certificates_test.cc @@ -263,18 +263,18 @@ BOOST_AUTO_TEST_CASE (certificate_chain_from_string) BOOST_AUTO_TEST_CASE (certificate_not_before_after) { dcp::Certificate c (dcp::file_to_string("test/ref/crypt/ca.self-signed.pem")); - struct tm not_before = c.not_before(); - BOOST_CHECK_EQUAL (not_before.tm_sec, 8); - BOOST_CHECK_EQUAL (not_before.tm_min, 20); - BOOST_CHECK_EQUAL (not_before.tm_hour, 13); - BOOST_CHECK_EQUAL (not_before.tm_mday, 5); - BOOST_CHECK_EQUAL (not_before.tm_mon, 5); - BOOST_CHECK_EQUAL (not_before.tm_year, 115); - struct tm not_after = c.not_after(); - BOOST_CHECK_EQUAL (not_after.tm_sec, 8); - BOOST_CHECK_EQUAL (not_after.tm_min, 20); - BOOST_CHECK_EQUAL (not_after.tm_hour, 13); - BOOST_CHECK_EQUAL (not_after.tm_mday, 2); - BOOST_CHECK_EQUAL (not_after.tm_mon, 5); - BOOST_CHECK_EQUAL (not_after.tm_year, 125); + auto not_before = c.not_before(); + BOOST_CHECK_EQUAL (not_before.second(), 8); + BOOST_CHECK_EQUAL (not_before.minute(), 20); + BOOST_CHECK_EQUAL (not_before.hour(), 13); + BOOST_CHECK_EQUAL (not_before.day(), 5); + BOOST_CHECK_EQUAL (not_before.month(), 6); + BOOST_CHECK_EQUAL (not_before.year(), 2015); + auto not_after = c.not_after(); + BOOST_CHECK_EQUAL (not_after.second(), 8); + BOOST_CHECK_EQUAL (not_after.minute(), 20); + BOOST_CHECK_EQUAL (not_after.hour(), 13); + BOOST_CHECK_EQUAL (not_after.day(), 2); + BOOST_CHECK_EQUAL (not_after.month(), 6); + BOOST_CHECK_EQUAL (not_after.year(), 2025); } diff --git a/test/local_time_test.cc b/test/local_time_test.cc index e80a863d..769826cf 100644 --- a/test/local_time_test.cc +++ b/test/local_time_test.cc @@ -214,3 +214,18 @@ BOOST_AUTO_TEST_CASE (local_time_add_months_test) BOOST_CHECK_EQUAL (t.as_string(), "2018-02-28T11:00:00+01:00"); } } + + +BOOST_AUTO_TEST_CASE (local_time_from_asn1_utctime_test) +{ + BOOST_CHECK_EQUAL (dcp::LocalTime::from_asn1_utc_time("991231235952").as_string(), "1999-12-31T23:59:52+00:00"); + BOOST_CHECK_EQUAL (dcp::LocalTime::from_asn1_utc_time("210215165952").as_string(), "2021-02-15T16:59:52+00:00"); +} + + +BOOST_AUTO_TEST_CASE (local_time_from_asn1_generalized_time_test) +{ + BOOST_CHECK_EQUAL (dcp::LocalTime::from_asn1_generalized_time("19991231235952").as_string(), "1999-12-31T23:59:52+00:00"); + BOOST_CHECK_EQUAL (dcp::LocalTime::from_asn1_generalized_time("20210215165952").as_string(), "2021-02-15T16:59:52+00:00"); +} + -- cgit v1.2.3