ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
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.

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

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  }
+ Here is the caller graph for this function:

◆ getWrappedAddressType()

ilMailAddressTypesTest::getWrappedAddressType ( ilMailAddressType  $type)
private

Definition at line 57 of file ilMailAddressTypesTest.php.

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

58  {
59  if ($type instanceof ilMailCachedAddressType) {
60  $refl = new ReflectionObject($type);
61  $inner = $refl->getProperty('inner');
62  $inner->setAccessible(true);
63 
64  return $inner->getValue($type);
65  }
66 
67  return $type;
68  }
+ Here is the caller graph for this function:

◆ setUp()

ilMailAddressTypesTest::setUp ( )
protected

Definition at line 23 of file ilMailAddressTypesTest.php.

References ilMailCachedAddressType\clearCache().

23  : void
24  {
25  parent::setUp();
27  }
+ Here is the call graph for this function:

◆ testAddressCanBeValidatedFromLoginOrEmailAddressType()

ilMailAddressTypesTest::testAddressCanBeValidatedFromLoginOrEmailAddressType ( )

Definition at line 231 of file ilMailAddressTypesTest.php.

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

◆ testAdminCourseNameIsAValidMailAddressType()

ilMailAddressTypesTest::testAdminCourseNameIsAValidMailAddressType ( )

Definition at line 142 of file ilMailAddressTypesTest.php.

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

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

◆ testAdminGroupNameIsAValidMailAddressTypes()

ilMailAddressTypesTest::testAdminGroupNameIsAValidMailAddressTypes ( )

Definition at line 118 of file ilMailAddressTypesTest.php.

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

118  : void
119  {
120  $group_name_validator = $this->createGroupNameAsValidatorMock();
121  $group_name_validator->method('validate')->willReturn(false);
122 
123  $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
124 
125  $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_grp_admin_98', ''), false);
126 
127  $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
128  }
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)
getWrappedAddressType(ilMailAddressType $type)
+ Here is the call graph for this function:

◆ testCacheOnlyResolvesAndValidatesRecipientsOnceIfCachingIsEnabled()

ilMailAddressTypesTest::testCacheOnlyResolvesAndValidatesRecipientsOnceIfCachingIsEnabled ( )

Definition at line 575 of file ilMailAddressTypesTest.php.

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

◆ testCacheResolvesAndValidatesRecipientsOnEveryCallIfCachingIsDisabled()

ilMailAddressTypesTest::testCacheResolvesAndValidatesRecipientsOnEveryCallIfCachingIsDisabled ( )

Definition at line 590 of file ilMailAddressTypesTest.php.

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

◆ testFactoryWillReturnGroupAddressTypeForGroupName()

ilMailAddressTypesTest::testFactoryWillReturnGroupAddressTypeForGroupName ( )

Definition at line 82 of file ilMailAddressTypesTest.php.

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

82  : void
83  {
84  $group_name_validator = $this->createGroupNameAsValidatorMock();
85  $group_name_validator->method('validate')->willReturn(true);
86 
87  $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
88 
89  $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#MyGroup', ''), false);
90 
91  $this->assertInstanceOf('ilMailGroupAddressType', $this->getWrappedAddressType($result));
92  }
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)
getWrappedAddressType(ilMailAddressType $type)
+ Here is the call graph for this function:

◆ testFactoryWillReturnListAddressTypeForListName()

ilMailAddressTypesTest::testFactoryWillReturnListAddressTypeForListName ( )

Definition at line 70 of file ilMailAddressTypesTest.php.

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

70  : void
71  {
72  $group_name_validator = $this->createGroupNameAsValidatorMock();
73  $group_name_validator->method('validate')->willReturn(true);
74 
75  $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
76 
77  $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_ml_4711', ''), false);
78 
79  $this->assertInstanceOf('ilMailMailingListAddressType', $this->getWrappedAddressType($result));
80  }
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)
getWrappedAddressType(ilMailAddressType $type)
+ Here is the call graph for this function:

◆ testFactoryWillReturnLoginOrEmailAddressAddressType()

ilMailAddressTypesTest::testFactoryWillReturnLoginOrEmailAddressAddressType ( )

Definition at line 94 of file ilMailAddressTypesTest.php.

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

94  : void
95  {
96  $group_name_validator = $this->createGroupNameAsValidatorMock();
97  $group_name_validator->method('validate')->willReturn(false);
98 
99  $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
100 
101  $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('phpunit', ''), false);
102 
103  $this->assertInstanceOf('ilMailLoginOrEmailAddressAddressType', $this->getWrappedAddressType($result));
104  }
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)
getWrappedAddressType(ilMailAddressType $type)
+ Here is the call graph for this function:

◆ testFactoryWillReturnRoleAddressType()

ilMailAddressTypesTest::testFactoryWillReturnRoleAddressType ( )

Definition at line 106 of file ilMailAddressTypesTest.php.

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

106  : void
107  {
108  $group_name_validator = $this->createGroupNameAsValidatorMock();
109  $group_name_validator->method('validate')->willReturn(false);
110 
111  $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
112 
113  $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#member', ''), false);
114 
115  $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
116  }
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)
getWrappedAddressType(ilMailAddressType $type)
+ Here is the call graph for this function:

◆ testMailingListAddressCanBeValidated()

ilMailAddressTypesTest::testMailingListAddressCanBeValidated ( )

Definition at line 394 of file ilMailAddressTypesTest.php.

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

◆ testMemberCourseNameIsAValidMailAddressType()

ilMailAddressTypesTest::testMemberCourseNameIsAValidMailAddressType ( )

Definition at line 154 of file ilMailAddressTypesTest.php.

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

154  : void
155  {
156  $group_name_validator = $this->createGroupNameAsValidatorMock();
157  $group_name_validator->method('validate')->willReturn(false);
158 
159  $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
160 
161  $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_crs_member_98', ''), false);
162 
163  $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
164  }
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)
getWrappedAddressType(ilMailAddressType $type)
+ Here is the call graph for this function:

◆ testMemberGroupNameIsAValidMailAddressType()

ilMailAddressTypesTest::testMemberGroupNameIsAValidMailAddressType ( )

Definition at line 130 of file ilMailAddressTypesTest.php.

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

130  : void
131  {
132  $group_name_validator = $this->createGroupNameAsValidatorMock();
133  $group_name_validator->method('validate')->willReturn(false);
134 
135  $mail_address_type_factory = $this->getAddressTypeFactory($group_name_validator);
136 
137  $result = $mail_address_type_factory->getByPrefix(new ilMailAddress('#il_grp_member_98', ''), false);
138 
139  $this->assertInstanceOf('ilMailRoleAddressType', $this->getWrappedAddressType($result));
140  }
getAddressTypeFactory(ilGroupNameAsMailValidator $group_name_validator)
getWrappedAddressType(ilMailAddressType $type)
+ Here is the call graph for this function:

◆ testNoUserIdCanBeResolvedFromEmailAddress()

ilMailAddressTypesTest::testNoUserIdCanBeResolvedFromEmailAddress ( )

Definition at line 210 of file ilMailAddressTypesTest.php.

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

◆ testNoUserIdCanBeResolvedFromUnknownLoginAddress()

ilMailAddressTypesTest::testNoUserIdCanBeResolvedFromUnknownLoginAddress ( )

Definition at line 189 of file ilMailAddressTypesTest.php.

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

◆ testNoUserIdsCanBeResolvedFromInvalidRoleAddress()

ilMailAddressTypesTest::testNoUserIdsCanBeResolvedFromInvalidRoleAddress ( )

Definition at line 451 of file ilMailAddressTypesTest.php.

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

◆ testNoUserIdsCanBeResolvedFromRoleAddressWithoutAnyUsersBeingAssinged()

ilMailAddressTypesTest::testNoUserIdsCanBeResolvedFromRoleAddressWithoutAnyUsersBeingAssinged ( )

Definition at line 476 of file ilMailAddressTypesTest.php.

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

◆ testPermissionsAreCheckedForRegularUsersWhenValidatingGlobalRoleAddresses()

ilMailAddressTypesTest::testPermissionsAreCheckedForRegularUsersWhenValidatingGlobalRoleAddresses ( )

Definition at line 525 of file ilMailAddressTypesTest.php.

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

◆ testUserIdCanBeResolvedFromLoginAddress()

ilMailAddressTypesTest::testUserIdCanBeResolvedFromLoginAddress ( )

Definition at line 166 of file ilMailAddressTypesTest.php.

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

◆ testUserIdsCanBeResolvedFromGroupNameAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromGroupNameAddress ( )

Definition at line 274 of file ilMailAddressTypesTest.php.

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

◆ testUserIdsCanBeResolvedFromMailingListAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromMailingListAddress ( )

Definition at line 350 of file ilMailAddressTypesTest.php.

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

◆ testUserIdsCanBeResolvedFromRoleAddress()

ilMailAddressTypesTest::testUserIdsCanBeResolvedFromRoleAddress ( )

Definition at line 422 of file ilMailAddressTypesTest.php.

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

◆ testUserIdsCannotBeResolvedFromNonExistingGroupNameAddress()

ilMailAddressTypesTest::testUserIdsCannotBeResolvedFromNonExistingGroupNameAddress ( )

Definition at line 297 of file ilMailAddressTypesTest.php.

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

◆ testValidationFailsForNonExistingGroupNameAddress()

ilMailAddressTypesTest::testValidationFailsForNonExistingGroupNameAddress ( )

Definition at line 320 of file ilMailAddressTypesTest.php.

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

◆ testValidationForAnonymousUserAsSystemActorSucceedsAlwaysForGlobalRoleAddresses()

ilMailAddressTypesTest::testValidationForAnonymousUserAsSystemActorSucceedsAlwaysForGlobalRoleAddresses ( )

Definition at line 501 of file ilMailAddressTypesTest.php.

References ANONYMOUS_USER_ID.

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

◆ testValidationSucceedsForExistingGroupName()

ilMailAddressTypesTest::testValidationSucceedsForExistingGroupName ( )

Definition at line 335 of file ilMailAddressTypesTest.php.

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

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