Apply defer macros to callbacks in cynara async client
[platform/core/test/security-tests.git] / src / cynara-tests / common / cynara_test_client_async_client.cpp
index 3201f97..ac4e9de 100644 (file)
@@ -52,8 +52,10 @@ CheckKey CheckData::toAdminPolicy()
 Client::Client(const StatusFunction &userFunction)
     : m_cynara(nullptr), m_statusMonitor(userFunction)
 {
-    int ret = cynara_async_initialize(&m_cynara, nullptr, StatusMonitor::updateStatus,
-                                      reinterpret_cast<void*>(&m_statusMonitor));
+    int ret;
+    RUNNER_DEFER_SCOPE(ret = cynara_async_initialize(&m_cynara, nullptr,
+                                                     StatusMonitor::updateStatus,
+                                                     reinterpret_cast<void*>(&m_statusMonitor)););
     RUNNER_ASSERT_MSG(ret == CYNARA_API_SUCCESS,
                          "cynara_async_initialize() failed. ret = " << ret << ".");
     RUNNER_ASSERT_MSG(m_cynara != nullptr, "cynara_async struct was not initialized.");
@@ -65,7 +67,7 @@ Client::~Client() noexcept(false)
 {
     bool oops = std::uncaught_exception();
     try {
-        cynara_async_finish(m_cynara);
+        RUNNER_DEFER_SCOPE(cynara_async_finish(m_cynara););
         assertStatus(DISCONNECTED);
     } catch (...) {
         if (!oops)
@@ -85,9 +87,11 @@ void Client::assertStatus(enum SocketStatus expectedStatus)
 
 void Client::checkCache(const CheckData &checkData, int expectedResult)
 {
-    int ret = cynara_async_check_cache(m_cynara, checkData.m_client.c_str(),
-                                       checkData.m_session.c_str(), checkData.m_user.c_str(),
-                                       checkData.m_privilege.c_str());
+    int ret;
+    RUNNER_DEFER_SCOPE(ret = cynara_async_check_cache(m_cynara, checkData.m_client.c_str(),
+                                                      checkData.m_session.c_str(),
+                                                      checkData.m_user.c_str(),
+                                                      checkData.m_privilege.c_str()););
     RUNNER_ASSERT_MSG(ret == expectedResult,
                          "Cache check returned unexpected value: "
                              << " returned value = " << ret << ","
@@ -101,11 +105,14 @@ void Client::checkCache(const CheckData &checkData, int expectedResult)
 void Client::createRequest(const CheckData &checkData, cynara_check_id &id,
                            const RequestEntity &callbackData, int expectedResult)
 {
-    int ret = cynara_async_create_request(m_cynara, checkData.m_client.c_str(),
-                                          checkData.m_session.c_str(), checkData.m_user.c_str(),
-                                          checkData.m_privilege.c_str(), &id,
-                                          RequestMonitor::updateResponse,
-                                          reinterpret_cast<void*>(&m_requestMonitor));
+    int ret;
+    RUNNER_DEFER_SCOPE(ret = cynara_async_create_request(m_cynara, checkData.m_client.c_str(),
+                                                         checkData.m_session.c_str(),
+                                                         checkData.m_user.c_str(),
+                                                         checkData.m_privilege.c_str(), &id,
+                                                         RequestMonitor::updateResponse,
+                                                         reinterpret_cast<void*>(
+                                                             &m_requestMonitor)););
     if (ret == CYNARA_API_SUCCESS)
         m_requestMonitor.registerRequest(id, callbackData);
 
@@ -152,7 +159,7 @@ void Client::process(int expectedResult,
                                "Select returned positive value, when timeout was expected."
                                << " ret = " << ret);
 
-    ret = cynara_async_process(m_cynara);
+    RUNNER_DEFER_SCOPE(ret = cynara_async_process(m_cynara););
     RUNNER_ASSERT_MSG(ret == expectedResult,
                          "cynara_async_process returned unexpected value: "
                              << " returned value = " << ret << ","
@@ -161,7 +168,8 @@ void Client::process(int expectedResult,
 
 void Client::cancel(cynara_check_id id, int expectedResult)
 {
-    int ret = cynara_async_cancel_request(m_cynara, id);
+    int ret;
+    RUNNER_DEFER_SCOPE(ret = cynara_async_cancel_request(m_cynara, id););
     RUNNER_ASSERT_MSG(ret == expectedResult,
                          "Cancel request returned unexpected value: "
                              << " returned value = " << ret << ","