ILIAS  trunk Revision v12.0_alpha-1221-g4e438232683
ilMailAddressTypesTest Class Reference
+ Inheritance diagram for ilMailAddressTypesTest:
+ Collaboration diagram for ilMailAddressTypesTest:

Public Member Functions

 testFactoryWillReturnListAddressTypeForListName ()
 
 testFactoryWillReturnGroupAddressTypeForGroupName ()
 
 testFactoryWillReturnLoginOrEmailAddressAddressType ()
 
 testFactoryWillReturnRoleAddressType ()
 
 testAdminGroupNameIsAValidMailAddressTypes ()
 
 testMemberGroupNameIsAValidMailAddressType ()
 
 testAdminCourseNameIsAValidMailAddressType ()
 
 testMemberCourseNameIsAValidMailAddressType ()
 
 testUserIdCanBeResolvedFromLoginAddress ()
 
 testNoUserIdCanBeResolvedFromUnknownLoginAddress ()
 
 testNoUserIdCanBeResolvedFromEmailAddress ()
 
 testAddressCanBeValidatedFromLoginOrEmailAddressType ()
 
 testUserIdsCanBeResolvedFromGroupNameAddress ()
 
 testUserIdsCannotBeResolvedFromNonExistingGroupNameAddress ()
 
 testValidationFailsForNonExistingGroupNameAddress ()
 
 testValidationSucceedsForExistingGroupName ()
 
 testUserIdsCanBeResolvedFromMailingListAddress ()
 
 testMailingListAddressCanBeValidated ()
 
 testUserIdsCanBeResolvedFromRoleAddress ()
 
 testNoUserIdsCanBeResolvedFromInvalidRoleAddress ()
 
 testNoUserIdsCanBeResolvedFromRoleAddressWithoutAnyUsersBeingAssinged ()
 
 testValidationForAnonymousUserAsSystemActorSucceedsAlwaysForGlobalRoleAddresses ()
 
 testPermissionsAreCheckedForRegularUsersWhenValidatingGlobalRoleAddresses ()
 
 testCacheOnlyResolvesAndValidatesRecipientsOnceIfCachingIsEnabled ()
 
 testCacheResolvesAndValidatesRecipientsOnEveryCallIfCachingIsDisabled ()
 

Protected Member Functions

 setUp ()
 
- Protected Member Functions inherited from ilMailBaseTestCase
 brutallyTrimHTML (string $html)
 
 setUp ()
 
 tearDown ()
 
 setGlobalVariable (string $name, $value)
 

Private Member Functions

 createGroupNameAsValidatorMock ()
 
 getAddressTypeFactory (ilGroupNameAsMailValidator $group_name_validator)
 
 getWrappedAddressType (ilMailAddressType $type)
 

Detailed Description

Definition at line 21 of file ilMailAddressTypesTest.php.

Member Function Documentation

◆ createGroupNameAsValidatorMock()

ilMailAddressTypesTest::createGroupNameAsValidatorMock ( )
private

◆ getAddressTypeFactory()

ilMailAddressTypesTest::getAddressTypeFactory ( ilGroupNameAsMailValidator  $group_name_validator)
private

Definition at line 37 of file ilMailAddressTypesTest.php.

38 {
39 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
40 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
41 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->getMock();
42 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
43 $mailing_lists = $this->getMockBuilder(ilMailingLists::class)->disableOriginalConstructor()->getMock();
44 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->getMock();
45
46 return new ilMailAddressTypeFactory(
47 $group_name_validator,
48 $logger,
49 $rbacsystem,
50 $rbacreview,
51 $address_type_helper,
52 $mailing_lists,
53 $role_mailbox_search
54 );
55 }

Referenced by testAdminCourseNameIsAValidMailAddressType(), testAdminGroupNameIsAValidMailAddressTypes(), testFactoryWillReturnGroupAddressTypeForGroupName(), testFactoryWillReturnListAddressTypeForListName(), testFactoryWillReturnLoginOrEmailAddressAddressType(), testFactoryWillReturnRoleAddressType(), testMemberCourseNameIsAValidMailAddressType(), and testMemberGroupNameIsAValidMailAddressType().

+ Here is the caller graph for this function:

◆ getWrappedAddressType()

ilMailAddressTypesTest::getWrappedAddressType ( ilMailAddressType  $type)
private

◆ setUp()

ilMailAddressTypesTest::setUp ( )
protected

Reimplemented from ilMailBaseTestCase.

Definition at line 23 of file ilMailAddressTypesTest.php.

23 : void
24 {
25 parent::setUp();
27 }

References ilMailCachedAddressType\clearCache().

+ Here is the call graph for this function:

◆ testAddressCanBeValidatedFromLoginOrEmailAddressType()

ilMailAddressTypesTest::testAddressCanBeValidatedFromLoginOrEmailAddressType ( )

Definition at line 230 of file ilMailAddressTypesTest.php.

230 : void
231 {
232 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
233 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
234
235 $address_type_helper->expects($this->atLeast(3))->method('getInstallationHost')->willReturn('ilias');
236 $address_type_helper->expects($this->exactly(2))->method('getUserIdByLogin')->willReturnOnConsecutiveCalls(
237 4711,
238 4711,
239 0
240 );
241
242 $address_type_helper->method('receivesInternalMailsOnly')->willReturn(true);
243
244 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
245 $rbacsystem->expects($this->exactly(2))->method('checkAccessOfUser')->willReturnOnConsecutiveCalls(
246 true,
247 false
248 );
249
251 $address_type_helper,
252 new ilMailAddress('phpunit', 'ilias'),
253 $logger,
254 $rbacsystem
255 );
256 $this->assertTrue($type->validate(666));
257 $this->assertCount(0, $type->getErrors());
258
259 $this->assertFalse($type->validate(666));
260 $this->assertArrayHasKey(0, $type->getErrors());
261 $this->assertSame('user_cant_receive_mail', $type->getErrors()[0]->getLanguageVariable());
262
264 $address_type_helper,
265 new ilMailAddress('mjansen', 'databay.de'),
266 $logger,
267 $rbacsystem
268 );
269 $this->assertTrue($type->validate(666));
270 $this->assertCount(0, $type->getErrors());
271 }

◆ testAdminCourseNameIsAValidMailAddressType()

ilMailAddressTypesTest::testAdminCourseNameIsAValidMailAddressType ( )

Definition at line 141 of file ilMailAddressTypesTest.php.

141 : void
142 {
143 $group_name_validator = $this->createGroupNameAsValidatorMock();
144 $group_name_validator->method('validate')->willReturn(false);
145
146 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
147
148 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_crs_admin_98', ''), false);
149
150 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
151 }
getWrappedAddressType(ilMailAddressType $type)
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testAdminGroupNameIsAValidMailAddressTypes()

ilMailAddressTypesTest::testAdminGroupNameIsAValidMailAddressTypes ( )

Definition at line 117 of file ilMailAddressTypesTest.php.

117 : void
118 {
119 $group_name_validator = $this->createGroupNameAsValidatorMock();
120 $group_name_validator->method('validate')->willReturn(false);
121
122 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
123
124 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_grp_admin_98', ''), false);
125
126 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
127 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testCacheOnlyResolvesAndValidatesRecipientsOnceIfCachingIsEnabled()

ilMailAddressTypesTest::testCacheOnlyResolvesAndValidatesRecipientsOnceIfCachingIsEnabled ( )

Definition at line 574 of file ilMailAddressTypesTest.php.

574 : void
575 {
576 $origin = $this->getMockBuilder(ilMailAddressType::class)->getMock();
577
578 $origin->expects($this->once())->method('resolve');
579 $origin->expects($this->once())->method('validate');
580
581 $type = new ilMailCachedAddressType($origin, true);
582 $type->resolve();
583 $type->resolve();
584
585 $type->validate(6);
586 $type->validate(6);
587 }

◆ testCacheResolvesAndValidatesRecipientsOnEveryCallIfCachingIsDisabled()

ilMailAddressTypesTest::testCacheResolvesAndValidatesRecipientsOnEveryCallIfCachingIsDisabled ( )

Definition at line 589 of file ilMailAddressTypesTest.php.

589 : void
590 {
591 $origin = $this->getMockBuilder(ilMailAddressType::class)->getMock();
592
593 $origin->expects($this->exactly(3))->method('resolve');
594 $origin->expects($this->exactly(3))->method('validate');
595
596 $type = new ilMailCachedAddressType($origin, false);
597 $type->resolve();
598 $type->resolve();
599 $type->resolve();
600
601 $type->validate(6);
602 $type->validate(6);
603 $type->validate(6);
604 }

◆ testFactoryWillReturnGroupAddressTypeForGroupName()

ilMailAddressTypesTest::testFactoryWillReturnGroupAddressTypeForGroupName ( )

Definition at line 81 of file ilMailAddressTypesTest.php.

81 : void
82 {
83 $group_name_validator = $this->createGroupNameAsValidatorMock();
84 $group_name_validator->method('validate')->willReturn(true);
85
86 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
87
88 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#MyGroup', ''), false);
89
90 $this->assertInstanceOf('ilMailGroupAddressType', $this->getWrappedAddressType($result));
91 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testFactoryWillReturnListAddressTypeForListName()

ilMailAddressTypesTest::testFactoryWillReturnListAddressTypeForListName ( )

Definition at line 69 of file ilMailAddressTypesTest.php.

69 : void
70 {
71 $group_name_validator = $this->createGroupNameAsValidatorMock();
72 $group_name_validator->method('validate')->willReturn(true);
73
74 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
75
76 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_ml_4711', ''), false);
77
78 $this->assertInstanceOf('ilMailMailingListAddressType', $this->getWrappedAddressType($result));
79 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testFactoryWillReturnLoginOrEmailAddressAddressType()

ilMailAddressTypesTest::testFactoryWillReturnLoginOrEmailAddressAddressType ( )

Definition at line 93 of file ilMailAddressTypesTest.php.

93 : void
94 {
95 $group_name_validator = $this->createGroupNameAsValidatorMock();
96 $group_name_validator->method('validate')->willReturn(false);
97
98 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
99
100 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('phpunit', ''), false);
101
102 $this->assertInstanceOf('ilMailLoginOrEmailAddressAddressType', $this->getWrappedAddressType($result));
103 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testFactoryWillReturnRoleAddressType()

ilMailAddressTypesTest::testFactoryWillReturnRoleAddressType ( )

Definition at line 105 of file ilMailAddressTypesTest.php.

105 : void
106 {
107 $group_name_validator = $this->createGroupNameAsValidatorMock();
108 $group_name_validator->method('validate')->willReturn(false);
109
110 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
111
112 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#member', ''), false);
113
114 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
115 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testMailingListAddressCanBeValidated()

ilMailAddressTypesTest::testMailingListAddressCanBeValidated ( )

Definition at line 393 of file ilMailAddressTypesTest.php.

393 : void
394 {
395 $lists = $this->getMockBuilder(ilMailingLists::class)->disableOriginalConstructor()->onlyMethods([
396 'mailingListExists',
397 ])->getMock();
398 $lists->expects($this->exactly(2))->method('mailingListExists')->with('#il_ml_4711')->willReturnOnConsecutiveCalls(
399 true,
400 false
401 );
402 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
403 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
404
406 $address_type_helper,
407 new ilMailAddress('#il_ml_4711', ''),
408 $logger,
409 $lists
410 );
411
412 $this->assertTrue($type->validate(666));
413 $this->assertCount(0, $type->getErrors());
414
415 $this->assertFalse($type->validate(666));
416 $this->assertCount(1, $type->getErrors());
417 $this->assertArrayHasKey(0, $type->getErrors());
418 $this->assertSame('mail_no_valid_mailing_list', $type->getErrors()[0]->getLanguageVariable());
419 }

◆ testMemberCourseNameIsAValidMailAddressType()

ilMailAddressTypesTest::testMemberCourseNameIsAValidMailAddressType ( )

Definition at line 153 of file ilMailAddressTypesTest.php.

153 : void
154 {
155 $group_name_validator = $this->createGroupNameAsValidatorMock();
156 $group_name_validator->method('validate')->willReturn(false);
157
158 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
159
160 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_crs_member_98', ''), false);
161
162 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
163 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testMemberGroupNameIsAValidMailAddressType()

ilMailAddressTypesTest::testMemberGroupNameIsAValidMailAddressType ( )

Definition at line 129 of file ilMailAddressTypesTest.php.

129 : void
130 {
131 $group_name_validator = $this->createGroupNameAsValidatorMock();
132 $group_name_validator->method('validate')->willReturn(false);
133
134 $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
135
136 $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_grp_member_98', ''), false);
137
138 $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
139 }

References createGroupNameAsValidatorMock(), getAddressTypeFactory(), and getWrappedAddressType().

+ Here is the call graph for this function:

◆ testNoUserIdCanBeResolvedFromEmailAddress()

ilMailAddressTypesTest::testNoUserIdCanBeResolvedFromEmailAddress ( )

Definition at line 209 of file ilMailAddressTypesTest.php.

209 : void
210 {
211 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
212 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
213 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
214
215 $address_type_helper->expects($this->once())->method('getInstallationHost')->willReturn('ilias');
216 $address_type_helper->expects($this->once())->method('getUserIdByLogin')->willReturn(0);
217
219 $address_type_helper,
220 new ilMailAddress('mjansen', 'databay.de'),
221 $logger,
222 $rbacsystem
223 );
224
225 $usr_ids = $type->resolve();
226
227 $this->assertCount(0, $usr_ids);
228 }

◆ testNoUserIdCanBeResolvedFromUnknownLoginAddress()

ilMailAddressTypesTest::testNoUserIdCanBeResolvedFromUnknownLoginAddress ( )

Definition at line 188 of file ilMailAddressTypesTest.php.

188 : void
189 {
190 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
191 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
192 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
193
194 $address_type_helper->expects($this->once())->method('getInstallationHost')->willReturn('ilias');
195 $address_type_helper->expects($this->once())->method('getUserIdByLogin')->willReturn(0);
196
198 $address_type_helper,
199 new ilMailAddress('phpunit', 'ilias'),
200 $logger,
201 $rbacsystem
202 );
203
204 $usr_ids = $type->resolve();
205
206 $this->assertCount(0, $usr_ids);
207 }

◆ testNoUserIdsCanBeResolvedFromInvalidRoleAddress()

ilMailAddressTypesTest::testNoUserIdsCanBeResolvedFromInvalidRoleAddress ( )

Definition at line 450 of file ilMailAddressTypesTest.php.

450 : void
451 {
452 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
453 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
454 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->onlyMethods(['assignedUsers'])->getMock();
455 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
456 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
457
458 $role_mailbox_search->expects($this->once())->method('searchRoleIdsByAddressString')->willReturn([]);
459 $rbacreview->expects($this->never())->method('assignedUsers');
460
461 $type = new ilMailRoleAddressType(
462 $address_type_helper,
463 new ilMailAddress('phpunit', 'ilias'),
464 $role_mailbox_search,
465 $logger,
466 $rbacsystem,
467 $rbacreview
468 );
469
470 $usr_ids = $type->resolve();
471
472 $this->assertCount(0, $usr_ids);
473 }

◆ testNoUserIdsCanBeResolvedFromRoleAddressWithoutAnyUsersBeingAssinged()

ilMailAddressTypesTest::testNoUserIdsCanBeResolvedFromRoleAddressWithoutAnyUsersBeingAssinged ( )

Definition at line 475 of file ilMailAddressTypesTest.php.

475 : void
476 {
477 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
478 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
479 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->onlyMethods(['assignedUsers'])->getMock();
480 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
481 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
482
483 $role_mailbox_search->expects($this->once())->method('searchRoleIdsByAddressString')->willReturn([1]);
484 $rbacreview->expects($this->once())->method('assignedUsers')->willReturn([]);
485
486 $type = new ilMailRoleAddressType(
487 $address_type_helper,
488 new ilMailAddress('phpunit', 'ilias'),
489 $role_mailbox_search,
490 $logger,
491 $rbacsystem,
492 $rbacreview
493 );
494
495 $usr_ids = $type->resolve();
496
497 $this->assertCount(0, $usr_ids);
498 }

◆ testPermissionsAreCheckedForRegularUsersWhenValidatingGlobalRoleAddresses()

ilMailAddressTypesTest::testPermissionsAreCheckedForRegularUsersWhenValidatingGlobalRoleAddresses ( )

Definition at line 524 of file ilMailAddressTypesTest.php.

524 : void
525 {
526 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
527 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->onlyMethods(['checkAccessOfUser'])->getMock();
528 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->onlyMethods(['isGlobalRole'])->getMock();
529 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
530 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
531
532 $role_mailbox_search->expects($this->exactly(4))->method('searchRoleIdsByAddressString')->willReturnOnConsecutiveCalls(
533 [1],
534 [],
535 [1, 2],
536 [1]
537 );
538 $rbacsystem->expects($this->exactly(4))->method('checkAccessOfUser')->willReturnOnConsecutiveCalls(
539 false,
540 true,
541 true,
542 true
543 );
544 $rbacreview->expects($this->once())->method('isGlobalRole')->with(1)->willReturn(true);
545
546 $type = new ilMailRoleAddressType(
547 $address_type_helper,
548 new ilMailAddress('phpunit', 'ilias'),
549 $role_mailbox_search,
550 $logger,
551 $rbacsystem,
552 $rbacreview
553 );
554
555 $this->assertFalse($type->validate(4711));
556 $this->assertCount(1, $type->getErrors());
557 $this->assertArrayHasKey(0, $type->getErrors());
558 $this->assertSame('mail_to_global_roles_not_allowed', $type->getErrors()[0]->getLanguageVariable());
559
560 $this->assertFalse($type->validate(4711));
561 $this->assertCount(1, $type->getErrors());
562 $this->assertArrayHasKey(0, $type->getErrors());
563 $this->assertSame('mail_recipient_not_found', $type->getErrors()[0]->getLanguageVariable());
564
565 $this->assertFalse($type->validate(4711));
566 $this->assertCount(1, $type->getErrors());
567 $this->assertArrayHasKey(0, $type->getErrors());
568 $this->assertSame('mail_multiple_role_recipients_found', $type->getErrors()[0]->getLanguageVariable());
569
570 $this->assertTrue($type->validate(4711));
571 $this->assertCount(0, $type->getErrors());
572 }

◆ testUserIdCanBeResolvedFromLoginAddress()

ilMailAddressTypesTest::testUserIdCanBeResolvedFromLoginAddress ( )

Definition at line 165 of file ilMailAddressTypesTest.php.

165 : void
166 {
167 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
168 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
169 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
170
171 $address_type_helper->expects($this->once())->method('getInstallationHost')->willReturn('ilias');
172 $address_type_helper->expects($this->once())->method('getUserIdByLogin')->willReturn(4711);
173
175 $address_type_helper,
176 new ilMailAddress('phpunit', 'ilias'),
177 $logger,
178 $rbacsystem
179 );
180
181 $usr_ids = $type->resolve();
182
183 $this->assertCount(1, $usr_ids);
184 $this->assertArrayHasKey(0, $usr_ids);
185 $this->assertSame(4711, $usr_ids[0]);
186 }

◆ testUserIdsCanBeResolvedFromGroupNameAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromGroupNameAddress ( )

Definition at line 273 of file ilMailAddressTypesTest.php.

273 : void
274 {
275 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
276 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
277
278 $group = $this->getMockBuilder(ilObjGroup::class)->disableOriginalConstructor()->onlyMethods(['getGroupMemberIds'])->getMock();
279 $group->expects($this->once())->method('getGroupMemberIds')->willReturn([666, 777]);
280
281 $address_type_helper->expects($this->once())->method('getGroupObjIdByTitle')->willReturn(1);
282 $address_type_helper->expects($this->once())->method('getAllRefIdsForObjId')->with(1)->willReturn([2]);
283 $address_type_helper->expects($this->once())->method('getInstanceByRefId')->with(2)->willReturn($group);
284
285 $type = new ilMailGroupAddressType(
286 $address_type_helper,
287 new ilMailAddress('#PhpUnit', ''),
288 $logger
289 );
290
291 $usr_ids = $type->resolve();
292
293 $this->assertCount(2, $usr_ids);
294 }

◆ testUserIdsCanBeResolvedFromMailingListAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromMailingListAddress ( )

Definition at line 349 of file ilMailAddressTypesTest.php.

349 : void
350 {
351 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
352 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
353
354 $list = $this->getMockBuilder(ilMailingList::class)->disableOriginalConstructor()->onlyMethods([
355 'getAssignedEntries',
356 ])->getMock();
357 $list->expects($this->exactly(2))->method('getAssignedEntries')->willReturnOnConsecutiveCalls(
358 [['usr_id' => 1], ['usr_id' => 2], ['usr_id' => 3]],
359 []
360 );
361
362 $lists = $this->getMockBuilder(ilMailingLists::class)->disableOriginalConstructor()->onlyMethods([
363 'mailingListExists',
364 'getCurrentMailingList',
365 ])->getMock();
366 $lists->expects($this->exactly(3))->method('mailingListExists')->with('#il_ml_4711')->willReturnOnConsecutiveCalls(
367 true,
368 true,
369 false
370 );
371 $lists->expects($this->exactly(2))->method('getCurrentMailingList')->willReturn($list);
372
374 $address_type_helper,
375 new ilMailAddress('#il_ml_4711', ''),
376 $logger,
377 $lists
378 );
379
380 $usr_ids = $type->resolve();
381
382 $this->assertCount(3, $usr_ids);
383
384 $usr_ids = $type->resolve();
385
386 $this->assertCount(0, $usr_ids);
387
388 $usr_ids = $type->resolve();
389
390 $this->assertCount(0, $usr_ids);
391 }

◆ testUserIdsCanBeResolvedFromRoleAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromRoleAddress ( )

Definition at line 421 of file ilMailAddressTypesTest.php.

421 : void
422 {
423 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
424 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
425 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->onlyMethods(['assignedUsers'])->getMock();
426 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
427 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
428
429 $role_mailbox_search->expects($this->once())->method('searchRoleIdsByAddressString')->willReturn([1, 2, 3]);
430 $rbacreview->expects($this->exactly(3))->method('assignedUsers')->willReturnOnConsecutiveCalls(
431 [4, 5, 6],
432 [7, 8],
433 [9]
434 );
435
436 $type = new ilMailRoleAddressType(
437 $address_type_helper,
438 new ilMailAddress('phpunit', 'ilias'),
439 $role_mailbox_search,
440 $logger,
441 $rbacsystem,
442 $rbacreview
443 );
444
445 $usr_ids = $type->resolve();
446
447 $this->assertCount(6, $usr_ids);
448 }

◆ testUserIdsCannotBeResolvedFromNonExistingGroupNameAddress()

ilMailAddressTypesTest::testUserIdsCannotBeResolvedFromNonExistingGroupNameAddress ( )

Definition at line 296 of file ilMailAddressTypesTest.php.

296 : void
297 {
298 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
299 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
300
301 $group = $this->getMockBuilder(ilObjGroup::class)->disableOriginalConstructor()->onlyMethods(['getGroupMemberIds'])->getMock();
302 $group->expects($this->never())->method('getGroupMemberIds');
303
304 $address_type_helper->expects($this->once())->method('getGroupObjIdByTitle')->willReturn(0);
305 $address_type_helper->expects($this->once())->method('getAllRefIdsForObjId')->with(0)->willReturn([]);
306 $address_type_helper->expects($this->never())->method('getInstanceByRefId');
307
308 $type = new ilMailGroupAddressType(
309 $address_type_helper,
310 new ilMailAddress('#PhpUnit', ''),
311 $logger
312 );
313
314 $usr_ids = $type->resolve();
315
316 $this->assertCount(0, $usr_ids);
317 }

◆ testValidationFailsForNonExistingGroupNameAddress()

ilMailAddressTypesTest::testValidationFailsForNonExistingGroupNameAddress ( )

Definition at line 319 of file ilMailAddressTypesTest.php.

319 : void
320 {
321 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
322 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
323
324 $address_type_helper->expects($this->once())->method('doesGroupNameExists')->with('PhpUnit')->willReturn(false);
325
326 $type = new ilMailGroupAddressType(
327 $address_type_helper,
328 new ilMailAddress('#PhpUnit', ''),
329 $logger
330 );
331 $this->assertFalse($type->validate(666));
332 }

◆ testValidationForAnonymousUserAsSystemActorSucceedsAlwaysForGlobalRoleAddresses()

ilMailAddressTypesTest::testValidationForAnonymousUserAsSystemActorSucceedsAlwaysForGlobalRoleAddresses ( )

Definition at line 500 of file ilMailAddressTypesTest.php.

500 : void
501 {
502 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
503 $rbacsystem = $this->getMockBuilder(ilRbacSystem::class)->disableOriginalConstructor()->getMock();
504 $rbacreview = $this->getMockBuilder(ilRbacReview::class)->disableOriginalConstructor()->getMock();
505 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
506 $role_mailbox_search = $this->getMockBuilder(ilRoleMailboxSearch::class)->disableOriginalConstructor()->onlyMethods(['searchRoleIdsByAddressString'])->getMock();
507
508 $role_mailbox_search->expects($this->once())->method('searchRoleIdsByAddressString')->willReturnOnConsecutiveCalls([1]);
509 $rbacsystem->expects($this->never())->method('checkAccessOfUser');
510
511 $type = new ilMailRoleAddressType(
512 $address_type_helper,
513 new ilMailAddress('phpunit', 'ilias'),
514 $role_mailbox_search,
515 $logger,
516 $rbacsystem,
517 $rbacreview
518 );
519
520 $this->assertTrue($type->validate(ANONYMOUS_USER_ID));
521 $this->assertCount(0, $type->getErrors());
522 }
const ANONYMOUS_USER_ID
Definition: constants.php:27

References ANONYMOUS_USER_ID.

◆ testValidationSucceedsForExistingGroupName()

ilMailAddressTypesTest::testValidationSucceedsForExistingGroupName ( )

Definition at line 334 of file ilMailAddressTypesTest.php.

334 : void
335 {
336 $logger = $this->getMockBuilder(ilLogger::class)->disableOriginalConstructor()->getMock();
337 $address_type_helper = $this->getMockBuilder(ilMailAddressTypeHelper::class)->getMock();
338
339 $address_type_helper->expects($this->once())->method('doesGroupNameExists')->with('PhpUnit')->willReturn(true);
340
341 $type = new ilMailGroupAddressType(
342 $address_type_helper,
343 new ilMailAddress('#PhpUnit', ''),
344 $logger
345 );
346 $this->assertTrue($type->validate(666));
347 }

The documentation for this class was generated from the following file: