CKM: Adjust tests to AliasInfo changes
[platform/core/test/security-tests.git] / src / ckm / unprivileged / main.cpp
index 5078773..9204738 100644 (file)
@@ -442,7 +442,7 @@ RUNNER_TEST(T1024_app_user_save_keys_get_alias_pwd)
     const int aliasNameCount = 10;
     auto manager = CKM::Manager::create();
 
-    CKM::AliasInfoVector expected;
+    PasswordInfoVector expected;
     CKM::RawBuffer buffer(KEY_PEM.begin(), KEY_PEM.end());
     auto key = CKM::Key::create(buffer, CKM::Password());
     std::string currentAlias;
@@ -453,21 +453,31 @@ RUNNER_TEST(T1024_app_user_save_keys_get_alias_pwd)
     {
         CKM::Policy policy = generate_ckm_policy(it);
         currentAlias = "T1024_appkey" + std::to_string(it);
-        expected.push_back(make_alias_info(currentAlias, !policy.password.empty()));
+        expected.emplace_back(currentAlias, !policy.password.empty());
         RUNNER_ASSERT_MSG(
             CKM_API_SUCCESS == (exitCode = manager->saveKey(currentAlias, key, policy)),
             "Error=" << CKM::APICodeToString(exitCode));
     }
 
-    CKM::AliasInfoVector actual;
+    CKM::AliasInfoVector aliasInfoVector;
+    std::unordered_map<std::string, bool> actual;
 
     RUNNER_ASSERT_MSG(
-        CKM_API_SUCCESS == (exitCode = manager->getKeyAliasInfoVector(actual)),
+        CKM_API_SUCCESS == (exitCode = manager->getKeyAliasInfoVector(aliasInfoVector)),
         "Error=" << CKM::APICodeToString(exitCode));
     RUNNER_ASSERT_MSG(
-        actual.size() == (beforeSaveAliasCount + aliasNameCount),
-        "Wrong aliases count: " << actual.size() << " Expected: "
+            aliasInfoVector.size() == (beforeSaveAliasCount + aliasNameCount),
+        "Wrong aliases count: " << aliasInfoVector.size() << " Expected: "
         << (beforeSaveAliasCount + aliasNameCount));
+
+    bool status;
+    for (const auto &info : aliasInfoVector) {
+        exitCode = manager->getKeyEncryptionStatus(info.alias, status);
+        RUNNER_ASSERT_MSG(CKM_API_SUCCESS == exitCode, "Error=" << CKM::APICodeToString(exitCode));
+
+        actual[info.alias] = status;
+    }
+
     check_alias_info_list_helper(expected, actual, "/User ");
 
     remove_user_data(USER_APP);
@@ -481,7 +491,7 @@ RUNNER_TEST(T1025_app_user_save_certificates_get_alias_pwd)
     const int aliasNameCount = 10;
     auto manager = CKM::Manager::create();
 
-    CKM::AliasInfoVector expected;
+    PasswordInfoVector expected;
     auto cert = TestData::getTestCertificate(TestData::TEST_LEAF);
     std::string currentAlias;
 
@@ -490,20 +500,31 @@ RUNNER_TEST(T1025_app_user_save_certificates_get_alias_pwd)
     {
         CKM::Policy policy = generate_ckm_policy(it);
         currentAlias = "T1025_appcert" + std::to_string(it);
-        expected.push_back(make_alias_info(currentAlias, !policy.password.empty()));
+        expected.emplace_back(currentAlias, !policy.password.empty());
         RUNNER_ASSERT_MSG(
                 CKM_API_SUCCESS == (exitCode = manager->saveCertificate(currentAlias, cert, policy)),
                     "Error=" << CKM::APICodeToString(exitCode));
     }
 
-    CKM::AliasInfoVector actual;
+    CKM::AliasInfoVector aliasInfoVector;
+    std::unordered_map<std::string, bool> actual;
+
     RUNNER_ASSERT_MSG(
-        CKM_API_SUCCESS == (exitCode = manager->getCertificateAliasInfoVector(actual)),
+        CKM_API_SUCCESS == (exitCode = manager->getCertificateAliasInfoVector(aliasInfoVector)),
         "Error=" << CKM::APICodeToString(exitCode));
     RUNNER_ASSERT_MSG(
-        actual.size() == (beforeSaveAliasCount + aliasNameCount),
-        "Wrong aliases count: " << actual.size() << " Expected: "
+            aliasInfoVector.size() == (beforeSaveAliasCount + aliasNameCount),
+        "Wrong aliases count: " << aliasInfoVector.size() << " Expected: "
         << (beforeSaveAliasCount + aliasNameCount));
+
+    bool status;
+    for (const auto &info : aliasInfoVector) {
+        exitCode = manager->getCertificateEncryptionStatus(info.alias, status);
+        RUNNER_ASSERT_MSG(CKM_API_SUCCESS == exitCode, "Error=" << CKM::APICodeToString(exitCode));
+
+        actual[info.alias] = status;
+    }
+
     check_alias_info_list_helper(expected, actual, "/User ");
 
     remove_user_data(USER_APP);
@@ -517,7 +538,7 @@ RUNNER_TEST(T1026_app_user_save_data_get_alias_pwd)
     const int aliasNameCount = 10;
     auto manager = CKM::Manager::create();
 
-    CKM::AliasInfoVector expected;
+    PasswordInfoVector expected;
     std::string binData = "My bin data";
     CKM::RawBuffer buffer(binData.begin(), binData.end());
     std::string currentAlias;
@@ -527,20 +548,31 @@ RUNNER_TEST(T1026_app_user_save_data_get_alias_pwd)
     {
         CKM::Policy policy = generate_ckm_policy(it);
         currentAlias = "T1026_appdata" + std::to_string(it);
-        expected.push_back(make_alias_info(currentAlias, !policy.password.empty()));
+        expected.emplace_back(currentAlias, !policy.password.empty());
         RUNNER_ASSERT_MSG(
             CKM_API_SUCCESS == (exitCode = manager->saveData(currentAlias, buffer, policy)),
                 "Error=" << CKM::APICodeToString(exitCode));
     }
 
-    CKM::AliasInfoVector actual;
+    CKM::AliasInfoVector aliasInfoVector;
+    std::unordered_map<std::string, bool> actual;
+
     RUNNER_ASSERT_MSG(
-        CKM_API_SUCCESS == (exitCode = manager->getDataAliasInfoVector(actual)),
+        CKM_API_SUCCESS == (exitCode = manager->getDataAliasInfoVector(aliasInfoVector)),
         "Error=" << CKM::APICodeToString(exitCode));
     RUNNER_ASSERT_MSG(
-        actual.size() == (beforeSaveAliasCount + aliasNameCount),
-        "Wrong aliases count: " << actual.size() << " Expected: "
+        aliasInfoVector.size() == (beforeSaveAliasCount + aliasNameCount),
+        "Wrong aliases count: " << aliasInfoVector.size() << " Expected: "
         << (beforeSaveAliasCount + aliasNameCount));
+
+    bool status;
+    for (const auto &info : aliasInfoVector) {
+        exitCode = manager->getDataEncryptionStatus(info.alias, status);
+        RUNNER_ASSERT_MSG(CKM_API_SUCCESS == exitCode, "Error=" << CKM::APICodeToString(exitCode));
+
+        actual[info.alias] = status;
+    }
+
     check_alias_info_list_helper(expected, actual, "/User ");
 
     remove_user_data(USER_APP);