mirror of
https://github.com/moodle/moodle.git
synced 2025-04-16 05:54:19 +02:00
MDL-48197 testing: Normalise uses of noemailever and phpmailer sink
This commit is contained in:
parent
556e3a9e8a
commit
fc05c1b8e5
@ -386,8 +386,9 @@ class auth_ldap_plugin_testcase extends advanced_testcase {
|
||||
$auth = get_auth_plugin('ldap');
|
||||
|
||||
$sink = $this->redirectEvents();
|
||||
$mailsink = $this->redirectEmails();
|
||||
$auth->user_signup((object)$user, false);
|
||||
$this->assertDebuggingCalled('Not sending email due to $CFG->noemailever config setting');
|
||||
$this->assertEquals(1, $mailsink->count());
|
||||
$events = $sink->get_events();
|
||||
$sink->close();
|
||||
|
||||
|
@ -41,8 +41,6 @@ class core_badges_badgeslib_testcase extends advanced_testcase {
|
||||
global $DB, $CFG;
|
||||
$this->resetAfterTest(true);
|
||||
|
||||
unset_config('noemailever');
|
||||
|
||||
$CFG->enablecompletion = true;
|
||||
|
||||
$user = $this->getDataGenerator()->create_user();
|
||||
|
@ -81,8 +81,6 @@ class core_course_courserequest_testcase extends advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
$this->preventResetByRollback();
|
||||
|
||||
unset_config('noemailever');
|
||||
|
||||
$defaultcategory = $DB->get_field_select('course_categories', "MIN(id)", "parent=0");
|
||||
set_config('enablecourserequests', 1);
|
||||
set_config('requestcategoryselection', 0);
|
||||
@ -138,8 +136,6 @@ class core_course_courserequest_testcase extends advanced_testcase {
|
||||
$this->resetAfterTest(true);
|
||||
$this->preventResetByRollback();
|
||||
|
||||
unset_config('noemailever');
|
||||
|
||||
$this->setAdminUser();
|
||||
set_config('enablecourserequests', 1);
|
||||
set_config('requestcategoryselection', 0);
|
||||
|
@ -432,6 +432,8 @@ class core_phpunit_advanced_testcase extends advanced_testcase {
|
||||
$message2->notification = 0;
|
||||
|
||||
// There should be debugging message without redirection.
|
||||
$mailsink = $this->redirectEmails();
|
||||
$mailsink->close();
|
||||
message_send($message1);
|
||||
$this->assertDebuggingCalled(null, null, 'message_send() must print debug message that messaging is disabled in phpunit tests.');
|
||||
|
||||
|
@ -30,7 +30,6 @@ class core_messagelib_testcase extends advanced_testcase {
|
||||
public function test_message_provider_disabled() {
|
||||
$this->resetAfterTest();
|
||||
$this->preventResetByRollback();
|
||||
unset_config('noemailever');
|
||||
|
||||
// Disable instantmessage provider.
|
||||
$disableprovidersetting = 'moodle_instantmessage_disable';
|
||||
@ -382,8 +381,6 @@ class core_messagelib_testcase extends advanced_testcase {
|
||||
$this->preventResetByRollback();
|
||||
$this->resetAfterTest();
|
||||
|
||||
unset_config('noemailever');
|
||||
|
||||
$user1 = $this->getDataGenerator()->create_user();
|
||||
$user2 = $this->getDataGenerator()->create_user();
|
||||
|
||||
@ -717,7 +714,6 @@ class core_messagelib_testcase extends advanced_testcase {
|
||||
|
||||
$this->resetAfterTest();
|
||||
$this->preventResetByRollback();
|
||||
set_config('noemailever', 1);
|
||||
|
||||
$user1 = $this->getDataGenerator()->create_user();
|
||||
$user2 = $this->getDataGenerator()->create_user();
|
||||
@ -734,24 +730,30 @@ class core_messagelib_testcase extends advanced_testcase {
|
||||
$message->smallmessage = 'small message';
|
||||
$message->notification = '0';
|
||||
|
||||
$mailsink = $this->redirectEmails();
|
||||
|
||||
// Sending outside of a transaction is fine.
|
||||
message_send($message);
|
||||
$this->assertDebuggingCalled('Not sending email due to $CFG->noemailever config setting');
|
||||
$this->assertEquals(1, $mailsink->count());
|
||||
|
||||
$transaction1 = $DB->start_delegated_transaction();
|
||||
|
||||
$mailsink->clear();
|
||||
message_send($message);
|
||||
$this->assertDebuggingNotCalled();
|
||||
$this->assertEquals(0, $mailsink->count());
|
||||
|
||||
$transaction2 = $DB->start_delegated_transaction();
|
||||
|
||||
$mailsink->clear();
|
||||
message_send($message);
|
||||
$this->assertDebuggingNotCalled();
|
||||
$this->assertEquals(0, $mailsink->count());
|
||||
|
||||
try {
|
||||
$transaction2->rollback(new Exception('x'));
|
||||
$this->fail('Expecting exception');
|
||||
} catch (Exception $e) {}
|
||||
$this->assertDebuggingNotCalled();
|
||||
$this->assertEquals(0, $mailsink->count());
|
||||
|
||||
$this->assertTrue($DB->is_transaction_started());
|
||||
|
||||
@ -760,11 +762,12 @@ class core_messagelib_testcase extends advanced_testcase {
|
||||
$this->fail('Expecting exception');
|
||||
} catch (Exception $e) {}
|
||||
$this->assertDebuggingNotCalled();
|
||||
$this->assertEquals(0, $mailsink->count());
|
||||
|
||||
$this->assertFalse($DB->is_transaction_started());
|
||||
|
||||
message_send($message);
|
||||
$this->assertDebuggingCalled('Not sending email due to $CFG->noemailever config setting');
|
||||
$this->assertEquals(1, $mailsink->count());
|
||||
}
|
||||
|
||||
public function test_forced_rollback() {
|
||||
|
@ -2607,6 +2607,11 @@ class core_moodlelib_testcase extends advanced_testcase {
|
||||
$subject2 = 'subject 2';
|
||||
$messagetext2 = 'message text 2';
|
||||
|
||||
// Close the default email sink.
|
||||
$sink = $this->redirectEmails();
|
||||
$sink->close();
|
||||
|
||||
$CFG->noemailever = true;
|
||||
$this->assertNotEmpty($CFG->noemailever);
|
||||
email_to_user($user1, $user2, $subject, $messagetext);
|
||||
$this->assertDebuggingCalled('Not sending email due to $CFG->noemailever config setting');
|
||||
@ -2660,9 +2665,6 @@ class core_moodlelib_testcase extends advanced_testcase {
|
||||
|
||||
$user = $this->getDataGenerator()->create_user();
|
||||
|
||||
// Set config to allow email_to_user() to be called.
|
||||
$CFG->noemailever = false;
|
||||
|
||||
// Update user password.
|
||||
$sink = $this->redirectEvents();
|
||||
$sink2 = $this->redirectEmails(); // Make sure we are redirecting emails.
|
||||
|
@ -39,9 +39,6 @@ class message_output_email extends message_output {
|
||||
function send_message($eventdata) {
|
||||
global $CFG;
|
||||
|
||||
// Ignore $CFG->noemailever here because we want to test this code,
|
||||
// the message sending fails later in email_to_user().
|
||||
|
||||
// skip any messaging suspended and deleted users
|
||||
if ($eventdata->userto->auth === 'nologin' or $eventdata->userto->suspended or $eventdata->userto->deleted) {
|
||||
return true;
|
||||
|
@ -60,9 +60,6 @@ class mod_forum_mail_testcase extends advanced_testcase {
|
||||
// ensure that messages are sent out.
|
||||
$CFG->maxeditingtime = -1;
|
||||
|
||||
// Ensure that we don't prevent e-mail as this will cause unit test failures.
|
||||
$CFG->noemailever = false;
|
||||
|
||||
$this->helper = $helper;
|
||||
}
|
||||
|
||||
|
@ -72,9 +72,6 @@ class mod_forum_maildigest_testcase extends advanced_testcase {
|
||||
// messages are sent out.
|
||||
$CFG->maxeditingtime = 1;
|
||||
|
||||
// Ensure that we don't prevent e-mail as this will cause unit test failures.
|
||||
$CFG->noemailever = false;
|
||||
|
||||
// We must clear the subscription caches. This has to be done both before each test, and after in case of other
|
||||
// tests using these functions.
|
||||
\mod_forum\subscriptions::reset_forum_cache();
|
||||
|
Loading…
x
Reference in New Issue
Block a user