3 use PHPUnit\Framework\TestCase;
10 protected static $env;
11 protected static $group;
14 $admLibrary=
"/var/www/html/admcom/library";
15 require_once(
"$admLibrary/aGroupSupport.i");
17 $sharedLibrary=
"/var/www/html/shared/library";
18 require_once(
"$sharedLibrary/hcuEnv.i");
19 require_once(
"$sharedLibrary/hcuCommon.i");
20 require_once(
"$sharedLibrary/db.postgres.i");
22 self::$env = LoadSystemEnv(
"admin");
23 self::$env[
'Cu'] =
"scrubcu";
29 "g_profile" =>
"Member",
34 "p_payload" =>
"UNfNneDSFqRUEt7YSJGHF9NH%2FWbsaE1V5NshWV6lNbttBHkK1MVV2eSvcnrG31gJ5gIwpzMf32evctR%2F%2FZbevGG2epTfxvc%2FgJwP2l22FXQAvAjf2%2FksiMBdmCwPgwRi9qEX2rpz%2Fh0oWqpQ%2FZvywTA9hBvunx2OAyu9XS4nNgDCgNBCtT6CkWpaW6uxX417VEtU7GPjfszDMxZTvrS1UNmAA5OVX6YUDYKZ6rzTmYF0VNecbgZ0mJuEPmjjyjA6hFmdRKfRWgyaTRGrSS6vIINcC%2FxscwOFpWLmxGT8UjF8KnwqfCp8aUKVlQwGZhQ7l4J8NG7sRH8osfw%3D" 41 function test_GroupContext() {
43 $context = GroupContext(self::$env, self::$env[
'Cu']);
44 $this->assertArrayHasKey(
"cu_table", $context);
45 $this->assertArrayHasKey(
"cu_code", $context);
46 $this->assertArrayHasKey(
"p_id", $context);
47 $this->assertArrayHasKey(
"g_id", $context);
48 $this->assertEquals($context[
'cu_table'],
"scrubcu");
49 $this->assertEquals($context[
'cu_code'],
"SCRUBCU");
50 $this->assertEquals($context[
'p_id'],
null);
51 $this->assertEquals($context[
'g_id'],
null);
54 $context = GroupContext(self::$env, self::$env[
'Cu'], self::$group[
'group']);
55 $this->assertArrayHasKey(
"cu_table", $context);
56 $this->assertArrayHasKey(
"cu_code", $context);
57 $this->assertArrayHasKey(
"p_id", $context);
58 $this->assertArrayHasKey(
"g_id", $context);
59 $this->assertArrayNotHasKey(
"g_name", $context);
60 $this->assertEquals($context[
'cu_table'],
"scrubcu");
61 $this->assertEquals($context[
'cu_code'],
"SCRUBCU");
62 $this->assertEquals($context[
'p_id'], 5);
63 $this->assertEquals($context[
'g_id'], 11);
64 $this->assertNotEquals($context[
'p_id'],
null);
65 $this->assertNotEquals($context[
'g_id'],
null);
68 function test_GroupValidate() {
70 $validate = GroupValidate(self::$env, self::$group[
'group']);
71 $this->assertNotEmpty($validate);
72 $this->assertArrayHasKey(
"g_name", $validate);
73 $this->assertNotNull($validate[
'g_name']);
74 $this->assertEquals($validate[
'g_name'],
"1314");
75 $this->assertLessThanOrEqual($validate[
'g_name'], 50);
78 $validateGroup = HCU_JsonEncode(self::$group[
'group']);
79 $validate = GroupValidate(self::$env, $validateGroup);
80 $this->assertEmpty($validate);
83 $validateGroup = HCU_JsonEncode(self::$group[
'group']);
84 $validate = GroupValidate(self::$env, $validateGroup,
true);
85 $this->assertNotEmpty($validate);
86 $this->assertArrayHasKey(
"g_name", $validate);
87 $this->assertNotNull($validate[
'g_name']);
88 $this->assertEquals($validate[
'g_name'],
"1314");
89 $this->assertLessThanOrEqual($validate[
'g_name'], 50);
92 function test_GroupEncryptNonJson() {
94 $encrypt = GroupEncrypt(self::$env, self::$env[
'Cu'], self::$group);
95 $this->assertNotInternalType(
"array", $encrypt);
96 $this->assertInternalType(
"string", $encrypt);
98 $decrypt = GroupDecrypt(self::$env, self::$env[
'Cu'], $encrypt);
99 $this->assertNotInternalType(
"string", $decrypt);
100 $this->assertInternalType(
"array", $decrypt);
103 $this->assertArrayHasKey(
"group", $decrypt);
104 $this->assertInternalType(
"array", $decrypt[
'group']);
105 $this->assertNotEmpty($decrypt[
'group']);
107 $this->assertArrayHasKey(
"g_id", $decrypt[
'group']);
108 $this->assertNotNull($decrypt[
'group'][
'g_id']);
109 $this->assertEquals($decrypt[
'group'][
'g_id'], 11);
111 $this->assertArrayHasKey(
"g_name", $decrypt[
'group']);
112 $this->assertNotNull($decrypt[
'group'][
'g_name']);
113 $this->assertEquals($decrypt[
'group'][
'g_name'],
"1314");
115 $this->assertArrayHasKey(
"g_profile", $decrypt[
'group']);
116 $this->assertNotNull($decrypt[
'group'][
'g_profile']);
117 $this->assertEquals($decrypt[
'group'][
'g_profile'],
"Member");
119 $this->assertArrayHasKey(
"g_count", $decrypt[
'group']);
120 $this->assertNotNull($decrypt[
'group'][
'g_count']);
121 $this->assertEquals($decrypt[
'group'][
'g_count'], 1);
123 $this->assertArrayHasKey(
"p_id", $decrypt[
'group']);
124 $this->assertNotNull($decrypt[
'group'][
'p_id']);
125 $this->assertEquals($decrypt[
'group'][
'p_id'], 5);
127 $this->assertArrayHasKey(
"g_primary", $decrypt[
'group']);
128 $this->assertInternalType(
"array", $decrypt[
'group'][
'g_primary']);
129 $this->assertNotEmpty($decrypt[
'group'][
'g_primary']);
130 $this->assertCount(1, $decrypt[
'group'][
'g_primary']);
132 $this->assertArrayHasKey(
"p_name", $decrypt[
'group'][
'g_primary'][0]);
133 $this->assertNotNull($decrypt[
'group'][
'g_primary'][0][
'p_name']);
134 $this->assertEquals($decrypt[
'group'][
'g_primary'][0][
'p_name'],
"Bonso");
136 $this->assertArrayHasKey(
"p_payload", $decrypt[
'group'][
'g_primary'][0]);
137 $this->assertNotNull($decrypt[
'group'][
'g_primary'][0][
'p_payload']);
139 $decrypt[
'group'][
'g_primary'][0][
'p_payload'],
140 self::$group[
'group'][
'g_primary'][0][
'p_payload']
144 function test_GroupEncryptJson() {
146 $encryptGroup = HCU_JsonEncode(self::$group);
147 $encrypt = GroupEncrypt(self::$env, self::$env[
'Cu'], $encryptGroup,
true);
148 $this->assertNotInternalType(
"array", $encrypt);
149 $this->assertInternalType(
"string", $encrypt);
151 $decrypt = GroupDecrypt(self::$env, self::$env[
'Cu'], $encrypt);
152 $this->assertNotInternalType(
"string", $decrypt);
153 $this->assertInternalType(
"array", $decrypt);
156 $this->assertArrayHasKey(
"group", $decrypt);
157 $this->assertInternalType(
"array", $decrypt[
'group']);
158 $this->assertNotEmpty($decrypt[
'group']);
160 $this->assertArrayHasKey(
"g_id", $decrypt[
'group']);
161 $this->assertNotNull($decrypt[
'group'][
'g_id']);
162 $this->assertEquals($decrypt[
'group'][
'g_id'], 11);
164 $this->assertArrayHasKey(
"g_name", $decrypt[
'group']);
165 $this->assertNotNull($decrypt[
'group'][
'g_name']);
166 $this->assertEquals($decrypt[
'group'][
'g_name'],
"1314");
168 $this->assertArrayHasKey(
"g_profile", $decrypt[
'group']);
169 $this->assertNotNull($decrypt[
'group'][
'g_profile']);
170 $this->assertEquals($decrypt[
'group'][
'g_profile'],
"Member");
172 $this->assertArrayHasKey(
"g_count", $decrypt[
'group']);
173 $this->assertNotNull($decrypt[
'group'][
'g_count']);
174 $this->assertEquals($decrypt[
'group'][
'g_count'], 1);
176 $this->assertArrayHasKey(
"p_id", $decrypt[
'group']);
177 $this->assertNotNull($decrypt[
'group'][
'p_id']);
178 $this->assertEquals($decrypt[
'group'][
'p_id'], 5);
180 $this->assertArrayHasKey(
"g_primary", $decrypt[
'group']);
181 $this->assertInternalType(
"array", $decrypt[
'group'][
'g_primary']);
182 $this->assertNotEmpty($decrypt[
'group'][
'g_primary']);
183 $this->assertCount(1, $decrypt[
'group'][
'g_primary']);
185 $this->assertArrayHasKey(
"p_name", $decrypt[
'group'][
'g_primary'][0]);
186 $this->assertNotNull($decrypt[
'group'][
'g_primary'][0][
'p_name']);
187 $this->assertEquals($decrypt[
'group'][
'g_primary'][0][
'p_name'],
"Bonso");
189 $this->assertArrayHasKey(
"p_payload", $decrypt[
'group'][
'g_primary'][0]);
190 $this->assertNotNull($decrypt[
'group'][
'g_primary'][0][
'p_payload']);
192 $decrypt[
'group'][
'g_primary'][0][
'p_payload'],
193 self::$group[
'group'][
'g_primary'][0][
'p_payload']