CKM: no more "empty password for lockscreen" logics.
[platform/core/test/security-tests.git] / tests / ckm / ckm-common.cpp
index 91d90d0..b73bbd5 100644 (file)
 #include <ckm-common.h>
 #include <tests_common.h>
 #include <access_provider2.h>
+#include <ckm/ckm-control.h>
 #include <ckm/ckm-manager.h>
+#include <ckmc/ckmc-control.h>
+#include <ckmc/ckmc-manager.h>
 #include <dbus_access.h>
 
 const char* SERVICE[] = {
@@ -150,3 +153,26 @@ std::string CKMCReadableError(int error) {
     return output;
 }
 
+void unlock_user_data(uid_t user_id, const char *passwd)
+{
+    int ret;
+    auto control = CKM::Control::create();
+    RUNNER_ASSERT_MSG(CKM_API_SUCCESS == (ret = control->unlockUserKey(user_id, passwd)),
+                      "Error=" << CKM::ErrorToString(ret));
+}
+
+void remove_user_data(uid_t user_id)
+{
+    int ret;
+    auto control = CKM::Control::create();
+    RUNNER_ASSERT_MSG(CKM_API_SUCCESS == (ret = control->lockUserKey(user_id)),
+                      "Error=" << CKM::ErrorToString(ret));
+    RUNNER_ASSERT_MSG(CKM_API_SUCCESS == (ret = control->removeUserData(user_id)),
+                      "Remove user data failed with error: " << CKM::ErrorToString(ret));
+}
+
+void reset_user_data(uid_t user_id, const char *passwd)
+{
+    remove_user_data(user_id);
+    unlock_user_data(user_id, passwd);
+}