Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions Implementation/UnitTest/amc_unittests_accesscontrol.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,18 +70,18 @@ namespace AMCUnitTest {

void testAddPermission() {
AMC::CAccessControl control;
auto perm = control.addPermission("perm.read", makeString("Read"), makeString("Can read"));
auto found = control.findPermission("perm.read", true);
assertTrue(found->getIdentifier() == "perm.read");
auto perm = control.addPermission("perm_read", makeString("Read"), makeString("Can read"));
auto found = control.findPermission("perm_read", true);
assertTrue(found->getIdentifier() == "perm_read");
}

void testAddDuplicatePermissionFails() {
AMC::CAccessControl control;
control.addPermission("perm.read", makeString("Read"), makeString("Can read"));
control.addPermission("perm_read", makeString("Read"), makeString("Can read"));

bool thrown = false;
try {
control.addPermission("perm.read", makeString("Read Again"), makeString("Should fail"));
control.addPermission("perm_read", makeString("Read Again"), makeString("Should fail"));
} catch (...) {
thrown = true;
}
Expand Down Expand Up @@ -125,11 +125,11 @@ namespace AMCUnitTest {

void testCheckPermissionInRole() {
AMC::CAccessControl control;
auto perm = control.addPermission("perm.test", makeString("Test"), makeString(""));
auto perm = control.addPermission("perm_test", makeString("Test"), makeString(""));
auto role = control.addRole("tester", makeString("Tester"), makeString(""));

role->addPermission(perm);
bool hasPerm = control.checkPermissionInRole("tester", "perm.test");
bool hasPerm = control.checkPermissionInRole("tester", "perm_test");
assertTrue(hasPerm);
}

Expand Down Expand Up @@ -158,10 +158,10 @@ namespace AMCUnitTest {
void testEmptyIdentifierThrows() {
AMC::CAccessControl control;
control.addRole("viewer", makeString("Viewer"), makeString(""));
control.addPermission("perm.view", makeString("View"), makeString(""));
control.addPermission("perm_view", makeString("View"), makeString(""));
bool thrown = false;
try {
control.checkPermissionInRole("", "perm.view");
control.checkPermissionInRole("", "perm_view");
} catch (...) {
thrown = true;
}
Expand Down
21 changes: 11 additions & 10 deletions Implementation/UnitTest/amc_unittests_signalslot.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#include <thread>
#include <sstream>
#include <iomanip>
#include <atomic>
#include <vector>
#include <list>
Expand Down Expand Up @@ -128,20 +129,20 @@ class CUnitTestGroup_SignalSlot : public CUnitTestGroup {

void test_QueueOverflow() {
AMC::CStateSignalSlot slot("instance", "signal", {}, {}, 1000, 1);
assertTrue(slot.addNewInQueueSignalInternal("uuid1", "{}", 500));
assertFalse(slot.addNewInQueueSignalInternal("uuid2", "{}", 500)); // queue full
assertTrue(slot.addNewInQueueSignalInternal("00000001-0000-0000-0000-000000000001", "{}", 500));
assertFalse(slot.addNewInQueueSignalInternal("00000002-0000-0000-0000-000000000002", "{}", 500)); // queue full
}

void test_PeekQueue() {
AMC::CStateSignalSlot slot("instance", "signal", {}, {}, 1000, 3);
slot.addNewInQueueSignalInternal("uuid-a", "{\"a\":1}", 400);
slot.addNewInQueueSignalInternal("uuid-b", "{\"b\":2}", 400);
assertTrue(slot.peekMessageFromQueueInternal() == AMCCommon::CUtils::normalizeUUIDString("uuid-a"));
slot.addNewInQueueSignalInternal("aaaaaaaa-0000-0000-0000-000000000001", "{\"a\":1}", 400);
slot.addNewInQueueSignalInternal("bbbbbbbb-0000-0000-0000-000000000002", "{\"b\":2}", 400);
assertTrue(slot.peekMessageFromQueueInternal() == AMCCommon::CUtils::normalizeUUIDString("aaaaaaaa-0000-0000-0000-000000000001"));
}

void test_ParameterResultAccess() {
AMC::CStateSignalSlot slot("instance", "signal", {}, {}, 1000, 2);
std::string uuid = "testuuid";
std::string uuid = "e5e57000-0000-0000-0000-000000000001";
slot.addNewInQueueSignalInternal(uuid, "{\"param\":\"abc\"}", 1000);
assertTrue(slot.getParameterDataJSONInternal(uuid) == "{\"param\":\"abc\"}");
slot.changeSignalPhaseToHandledInternal(uuid, "{\"result\":123}");
Expand All @@ -150,8 +151,8 @@ class CUnitTestGroup_SignalSlot : public CUnitTestGroup {

void test_ClearQueueWorks() {
AMC::CStateSignalSlot slot("instance", "signal", {}, {}, 1000, 2);
slot.addNewInQueueSignalInternal("one", "{}", 500);
slot.addNewInQueueSignalInternal("two", "{}", 500);
slot.addNewInQueueSignalInternal("11110001-0000-0000-0000-000000000001", "{}", 500);
slot.addNewInQueueSignalInternal("22220002-0000-0000-0000-000000000002", "{}", 500);

std::vector<std::string> clearedUUIDs;
slot.clearQueueInternal(clearedUUIDs);
Expand All @@ -168,8 +169,8 @@ class CUnitTestGroup_SignalSlot : public CUnitTestGroup {

for (int i = 0; i < total; ++i) {
std::stringstream ss;
ss << "overflow-" << i;
std::string uuid = AMCCommon::CUtils::normalizeUUIDString(ss.str());
ss << "f10" << std::setfill('0') << std::setw(5) << i << "-0000-0000-0000-000000000000";
std::string uuid = ss.str();

bool ok = slot.addNewInQueueSignalInternal(uuid, "{}", 50);
if (ok) accepted.push_back(uuid);
Expand Down
Loading