From: Zofia Abramowska Date: Mon, 4 Jul 2016 14:35:00 +0000 (+0200) Subject: Cynara : Add agent cancel waiting test X-Git-Tag: security-manager_5.5_testing~7^4~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F27%2F102427%2F1;p=platform%2Fcore%2Ftest%2Fsecurity-tests.git Cynara : Add agent cancel waiting test Change-Id: I4382fa53f1631062cf6e3cdae9f6a69c0ef9b704 --- diff --git a/src/cynara-tests/common/cynara_test_agent.cpp b/src/cynara-tests/common/cynara_test_agent.cpp index e2f408d..48a386c 100644 --- a/src/cynara-tests/common/cynara_test_agent.cpp +++ b/src/cynara-tests/common/cynara_test_agent.cpp @@ -75,4 +75,11 @@ void Agent::putResponse(const AgentResponse &response, int expectedResult) << "response = " << response); } +void Agent::cancelWaiting(int expectedResult) { + int ret = cynara_agent_cancel_waiting(m_agent); + RUNNER_ASSERT_MSG(ret == expectedResult, + "cynara_agent_cancel_waiting returned wrong value: " + << ret << " != " << expectedResult << "."); +} + } // namespace CynaraTestAgent diff --git a/src/cynara-tests/common/cynara_test_agent.h b/src/cynara-tests/common/cynara_test_agent.h index f224fa1..ae667a9 100644 --- a/src/cynara-tests/common/cynara_test_agent.h +++ b/src/cynara-tests/common/cynara_test_agent.h @@ -32,6 +32,7 @@ public: void getRequest(AgentRequest &request, int expectedResult = CYNARA_API_SUCCESS); void putResponse(const AgentResponse &response, int expectedResult = CYNARA_API_SUCCESS); + void cancelWaiting(int expectedResult = CYNARA_API_SUCCESS); private: struct cynara_agent *m_agent; diff --git a/src/cynara-tests/test_cases_agent.cpp b/src/cynara-tests/test_cases_agent.cpp index 6d90e67..dc3a675 100644 --- a/src/cynara-tests/test_cases_agent.cpp +++ b/src/cynara-tests/test_cases_agent.cpp @@ -460,6 +460,23 @@ void tcag15_agent_disconnects_func() client.process(CYNARA_API_SUCCESS, Client::TimeoutExpectation::EXPECT_NO_TIMEOUT, 2); } +void tcag16_agent_cancel_waiting_func() +{ + Agent agent; + AgentRequest request; + + auto testTimeLimit = std::chrono::seconds(2); + auto cancelRequest = [&agent]() { + agent.cancelWaiting(); + }; + auto hangOnGetRequest = [&agent, &request]() { + agent.getRequest(request, CYNARA_API_INTERRUPTED); + }; + + Timeout::callAndWait(testTimeLimit, Timeout::ExpectMode::TIMEOUT, + cancelRequest, hangOnGetRequest); +} + RUNNER_TEST_GROUP_INIT(cynara_agent_tests) RUN_CYNARA_TEST(tcag01_set_agent_type_policy_without_plugin) @@ -477,3 +494,4 @@ RUN_CYNARA_TEST(tcag12_create_two_requests) RUN_CYNARA_TEST(tcag13_create_many_requests) RUN_CYNARA_TEST(tcag14_client_disconnects) RUN_CYNARA_TEST(tcag15_agent_disconnects) +RUN_CYNARA_TEST(tcag16_agent_cancel_waiting)