From 14acd01ef87d02bea8683f233acbace2f0c4902b Mon Sep 17 00:00:00 2001 From: "Maciej J. Karpiuk" Date: Wed, 3 Jun 2015 13:43:56 +0200 Subject: [PATCH] CKM: permanent test re-factored: no dependency on previous test execution. Change-Id: I7b86d628cb2e8dca41d6e647e55341e7788a0aed --- src/ckm/main.cpp | 51 ++++++++++++++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/src/ckm/main.cpp b/src/ckm/main.cpp index b79563e..9c41077 100644 --- a/src/ckm/main.cpp +++ b/src/ckm/main.cpp @@ -2312,52 +2312,57 @@ RUNNER_TEST(T14189_deinit) RUNNER_TEST_GROUP_INIT(T151_CKM_STORAGE_PERNAMENT_TESTS); +namespace { +CKM::Alias certeeAlias("CertEE"); +CKM::Alias certimAlias("CertIM"); +} RUNNER_CHILD_TEST(T1510_init_unlock_key) { - int tmp; + reset_user_data(USER_TEST, "strong-password"); + + // initial DB feed AccessProvider ap("my-label"); - ap.allowAPI("key-manager::api-control", "rw"); + ap.allowAPI("key-manager::api-storage", "rw"); ap.applyAndSwithToUser(USER_TEST, GROUP_APP); - auto control = CKM::Control::create(); - RUNNER_ASSERT_MSG( - CKM_API_SUCCESS == (tmp = control->unlockUserKey(USER_TEST, "strong-password")), - "Error=" << CKM::ErrorToString(tmp)); + auto manager = CKM::Manager::create(); + auto certee = TestData::getTestCertificate(TestData::MBANK); + auto certim = TestData::getTestCertificate(TestData::SYMANTEC); + RUNNER_ASSERT(CKM_API_SUCCESS == manager->saveCertificate(certeeAlias, certee, CKM::Policy())); + RUNNER_ASSERT(CKM_API_SUCCESS == manager->saveCertificate(certimAlias, certim, CKM::Policy())); +} + +RUNNER_TEST(T1511_restart_CKM) +{ + // restart CKM + stop_service(MANAGER); + start_service(MANAGER); + unlock_user_data(USER_TEST, "strong-password"); } -RUNNER_CHILD_TEST(T1511_insert_data) +RUNNER_CHILD_TEST(T1512_check_data_exists) { + // actual test AccessProvider ap("my-label"); ap.allowAPI("key-manager::api-storage", "rw"); ap.applyAndSwithToUser(USER_TEST, GROUP_APP); + auto manager = CKM::Manager::create(); auto certee = TestData::getTestCertificate(TestData::MBANK); auto certim = TestData::getTestCertificate(TestData::SYMANTEC); - - auto manager = CKM::Manager::create(); - int status1 = manager->saveCertificate(CKM::Alias("CertEE"), certee, CKM::Policy()); - int status2 = manager->saveCertificate(CKM::Alias("CertIM"), certim, CKM::Policy()); - + int status1 = manager->saveCertificate(certeeAlias, certee, CKM::Policy()); + int status2 = manager->saveCertificate(certimAlias, certim, CKM::Policy()); RUNNER_ASSERT_MSG( CKM_API_ERROR_DB_ALIAS_EXISTS == status1, "Certificate should be in database already. Error=" << CKM::ErrorToString(status1)); - RUNNER_ASSERT_MSG( CKM_API_ERROR_DB_ALIAS_EXISTS == status2, "Certificate should be in database already. Error=" << CKM::ErrorToString(status2)); } -RUNNER_CHILD_TEST(T1519_deinit) +RUNNER_TEST(T1519_deinit) { - int tmp; - AccessProvider ap("my-label"); - ap.allowAPI("key-manager::api-control", "rw"); - ap.applyAndSwithToUser(USER_APP, GROUP_APP); - - auto control = CKM::Control::create(); - RUNNER_ASSERT_MSG( - CKM_API_SUCCESS == (tmp = control->lockUserKey(USER_TEST)), - "Error=" << CKM::ErrorToString(tmp)); + remove_user_data(USER_TEST); } -- 2.7.4