client.assertStatus(READ);
}
+void tca10_double_request_func()
+{
+ std::string testNo("10");
+ cynara_check_id id, id2;
+ Client client;
+
+ RequestEntity callbackData2 = {RequestFunction(),
+ CYNARA_API_ACCESS_DENIED,
+ CYNARA_CALL_CAUSE_ANSWER};
+
+ RequestEntity callbackData = {[&](){client.createRequest({testNo}, id2, callbackData2);},
+ CYNARA_API_ACCESS_DENIED,
+ CYNARA_CALL_CAUSE_ANSWER};
+
+
+ client.createRequest({testNo}, id, callbackData);
+ client.assertStatus(READWRITE);
+
+ client.process();
+ client.process();
+ client.process(CYNARA_API_SUCCESS, Client::IGNORE_TIMEOUT);
+ client.process(CYNARA_API_SUCCESS, Client::IGNORE_TIMEOUT);
+}
+
+void tca11_double_request_with_restart_func()
+{
+ std::string testNo("11");
+ cynara_check_id id, id2;
+ Client client;
+
+ RequestEntity callbackData2 = {RequestFunction(),
+ CYNARA_API_ACCESS_DENIED,
+ CYNARA_CALL_CAUSE_ANSWER};
+
+ RequestEntity callbackData = {[&](){
+ DBusAccess dbusAccess(CynaraTestConsts::SERVICE.c_str());
+ dbusAccess.restartService();
+ client.createRequest({testNo}, id2, callbackData2);
+ },
+ CYNARA_API_ACCESS_DENIED,
+ CYNARA_CALL_CAUSE_ANSWER};
+
+
+ client.createRequest({testNo}, id, callbackData);
+ client.assertStatus(READWRITE);
+
+ client.process();
+ client.process();
+ client.process(CYNARA_API_SUCCESS, Client::IGNORE_TIMEOUT);
+ client.process(CYNARA_API_SUCCESS, Client::IGNORE_TIMEOUT);
+}
+
RUNNER_TEST_GROUP_INIT(cynara_async_tests)
RUN_CYNARA_TEST(tca01_initialize)
RUN_CYNARA_TEST(tca08_disconnect3)
RUN_CYNARA_TEST(tca09_disconnect_and_cancel1)
RUN_CYNARA_TEST(tca09_disconnect_and_cancel2)
+RUN_CYNARA_TEST(tca10_double_request)
+RUN_CYNARA_TEST(tca11_double_request_with_restart)