Skip to content

Commit b3281e5

Browse files
authored
Unittest fixes (#45)
* Signalslot unittest: Use valid UUIDs to make tests pass * AccessControl unittests: fix invalid permission identifiers, e.g perm_read, not perm.read
1 parent 4946111 commit b3281e5

File tree

2 files changed

+20
-19
lines changed

2 files changed

+20
-19
lines changed

Implementation/UnitTest/amc_unittests_accesscontrol.hpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,18 +70,18 @@ namespace AMCUnitTest {
7070

7171
void testAddPermission() {
7272
AMC::CAccessControl control;
73-
auto perm = control.addPermission("perm.read", makeString("Read"), makeString("Can read"));
74-
auto found = control.findPermission("perm.read", true);
75-
assertTrue(found->getIdentifier() == "perm.read");
73+
auto perm = control.addPermission("perm_read", makeString("Read"), makeString("Can read"));
74+
auto found = control.findPermission("perm_read", true);
75+
assertTrue(found->getIdentifier() == "perm_read");
7676
}
7777

7878
void testAddDuplicatePermissionFails() {
7979
AMC::CAccessControl control;
80-
control.addPermission("perm.read", makeString("Read"), makeString("Can read"));
80+
control.addPermission("perm_read", makeString("Read"), makeString("Can read"));
8181

8282
bool thrown = false;
8383
try {
84-
control.addPermission("perm.read", makeString("Read Again"), makeString("Should fail"));
84+
control.addPermission("perm_read", makeString("Read Again"), makeString("Should fail"));
8585
} catch (...) {
8686
thrown = true;
8787
}
@@ -125,11 +125,11 @@ namespace AMCUnitTest {
125125

126126
void testCheckPermissionInRole() {
127127
AMC::CAccessControl control;
128-
auto perm = control.addPermission("perm.test", makeString("Test"), makeString(""));
128+
auto perm = control.addPermission("perm_test", makeString("Test"), makeString(""));
129129
auto role = control.addRole("tester", makeString("Tester"), makeString(""));
130130

131131
role->addPermission(perm);
132-
bool hasPerm = control.checkPermissionInRole("tester", "perm.test");
132+
bool hasPerm = control.checkPermissionInRole("tester", "perm_test");
133133
assertTrue(hasPerm);
134134
}
135135

@@ -158,10 +158,10 @@ namespace AMCUnitTest {
158158
void testEmptyIdentifierThrows() {
159159
AMC::CAccessControl control;
160160
control.addRole("viewer", makeString("Viewer"), makeString(""));
161-
control.addPermission("perm.view", makeString("View"), makeString(""));
161+
control.addPermission("perm_view", makeString("View"), makeString(""));
162162
bool thrown = false;
163163
try {
164-
control.checkPermissionInRole("", "perm.view");
164+
control.checkPermissionInRole("", "perm_view");
165165
} catch (...) {
166166
thrown = true;
167167
}

Implementation/UnitTest/amc_unittests_signalslot.hpp

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3939

4040
#include <thread>
4141
#include <sstream>
42+
#include <iomanip>
4243
#include <atomic>
4344
#include <vector>
4445
#include <list>
@@ -128,20 +129,20 @@ class CUnitTestGroup_SignalSlot : public CUnitTestGroup {
128129

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

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

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

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

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

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

174175
bool ok = slot.addNewInQueueSignalInternal(uuid, "{}", 50);
175176
if (ok) accepted.push_back(uuid);

0 commit comments

Comments
 (0)