From: Bartlomiej Grzelewski Date: Mon, 27 Jan 2014 15:26:38 +0000 (+0100) Subject: Add additional tests for password service. X-Git-Tag: security-manager_5.5_testing~282 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9365ac3a624482b89fcedd5caee00a958cdb03c5;p=platform%2Fcore%2Ftest%2Fsecurity-tests.git Add additional tests for password service. [Issue#] N/A [Bug/Problem] Security-server set up wrong value as validSec when password validity time was set as "never expired". [Cause] N/A [Solution] N/A [Verification] Build, run tests. Change-Id: I2fa830899786ee72f4d24ac3f1a9cd771527552e --- diff --git a/tests/security-server-tests/security_server_tests_password.cpp b/tests/security-server-tests/security_server_tests_password.cpp index 4f63cdae..25fdcc4c 100644 --- a/tests/security-server-tests/security_server_tests_password.cpp +++ b/tests/security-server-tests/security_server_tests_password.cpp @@ -47,6 +47,27 @@ const char* FOURTH_TEST_PASSWORD = "FOURTHPASS"; RUNNER_TEST_GROUP_INIT(SECURITY_SERVER_TESTS_PASSWORD); +struct SystemClock { + SystemClock(time_t shift) + : m_original(time(0)) + { + time_t shifted = m_original + shift; + RUNNER_ASSERT_BT(0 == stime(&shifted)); + } + + ~SystemClock() { + if (std::uncaught_exception()) { + stime(&m_original); + return; + } + + RUNNER_ASSERT_BT(0 == stime(&m_original)); + } +private: + time_t m_original; +}; + + /** * Confirm there is no password before tests are run. */ @@ -1450,6 +1471,44 @@ RUNNER_TEST(tc50_security_server_set_pwd_current_pwd_with_infinite_expiration_ti clean_password_dir(); } +RUNNER_TEST(tc51_security_server_is_pwd_valid) +{ + reset_security_server(); + + int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 1); + RUNNER_ASSERT_MSG_BT(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret); + + unsigned int attempt, maxAttempt, validSec; + attempt = maxAttempt = validSec = 0; + + ret = security_server_is_pwd_valid(&attempt, &maxAttempt, &validSec); + RUNNER_ASSERT_MSG_BT(ret == SECURITY_SERVER_API_ERROR_PASSWORD_EXIST, "ret = " << ret << + " atempt=" << attempt << " maxAttempt=" << maxAttempt << " validSec=" << validSec); + + + SystemClock clock(60*60*24*2); + + ret = security_server_is_pwd_valid(&attempt, &maxAttempt, &validSec); + RUNNER_ASSERT_MSG_BT((ret == SECURITY_SERVER_API_ERROR_PASSWORD_EXIST) && (validSec == 0), + "ret = " << ret << " atempt=" << attempt << " maxAttempt=" << maxAttempt + << " validSec=" << validSec); +} + +RUNNER_TEST(tc52_security_server_is_pwd_valid) +{ + reset_security_server(); + + int ret = security_server_set_pwd(NULL, TEST_PASSWORD, 0, 0); + RUNNER_ASSERT_MSG_BT(ret == SECURITY_SERVER_API_SUCCESS, "ret = " << ret); + + unsigned int attempt, maxAttempt, validSec; + attempt = maxAttempt = validSec = 0; + + ret = security_server_is_pwd_valid(&attempt, &maxAttempt, &validSec); + RUNNER_ASSERT_MSG_BT((ret == SECURITY_SERVER_API_ERROR_PASSWORD_EXIST) && (validSec == 0xffffffff), "ret = " << ret << + " atempt=" << attempt << " maxAttempt=" << maxAttempt << " validSec=" << validSec); +} + int main(int argc, char *argv[]) { SummaryCollector::Register();