#include "test_hlp.hpp"
-const int action_items = 20;
-
-TEST(subsession_add_remove_user_test, APIAddRemoveUserTest) {
+TEST(subsession_add_remove_user_test, BasicRegularDir) {
+ const int action_items = 2;
using ud_t = ud_data_t<std::array<api_call_res_t, action_items>>;
ud_t ud_data = { .loop = g_main_loop_new(NULL, FALSE),
.desc = "Check if remove " + std::string(TestUserStr::user_1) + " is successful (regular dir backend)",
.cb_expected = SUBSESSION_ERROR_NONE,
.cb_desc = "Check if remove " + std::string(TestUserStr::user_1) + " callback is successful (regular dir backend)", },
+ }
+ };
+
+ loop_run_for_test(callback_pending<ud_t, api_call_res_t>, &ud_data, ud_data.loop);
+ summarize<action_items>(ud_data.results);
+}
+
+TEST(subsession_add_remove_user_test, BasicRegularDirLongName) {
+ const int action_items = 2;
+ using ud_t = ud_data_t<std::array<api_call_res_t, action_items>>;
+
+ ud_t ud_data = { .loop = g_main_loop_new(NULL, FALSE),
+ .results = std::array<api_call_res_t, action_items> {
api_call_res_t{ .call_result = std::move(subsession_add_user_l<subsession_5001>( TestUserStr::user_19)),
.expected = SUBSESSION_ERROR_NONE,
.desc = "Check if remove " + std::string(TestUserStr::user_19) + " is successful (regular dir backend)",
.cb_expected = SUBSESSION_ERROR_NONE,
.cb_desc = "Check if remove " + std::string(TestUserStr::user_19) + " callback is successful (regular dir backend)", },
+ }
+ };
+
+ loop_run_for_test(callback_pending<ud_t, api_call_res_t>, &ud_data, ud_data.loop);
+ summarize<action_items>(ud_data.results);
+}
- // Fixed-size backend
+TEST(subsession_add_remove_user_test, BasicFixedSize) {
+ const int action_items = 2;
+ using ud_t = ud_data_t<std::array<api_call_res_t, action_items>>;
+
+ ud_t ud_data = { .loop = g_main_loop_new(NULL, FALSE),
+ .results = std::array<api_call_res_t, action_items> {
api_call_res_t{ .call_result = std::move(subsession_add_user_fixed_size_l<subsession_5001>( TestUserStr::user_2, 10*1024)),
.expected = SUBSESSION_ERROR_NONE,
.desc = "Check if add " + std::string(TestUserStr::user_2) + " is successful (fixed-size backend, 10 MB)",
.desc = "Check if remove " + std::string(TestUserStr::user_2) + " is successful (fixed-size backend)",
.cb_expected = SUBSESSION_ERROR_NONE,
.cb_desc = "Check if remove " + std::string(TestUserStr::user_2) + " callback is successful (fixed-size backend)", },
+ }
+ };
+
+ loop_run_for_test(callback_pending<ud_t, api_call_res_t>, &ud_data, ud_data.loop);
+ summarize<action_items>(ud_data.results);
+}
+
+
+TEST(subsession_add_remove_user_test, ReuseNameFixedSizeSameSize) {
+
+ const int action_items = 6;
+ using ud_t = ud_data_t<std::array<api_call_res_t, action_items>>;
+
+ ud_t ud_data = { .loop = g_main_loop_new(NULL, FALSE),
+ .results = std::array<api_call_res_t, action_items> {
api_call_res_t{ .call_result = std::move(subsession_add_user_fixed_size_l<subsession_5001>( TestUserStr::user_3, 25*1024)),
.expected = SUBSESSION_ERROR_NONE,
.desc = "Check if remove " + std::string(TestUserStr::user_3) + " is successful",
.cb_expected = SUBSESSION_ERROR_NONE,
.cb_desc = "Check if remove " + std::string(TestUserStr::user_3) + " callback is successful", },
+ }
+ };
+
+ loop_run_for_test(callback_pending<ud_t, api_call_res_t>, &ud_data, ud_data.loop);
+ summarize<action_items>(ud_data.results);
+}
+
- // Both backends reusing the same name alternatingly
+TEST(subsession_add_remove_user_test, ReuseNameAlternatingBackends) {
+
+ const int action_items = 8;
+ using ud_t = ud_data_t<std::array<api_call_res_t, action_items>>;
+
+ ud_t ud_data = { .loop = g_main_loop_new(NULL, FALSE),
+ .results = std::array<api_call_res_t, action_items> {
api_call_res_t{ .call_result = std::move(subsession_add_user_fixed_size_l<subsession_5001>( TestUserStr::user_5, 10*1024)),
.expected = SUBSESSION_ERROR_NONE,