Add security server password test that assures absence of retry timeout check
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Mon, 9 Dec 2013 15:01:45 +0000 (16:01 +0100)
committerMarcin Niesluchowski <m.niesluchow@samsung.com>
Thu, 23 Jan 2014 14:21:36 +0000 (15:21 +0100)
[Issue#]       SSDWSSP-709
[Feature/Bug]  Need for a new test after removal of retry timeout check.
[Problem]      Rapid password check sequences should be possible.
[Cause]        Protect from regression.
[Solution]     Added new test tc43_security_server_no_retry_timeout.
[Verification] Succesfull build and run of tests:
               security-tests.sh ss-password --output=text

Change-Id: Iba375858fd6d158212058b0ced7b26ac9c5c8e84

tests/security-server-tests/security_server_tests_password.cpp

index 1fbc69a..4074e1e 100644 (file)
@@ -1377,6 +1377,120 @@ RUNNER_TEST(tc42_security_server_set_new_pwd_with_current_empty)
     RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_ERROR_PASSWORD_EXIST, "ret = " << ret);
 }
 
+RUNNER_TEST(tc43_security_server_no_retry_timeout_is_pwd_valid)
+{
+    //prepare environment
+    reset_security_server();
+
+    //set a password
+    int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+
+    //do test
+    unsigned int attempt, max_attempt, expire_sec;
+    ret = security_server_is_pwd_valid(&attempt, &max_attempt, &expire_sec);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_ERROR_PASSWORD_EXIST, "ret = " << ret);
+    ret = security_server_is_pwd_valid(&attempt, &max_attempt, &expire_sec);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_ERROR_PASSWORD_EXIST, "ret = " << ret);
+}
+
+RUNNER_TEST(tc44_security_server_retry_timeout_chk_pwd)
+{
+    //prepare environment
+    reset_security_server();
+
+    //set a password
+    int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+
+    //do test
+    unsigned int attempt, max_attempt, expire_sec;
+    ret = security_server_chk_pwd(TEST_PASSWORD, &attempt, &max_attempt, &expire_sec);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_ERROR_PASSWORD_RETRY_TIMER, "ret = " << ret);
+    ret = security_server_chk_pwd(TEST_PASSWORD, &attempt, &max_attempt, &expire_sec);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_ERROR_PASSWORD_RETRY_TIMER, "ret = " << ret);
+}
+
+RUNNER_TEST(tc45_security_server_retry_timeout_set_pwd)
+{
+    //prepare environment
+    reset_security_server();
+
+    //set a password
+    int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+
+    //do test
+    ret = security_server_set_pwd(TEST_PASSWORD, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_ERROR_PASSWORD_RETRY_TIMER, "ret = " << ret);
+    ret = security_server_set_pwd(TEST_PASSWORD, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_ERROR_PASSWORD_RETRY_TIMER, "ret = " << ret);
+}
+
+RUNNER_TEST(tc46_security_server_no_retry_timeout_set_pwd_validity)
+{
+    //prepare environment
+    reset_security_server();
+
+    //set a password
+    int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+
+    //do test
+    ret = security_server_set_pwd_validity(11);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+    ret = security_server_set_pwd_validity(11);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+}
+
+RUNNER_TEST(tc47_security_server_no_retry_timeout_reset_pwd)
+{
+    //prepare environment
+    reset_security_server();
+
+    //set a password
+    int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+
+    //do test
+    ret = security_server_reset_pwd(TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+    ret = security_server_reset_pwd(TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+}
+
+RUNNER_TEST(tc48_security_server_no_retry_timeout_pwd_history)
+{
+    //prepare environment
+    reset_security_server();
+
+    //set a password
+    int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+
+    //do test
+    ret = security_server_set_pwd_history(5);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+    ret = security_server_set_pwd_history(5);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+}
+
+RUNNER_TEST(tc49_security_server_no_retry_timeout_set_pwd_max_challenge)
+{
+    //prepare environment
+    reset_security_server();
+
+    //set a password
+    int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 0);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+
+    //do test
+    ret = security_server_set_pwd_max_challenge(5);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+    ret = security_server_set_pwd_max_challenge(5);
+    RUNNER_ASSERT_MSG(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret);
+}
+
 int main(int argc, char *argv[])
 {
     int status = DPL::Test::TestRunnerSingleton::Instance().ExecTestRunner(argc, argv);