#include "ta_sa.h"
#include "ta_test_helpers.h"
#include "gtest/gtest.h"
using namespace ta_test_helpers;
namespace {
TEST(TaSaInit, nominalNoAvailableResourceSlot) {
std::vector<std::shared_ptr<ta_client>> clients;
size_t i = 0;
sa_status status;
do {
std::shared_ptr<ta_client> const client(new ta_client,
[](const ta_client* p) {
if (p != nullptr) {
if (*p != INVALID_HANDLE) {
ta_sa_close(*p, ta_uuid());
}
delete p;
}
});
status = ta_sa_init(client.get(), ta_uuid());
ASSERT_LE(i++, MAX_CLIENT_SLOTS);
clients.push_back(client);
} while (status == SA_STATUS_OK);
ASSERT_EQ(status, SA_STATUS_NO_AVAILABLE_RESOURCE_SLOT);
}
}