CKM: Add test for getData with broken password.
authorBartlomiej Grzelewski <b.grzelewski@samsung.com>
Wed, 4 Feb 2015 16:57:33 +0000 (17:57 +0100)
committerMaciej J. Karpiuk <m.karpiuk2@samsung.com>
Wed, 18 Feb 2015 09:47:22 +0000 (10:47 +0100)
Change-Id: Iad82b7c0523c5600a60cc5ed8d0c50a0e9a8f9a5

tests/ckm/main.cpp

index a3ebe02..23f8157 100644 (file)
@@ -535,6 +535,10 @@ RUNNER_TEST(T1031_save_get_bin_data)
     RUNNER_ASSERT_MSG(
         buffer == buffer2,
         "Data corrupted");
+
+    RUNNER_ASSERT_MSG_BT(
+        CKM_API_SUCCESS == (temp = manager->getData("data2", CKM::Password("Password"), buffer)),
+        "The wrong password should be ignored because non was used in saveData. Error=" << CKM::ErrorToString(temp));
 }
 
 RUNNER_CHILD_TEST(T1032_app_user_save_bin_data)
@@ -608,7 +612,33 @@ RUNNER_TEST(T1033_remove_bin_data)
         "Error=" << CKM::ErrorToString(temp));
 }
 
-RUNNER_TEST(T1039_deinit)
+RUNNER_TEST(T1034_getData_wrong_password)
+{
+    int temp;
+    auto manager = CKM::Manager::create();
+
+    std::string binData1 = "My bin data4";
+
+    CKM::RawBuffer buffer1(binData1.begin(), binData1.end());
+
+    RUNNER_ASSERT_MSG_BT(
+        CKM_API_SUCCESS == (temp = manager->saveData("data4", buffer1, CKM::Policy("CorrectPassword"))),
+        "Error=" << CKM::ErrorToString(temp));
+
+    CKM::RawBuffer buffer;
+    RUNNER_ASSERT_MSG_BT(
+        CKM_API_SUCCESS == (temp = manager->getData("data4", CKM::Password("CorrectPassword"), buffer)),
+        "Error=" << CKM::ErrorToString(temp));
+    RUNNER_ASSERT_MSG_BT(
+        buffer == buffer1,
+        "Data corrupted");
+
+    RUNNER_ASSERT_MSG_BT(
+        CKM_API_ERROR_AUTHENTICATION_FAILED == (temp = manager->getData("data4", CKM::Password("WrongPassword"), buffer)),
+        "Error=" << CKM::ErrorToString(temp));
+}
+
+RUNNER_TEST(T1035_deinit)
 {
     int temp;
     auto control = CKM::Control::create();