CAPI tests adjusted to new password logic
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Mon, 15 Dec 2014 20:24:49 +0000 (21:24 +0100)
committerMaciej J. Karpiuk <m.karpiuk2@samsung.com>
Wed, 18 Feb 2015 09:27:44 +0000 (10:27 +0100)
[Issue#] N/A
[Feature/Bug] N/A
[Problem] N/A
[Cause] Password logic have changed
[Solution] Tests adjusted

[Verification] Run all CAPI tests

Change-Id: Ifb9a730b749eafa56d5107d13148935ef7353f60

tests/ckm/async-api.cpp
tests/ckm/capi-testcases.cpp
tests/ckm/main.cpp

index a340c98..cf2a656 100644 (file)
@@ -406,8 +406,6 @@ RUNNER_TEST(TA0000_init)
 {
     int temp;
     ControlShPtr control = Control::create();
-    RUNNER_ASSERT_MSG(CKM_API_SUCCESS == (temp = control->unlockUserKey(APP_UID, TEST_PASS)),
-                         "Error=" << ErrorToString(temp));
     RUNNER_ASSERT_MSG(CKM_API_SUCCESS == (temp = control->removeUserData(APP_UID)),
                          "Error=" << ErrorToString(temp));
 }
index 7845616..fb23a87 100644 (file)
@@ -32,6 +32,8 @@ typedef enum {
        ALIAS_DATA
 } alias_type_;
 
+const char* USER_PASS = "user-pass";
+
 int count_aliases(alias_type_ type, int minimum_initial_element_count = 0)
 {
        ckmc_alias_list_s *aliasList = NULL;
@@ -126,8 +128,28 @@ RUNNER_TEST(T3013_Control_C_API)
 RUNNER_TEST(T3014_Control_C_API)
 {
        int temp;
+       const uid_t UNIQUE_USER = 15;
 
-       RUNNER_ASSERT_MSG( CKMC_ERROR_BAD_REQUEST == (temp = ckmc_reset_user_password(14, "simple-password")),
+       // clean up environment
+       RUNNER_ASSERT_MSG( CKMC_ERROR_NONE == (temp = ckmc_remove_user_data(UNIQUE_USER)),
+                       "Error=" << temp);
+       // unlock with default password
+       RUNNER_ASSERT_MSG( CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(UNIQUE_USER, NULL)),
+                       "Error=" << temp);
+       // reset password (NULL, "simple-password")
+       RUNNER_ASSERT_MSG( CKMC_ERROR_NONE == (temp = ckmc_reset_user_password(UNIQUE_USER, "simple-password")),
+                       "Error=" << temp);
+       // get rid of NULL DKEK
+       RUNNER_ASSERT_MSG( CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(UNIQUE_USER, "simple-password")),
+                       "Error=" << temp);
+       // lock db
+       RUNNER_ASSERT_MSG( CKMC_ERROR_NONE == (temp = ckmc_lock_user_key(UNIQUE_USER)),
+                       "Error=" << temp);
+       // try to reset password when db locked
+       RUNNER_ASSERT_MSG( CKMC_ERROR_BAD_REQUEST == (temp = ckmc_reset_user_password(UNIQUE_USER, "simple-password")),
+                       "Error=" << temp);
+       // clean up environment
+       RUNNER_ASSERT_MSG( CKMC_ERROR_NONE == (temp = ckmc_remove_user_data(UNIQUE_USER)),
                        "Error=" << temp);
 }
 
@@ -175,7 +197,7 @@ RUNNER_TEST(T3021_init_C_API)
                        CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(0, "test-pass")),
                        "Error=" << temp);
        RUNNER_ASSERT_MSG(
-                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, "user-pass")),
+                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, USER_PASS)),
                        "Error=" << temp);
 }
 
@@ -830,7 +852,7 @@ RUNNER_TEST(T3051_CAPI_init)
                        "Error=" << temp);
 
        RUNNER_ASSERT_MSG(
-                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, "user-pass")),
+                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, USER_PASS)),
                        "Error=" << temp);
 }
 
@@ -977,7 +999,7 @@ RUNNER_TEST(T3061_CAPI_init)
                        CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(0, "test-pass")),
                        "Error=" << temp);
        RUNNER_ASSERT_MSG(
-                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, "user-pass")),
+                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, USER_PASS)),
                        "Error=" << temp);
 }
 
@@ -1354,7 +1376,7 @@ RUNNER_TEST(T3081_CAPI__init)
                        "Error=" << temp);
 
        RUNNER_ASSERT_MSG(
-                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, "user-pass")),
+                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, USER_PASS)),
                        "Error=" << temp);
 
        RUNNER_ASSERT_MSG(
@@ -2056,7 +2078,7 @@ RUNNER_TEST(T3091_CAPI_TYPE_init)
                        CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(0, "test-pass")),
                        "Error=" << temp);
        RUNNER_ASSERT_MSG(
-                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, "user-pass")),
+                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, USER_PASS)),
                        "Error=" << temp);
 }
 
@@ -2413,6 +2435,17 @@ RUNNER_TEST(T3098_CAPI_TYPE_deinit)
 
 RUNNER_TEST_GROUP_INIT(T3000_CAPI_LOCKTYPE_TESTS);
 
+RUNNER_TEST(T3100_CAPI_locktype_init)
+{
+       int temp;
+       RUNNER_ASSERT_MSG_BT(
+                       CKMC_ERROR_NONE == (temp = ckmc_remove_user_data(USER_APP)),
+                       "Error=" << temp);
+       RUNNER_ASSERT_MSG_BT(
+                       CKMC_ERROR_NONE == (temp = ckmc_unlock_user_key(USER_APP, USER_PASS)),
+                       "Error=" << temp);
+}
+
 RUNNER_CHILD_TEST(T3101_CAPI_init_lock_key)
 {
        int tmp;
@@ -2422,7 +2455,7 @@ RUNNER_CHILD_TEST(T3101_CAPI_init_lock_key)
 
        char *null_password = NULL;
        RUNNER_ASSERT_MSG(
-               CKMC_ERROR_NONE == (tmp = ckmc_change_user_password(USER_APP,"user-pass",null_password)),
+               CKMC_ERROR_NONE == (tmp = ckmc_change_user_password(USER_APP,USER_PASS,null_password)),
                CKM::ErrorToString(tmp));
        RUNNER_ASSERT_MSG(
                CKMC_ERROR_NONE == (tmp = ckmc_lock_user_key(USER_APP)),
@@ -2486,8 +2519,17 @@ RUNNER_CHILD_TEST(T3103_CAPI_init_change_user_password)
        ap.applyAndSwithToUser(USER_APP, GROUP_APP);
 
        char *null_password = NULL;
+
+       // database has been automatically unlocked with NULL pw in previous test. Lock it now
+       RUNNER_ASSERT_MSG(
+               CKMC_ERROR_NONE == (tmp = ckmc_lock_user_key(USER_APP)),
+               CKM::ErrorToString(tmp));
        RUNNER_ASSERT_MSG(
-               CKMC_ERROR_NONE == (tmp = ckmc_change_user_password(USER_APP,null_password,"user-pass")),
+               CKMC_ERROR_NONE == (tmp = ckmc_change_user_password(USER_APP,null_password,USER_PASS)),
+               CKM::ErrorToString(tmp));
+       // get rid of NULL DKEK
+       RUNNER_ASSERT_MSG(
+               CKMC_ERROR_NONE == (tmp = ckmc_unlock_user_key(USER_APP,USER_PASS)),
                CKM::ErrorToString(tmp));
        RUNNER_ASSERT_MSG(
                CKMC_ERROR_NONE == (tmp = ckmc_lock_user_key(USER_APP)),
@@ -2542,9 +2584,13 @@ RUNNER_CHILD_TEST(T3104_CAPI_unlock_default_passwd_negative)
 
 RUNNER_CHILD_TEST(T3109_CAPI_deinit)
 {
-       AccessProvider ap("my-label");
-       ap.allowAPI("key-manager::api-control", "rw");
-       ap.applyAndSwithToUser(USER_APP, GROUP_APP);
+       int temp;
+       RUNNER_ASSERT_MSG_BT(
+                       CKMC_ERROR_NONE == (temp = ckmc_lock_user_key(USER_APP)),
+                       "Error=" << temp);
+       RUNNER_ASSERT_MSG_BT(
+                       CKMC_ERROR_NONE == (temp = ckmc_remove_user_data(USER_APP)),
+                       "Error=" << temp);
 }
 
 RUNNER_TEST_GROUP_INIT(T320_CAPI_EMPTY_DATABASE);
index 0734f69..53ed8dc 100644 (file)
@@ -2698,9 +2698,13 @@ RUNNER_CHILD_TEST(T1612_init_change_user_password)
     RUNNER_ASSERT_MSG(
         CKM_API_SUCCESS == (tmp = control->changeUserPassword(USER_APP,"","user-pass")),
         "Error=" << CKM::ErrorToString(tmp));
+    // confirm changed password
+    RUNNER_ASSERT_MSG(
+        CKM_API_SUCCESS == (tmp = control->unlockUserKey(USER_APP,"user-pass")),
+        CKM::ErrorToString(tmp));
     RUNNER_ASSERT_MSG(
         CKM_API_SUCCESS == (tmp = control->lockUserKey(USER_APP)),
-        "Error=" << CKM::ErrorToString(tmp));
+        CKM::ErrorToString(tmp));
 }
 
 RUNNER_CHILD_TEST(T1613_unlock_default_passwd_negative)