97
98
gpg.GPGStrategy = old_strategy
98
99
self.assertContainsRe(md_text, '^-----BEGIN PSEUDO-SIGNED CONTENT')
101
self.prepare_merge_directive()
101
def run_bzr_fakemail(self, *args, **kwargs):
102
102
sendmail_calls = []
103
103
def sendmail(self, from_, to, message):
104
104
sendmail_calls.append((self, from_, to, message))
106
def connect(self, host='localhost', port=0):
107
connect_calls.append((self, host, port))
105
108
old_sendmail = smtplib.SMTP.sendmail
106
109
smtplib.SMTP.sendmail = sendmail
110
old_connect = smtplib.SMTP.connect
111
smtplib.SMTP.connect = connect
108
md_text = self.run_bzr('merge-directive', '--mail-to',
109
'pqm@example.com', '--plain', '../tree2',
113
result = self.run_bzr(*args, **kwargs)
112
115
smtplib.SMTP.sendmail = old_sendmail
116
smtplib.SMTP.connect = old_connect
117
return result + (connect_calls, sendmail_calls)
119
def test_mail_default(self):
120
tree1, tree2 = self.prepare_merge_directive()
121
md_text, errr, connect_calls, sendmail_calls =\
122
self.run_bzr_fakemail('merge-directive', '--mail-to',
123
'pqm@example.com', '--plain', '../tree2',
113
125
self.assertEqual('', md_text)
126
self.assertEqual(1, len(connect_calls))
127
call = connect_calls[0]
128
self.assertEqual(('localhost', 0), call[1:3])
114
129
self.assertEqual(1, len(sendmail_calls))
115
130
call = sendmail_calls[0]
116
131
self.assertEqual(('J. Random Hacker <jrandom@example.com>',
117
132
'pqm@example.com'), call[1:3])
118
133
self.assertContainsRe(call[3], EMAIL1)
135
def test_mail_uses_config(self):
136
tree1, tree2 = self.prepare_merge_directive()
137
tree1.branch.get_config().set_user_option('smtp_server', 'bogushost')
138
md_text, errr, connect_calls, sendmail_calls =\
139
self.run_bzr_fakemail('merge-directive', '--mail-to',
140
'pqm@example.com', '--plain', '../tree2',
142
call = connect_calls[0]
143
self.assertEqual(('bogushost', 0), call[1:3])