root / trunk / tests / test_debug_transport.py

Revision 117, 1.7 kB (checked in by fs, 2 months ago)

renamed providers to transports which reflects the real purpose better

Line 
1#!/usr/bin/env python
2# -*- coding: UTF-8 -*-
3'''Test that the debug transport stores all "sent" mails.'''
4
5import unittest
6
7from turbomail.control import interface
8from turbomail.message import Message
9from turbomail.managers.immediate import ImmediateManager
10from turbomail.transports.debug import DebugTransportFactory
11
12class TestDebugTransportStoresAllMail(unittest.TestCase):
13   
14    def setUp(self):
15        interface.config = {'mail.on': True,
16                            'mail.manager': 'immediate',
17                            'mail.transport': 'debug',}
18        # conciously using classes and instances for fake_setuptools so that
19        # the test also checks that TurboMail will do the right thing.
20        fake_setuptools =  {'immediate': ImmediateManager,
21                            'debug': DebugTransportFactory()}
22        interface.start(extra_classes=fake_setuptools)
23        self.msg = Message('foo@example.com', 'to@example.com', 'Test',
24                           plain='Plain text body')
25   
26    def tearDown(self):
27        interface.stop(force=True)
28        interface.config = {'mail.on': False}
29   
30    def test_fetch_sent_messages(self):
31        msg_string = str(self.msg)
32        interface.send(self.msg)
33       
34        stored_mails = interface.manager.transport.get_sent_mails()
35        self.assertEqual(1, len(stored_mails))
36        self.assertEqual(msg_string, str(stored_mails[0]))
37   
38    def test_message_send_themselves(self):
39        msg_string = str(self.msg)
40        self.msg.send()
41       
42        stored_mails = interface.manager.transport.get_sent_mails()
43        self.assertEqual(1, len(stored_mails))
44        self.assertEqual(msg_string, str(stored_mails[0]))
Note: See TracBrowser for help on using the browser.