From: Michal Eljasiewicz Date: Wed, 17 Dec 2014 10:20:47 +0000 (+0100) Subject: Add test for new security manager API user add X-Git-Tag: security-manager_5.5_testing~109^2~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f266bd9fb8d16eecaa9e6ae941ede61b8262f56d;p=platform%2Fcore%2Ftest%2Fsecurity-tests.git Add test for new security manager API user add Change-Id: If4886d140696c780dbf39865afe64e80a71d814d Signed-off-by: Michal Eljasiewicz --- diff --git a/tests/security-manager-tests/CMakeLists.txt b/tests/security-manager-tests/CMakeLists.txt index 6f8fd748..c185493e 100644 --- a/tests/security-manager-tests/CMakeLists.txt +++ b/tests/security-manager-tests/CMakeLists.txt @@ -30,7 +30,8 @@ PKG_CHECK_MODULES(SEC_MGR_TESTS_DEP libtzplatform-config sqlite3 libcap - dbus-1) + dbus-1 + libgum) SET(TARGET_SEC_MGR_TESTS "security-manager-tests") diff --git a/tests/security-manager-tests/security_manager_tests.cpp b/tests/security-manager-tests/security_manager_tests.cpp index 0e12f8e1..904367c5 100644 --- a/tests/security-manager-tests/security_manager_tests.cpp +++ b/tests/security-manager-tests/security_manager_tests.cpp @@ -21,6 +21,8 @@ #include #include #include +#include +#include #include #include @@ -622,6 +624,61 @@ RUNNER_CHILD_TEST(security_manager_06_install_app_offline) uninstall_app(app_id, pkg_id, true); } +RUNNER_CHILD_TEST(security_manager_07_user_add_app_install) +{ + const char *const sm_app_id = "sm_test_07_app_id_user"; + const char *const sm_pkg_id = "sm_test_07_pkg_id_user"; + const std::string new_user_name = "sm_test_07_user_name"; + std::string uid_string; + TemporaryTestUser test_user(new_user_name, GUM_USERTYPE_NORMAL, false); + uid_string = std::to_string(static_cast(test_user.getUid())); + + install_app(sm_app_id, sm_pkg_id, test_user.getUid()); + + check_app_after_install(sm_app_id, sm_pkg_id); + + test_user.remove(); + + check_app_permissions(sm_app_id, sm_pkg_id, uid_string.c_str(), SM_NO_PRIVILEGES, SM_ALLOWED_PRIVILEGES); + + check_app_after_uninstall(sm_app_id, sm_pkg_id, true); +} + +RUNNER_CHILD_TEST(security_manager_08_user_double_add_double_remove) +{ + UserRequest addUserRequest; + + const char *const sm_app_id = "sm_test_08_app_id_user"; + const char *const sm_pkg_id = "sm_test_08_pkg_id_user"; + const char *const new_user_name = "sm_test_08_user_name"; + std::string uid_string; + + // gumd user add + TemporaryTestUser test_user(new_user_name, GUM_USERTYPE_NORMAL, false); + uid_string = std::to_string(static_cast(test_user.getUid())); + + addUserRequest.setUid(test_user.getUid()); + addUserRequest.setUserType(SM_USER_TYPE_NORMAL); + + //sm user add + Api::addUser(addUserRequest); + + install_app(sm_app_id, sm_pkg_id, test_user.getUid()); + + check_app_after_install(sm_app_id, sm_pkg_id); + + test_user.remove(); + + UserRequest deleteUserRequest; + deleteUserRequest.setUid(test_user.getUid()); + + Api::deleteUser(deleteUserRequest); + + check_app_permissions(sm_app_id, sm_pkg_id, uid_string.c_str(), SM_NO_PRIVILEGES, SM_ALLOWED_PRIVILEGES); + + check_app_after_uninstall(sm_app_id, sm_pkg_id, true); +} + int main(int argc, char *argv[]) { return DPL::Test::TestRunnerSingleton::Instance().ExecTestRunner(argc, argv);