#include "test_hlp.hpp"
-const int action_items = 40;
+const int action_items = 44;
TEST(subsession_add_remove_test, FailAtAddRemoveUser) {
using ud_t = ud_data_t<std::array<api_call_res_t, action_items>>;
.cb_expected = SUBSESSION_ERROR_NONE,
.cb_desc = "Check if remove " + std::string(TestUserStr::user_5) + " callback is successful", },
+ // Trying to add a subsession with a name matching a fixed-size session's image backing file
+ api_call_res_t{ .call_result = std::move(subsession_add_user_fixed_size_l<subsession_5001>(TestUserStr::user_7, 25*1024)),
+ .expected = SUBSESSION_ERROR_NONE,
+ .desc = "Check if add " + std::string(TestUserStr::user_7) + " is successful (fixed-size backend)",
+ .cb_expected = SUBSESSION_ERROR_NONE,
+ .cb_desc = "Check if add " + std::string(TestUserStr::user_7) + " callback is successful", },
+
+ api_call_res_t{ .call_result = std::move(subsession_add_user_fixed_size_l<subsession_5001>(TestUserStr::user_7_img, 25*1024)),
+ .expected = SUBSESSION_ERROR_INVALID_PARAMETER,
+ .desc = "Check if add " + std::string(TestUserStr::user_7_img) + " (fixed-size backend) returns ERROR_INVALID_PARAMETER",
+ .cb_expected = SUBSESSION_ERROR_INVALID_PARAMETER,
+ .cb_desc = "Check if add " + std::string(TestUserStr::user_7_img) + " (fixed-size backend) callback returns error", },
+
+ api_call_res_t{ .call_result = std::move(subsession_add_user_l<subsession_5001>(TestUserStr::user_7_img)),
+ .expected = SUBSESSION_ERROR_INVALID_PARAMETER,
+ .desc = "Check if add " + std::string(TestUserStr::user_7_img) + " (regular-dir backend) returns ERROR_INVALID_PARAMETER",
+ .cb_expected = SUBSESSION_ERROR_INVALID_PARAMETER,
+ .cb_desc = "Check if add " + std::string(TestUserStr::user_7_img) + " (regular-dir backend) callback returns error", },
+
+ api_call_res_t{ .call_result = std::move(subsession_remove_user_l<subsession_5001>(TestUserStr::user_7)),
+ .expected = SUBSESSION_ERROR_NONE,
+ .desc = "Check if remove " + std::string(TestUserStr::user_7) + " is successful",
+ .cb_expected = SUBSESSION_ERROR_NONE,
+ .cb_desc = "Check if remove " + std::string(TestUserStr::user_7) + " callback is successful", },
+
// Trying to add fixed-size subsession with insufficient size for overhead
api_call_res_t{ .call_result = std::move(subsession_add_user_fixed_size_l<subsession_5001>( TestUserStr::user_6, 0)),