Changeset 16:cd4170142d87 in mailjam for mailjam/tests/daemon.py


Ignore:
Timestamp:
May 22, 2012, 9:31:15 AM (12 years ago)
Author:
Borja Lopez <borja@…>
Branch:
default
Phase:
public
Message:

Renamed the project to Mailjam

File:
1 moved

Legend:

Unmodified
Added
Removed
  • mailjam/tests/daemon.py

    r11 r16  
    22
    33"""
    4 The postman project - daemon.py
     4The mailjam project - daemon.py
    55
    66This file is released under the BSD license, see LICENSE for
     
    1515from unittest import TestCase
    1616
    17 from postman.daemon import Postman, PostmanXMLRPC, PostmanDaemon
    18 from postman.models import Member, MailingList
    19 from postman.storage import JsonStorage as Storage
    20 
    21 
    22 class TestPostman(TestCase):
    23     """
    24     postman.daemon.Postman tests.
    25 
    26     Remember to call the .clear() method of postman after each test, so
     17from mailjam.daemon import Mailjam, MailjamXMLRPC, MailjamDaemon
     18from mailjam.models import Member, MailingList
     19from mailjam.storage import JsonStorage as Storage
     20
     21
     22class TestMailjam(TestCase):
     23    """
     24    mailjam.daemon.Mailjam tests.
     25
     26    Remember to call the .clear() method of mailjam after each test, so
    2727    the temp storage files are deleted
    2828    """
    2929    def setUp(self):
    30         self.configfile = os.path.join(os.path.dirname(__file__), 'postman.conf')
     30        self.configfile = os.path.join(os.path.dirname(__file__), 'mailjam.conf')
    3131        self.mailing_list = MailingList('test_list', 'test_list@example.com',
    3232                                        members={}, configfile=self.configfile)
     
    3434
    3535    def test___init__(self):
    36         postman = Postman(configfile=self.configfile)
    37         self.assertIsInstance(postman, Postman)
    38         self.assertEqual(postman.mailings, {})
    39         self.assertEqual(postman.mailings_addresses, [])
    40         self.assertIsInstance(postman.dbs, dict)
    41         self.assertTrue('mailings' in postman.dbs.keys())
    42         self.assertTrue('members' in postman.dbs.keys())
    43         self.assertIsInstance(postman.dbs['mailings'], Storage)
    44         self.assertIsInstance(postman.dbs['members'], Storage)
     36        mailjam = Mailjam(configfile=self.configfile)
     37        self.assertIsInstance(mailjam, Mailjam)
     38        self.assertEqual(mailjam.mailings, {})
     39        self.assertEqual(mailjam.mailings_addresses, [])
     40        self.assertIsInstance(mailjam.dbs, dict)
     41        self.assertTrue('mailings' in mailjam.dbs.keys())
     42        self.assertTrue('members' in mailjam.dbs.keys())
     43        self.assertIsInstance(mailjam.dbs['mailings'], Storage)
     44        self.assertIsInstance(mailjam.dbs['members'], Storage)
    4545
    4646    def test_save(self):
    47         postman = Postman(configfile=self.configfile)
    48         self.assertFalse(postman.save())
    49         postman.add_mailing_list(self.mailing_list.info())
    50         self.assertTrue(postman.save())
     47        mailjam = Mailjam(configfile=self.configfile)
     48        self.assertFalse(mailjam.save())
     49        mailjam.add_mailing_list(self.mailing_list.info())
     50        self.assertTrue(mailjam.save())
    5151        # FIXME: We have to test here that the generated json file
    5252        # contains the data it should contain
    5353
    5454        # Clear the files created by the tests
    55         postman.clear()
     55        mailjam.clear()
    5656
    5757    def test_load(self):
    58         postman = Postman(configfile=self.configfile)
    59         self.assertFalse(postman.mailings)
    60         self.assertFalse(postman.mailings_addresses)
    61         self.assertFalse(postman.load())
    62         postman.add_mailing_list(self.mailing_list.info())
    63         self.assertTrue(postman.load())
    64 
    65         # Check that another postman instance is able to load the saved data
    66         postman_load = Postman(configfile=self.configfile)
    67         self.assertFalse(postman_load.mailings)
    68         self.assertFalse(postman_load.mailings_addresses)
    69         postman_load.load()
    70         self.assertTrue(postman_load.mailings)
    71         self.assertIsInstance(postman_load.mailings, dict)
    72         self.assertTrue(postman_load.mailings_addresses)
    73         self.assertIsInstance(postman_load.mailings_addresses, list)       
    74 
    75         # Clear the files created by the tests
    76         postman.clear()
     58        mailjam = Mailjam(configfile=self.configfile)
     59        self.assertFalse(mailjam.mailings)
     60        self.assertFalse(mailjam.mailings_addresses)
     61        self.assertFalse(mailjam.load())
     62        mailjam.add_mailing_list(self.mailing_list.info())
     63        self.assertTrue(mailjam.load())
     64
     65        # Check that another mailjam instance is able to load the saved data
     66        mailjam_load = Mailjam(configfile=self.configfile)
     67        self.assertFalse(mailjam_load.mailings)
     68        self.assertFalse(mailjam_load.mailings_addresses)
     69        mailjam_load.load()
     70        self.assertTrue(mailjam_load.mailings)
     71        self.assertIsInstance(mailjam_load.mailings, dict)
     72        self.assertTrue(mailjam_load.mailings_addresses)
     73        self.assertIsInstance(mailjam_load.mailings_addresses, list)       
     74
     75        # Clear the files created by the tests
     76        mailjam.clear()
    7777
    7878    def test_clear(self):
    79         postman = Postman(configfile=self.configfile)
    80         self.assertFalse(postman.clear())
    81         postman.add_mailing_list(self.mailing_list.info())
    82         self.assertTrue(postman.clear())
     79        mailjam = Mailjam(configfile=self.configfile)
     80        self.assertFalse(mailjam.clear())
     81        mailjam.add_mailing_list(self.mailing_list.info())
     82        self.assertTrue(mailjam.clear())
    8383
    8484    def test_add_mailing_list(self):
    85         postman = Postman(configfile=self.configfile)
     85        mailjam = Mailjam(configfile=self.configfile)
    8686        with self.assertRaises(TypeError):
    8787            # test improper info values
    88             postman.add_mailing_list(['a list', 'is an', 'invalid parameter'])
    89             postman.add_mailing_list(self.mailing_list)
     88            mailjam.add_mailing_list(['a list', 'is an', 'invalid parameter'])
     89            mailjam.add_mailing_list(self.mailing_list)
    9090        with self.assertRaises(ValueError):
    9191            #test incomplete/missing info values
    92             postman.add_mailing_list()
    93             postman.add_mailing_list({'name': 'missing info'})
    94             postman.add_mailing_list({'address': 'missing info'})
    95             postman.add_mailing_list({'name': 'missing info',
     92            mailjam.add_mailing_list()
     93            mailjam.add_mailing_list({'name': 'missing info'})
     94            mailjam.add_mailing_list({'address': 'missing info'})
     95            mailjam.add_mailing_list({'name': 'missing info',
    9696                                      'address': 'missing info'})
    9797        # test mailing lists can be added
    98         self.assertTrue(postman.add_mailing_list(self.mailing_list.info()))
    99         self.assertTrue(postman.mailings)
    100         self.assertIsInstance(postman.mailings, dict)
    101         self.assertTrue(postman.mailings_addresses)
    102         self.assertIsInstance(postman.mailings_addresses, list)
     98        self.assertTrue(mailjam.add_mailing_list(self.mailing_list.info()))
     99        self.assertTrue(mailjam.mailings)
     100        self.assertIsInstance(mailjam.mailings, dict)
     101        self.assertTrue(mailjam.mailings_addresses)
     102        self.assertIsInstance(mailjam.mailings_addresses, list)
    103103        with self.assertRaises(IndexError):
    104104            # test what happens when the mailing has been already added
    105             postman.add_mailing_list(self.mailing_list.info())
    106 
    107         # Clear the files created by the tests
    108         postman.clear()
     105            mailjam.add_mailing_list(self.mailing_list.info())
     106
     107        # Clear the files created by the tests
     108        mailjam.clear()
    109109
    110110    def test_add_mailing_member(self):
    111         postman = Postman(configfile=self.configfile)
    112         postman.add_mailing_list(self.mailing_list.info())
     111        mailjam = Mailjam(configfile=self.configfile)
     112        mailjam.add_mailing_list(self.mailing_list.info())
    113113        with self.assertRaises(ValueError):
    114114            # test what happens if we call the method without proper
    115115            # parameters
    116             postman.add_mailing_member()
    117             postman.add_mailing_member(None, None)
    118             postman.add_mailing_member(None, 'test_list@example.net')
    119             postman.add_mailing_member('test@example.net', None)
    120             postman.add_mailing_member('test@example', 'test_list@example.net')
     116            mailjam.add_mailing_member()
     117            mailjam.add_mailing_member(None, None)
     118            mailjam.add_mailing_member(None, 'test_list@example.net')
     119            mailjam.add_mailing_member('test@example.net', None)
     120            mailjam.add_mailing_member('test@example', 'test_list@example.net')
    121121        with self.assertRaises(IndexError):
    122122            # test if we try to add a member to a non-existing mailing list
    123             postman.add_mailing_member('test@example.net',
     123            mailjam.add_mailing_member('test@example.net',
    124124                                       'test_list_b@example.net')
    125125        # Test adding a member
    126         self.assertTrue(postman.add_mailing_member('test@example.net',
     126        self.assertTrue(mailjam.add_mailing_member('test@example.net',
    127127                                                   self.mailing_list.address))
    128128        # Test trying to re-add that user
    129         self.assertFalse(postman.add_mailing_member('test@example.net',
     129        self.assertFalse(mailjam.add_mailing_member('test@example.net',
    130130                                                    self.mailing_list.address))
    131131
    132132        # Clear the files created by the tests
    133         postman.clear()
    134 
    135 
    136 class TestPostmanDaemon(TestCase):
    137     """
    138     postman.daemon.PostmanDaemon tests.
    139 
    140     Remember to call the .clear() method of postman after each test, so
     133        mailjam.clear()
     134
     135
     136class TestMailjamDaemon(TestCase):
     137    """
     138    mailjam.daemon.MailjamDaemon tests.
     139
     140    Remember to call the .clear() method of mailjam after each test, so
    141141    the temp storage files are deleted
    142142    """
    143143    def setUp(self):
    144144        self.configfile = os.path.join(os.path.dirname(__file__),
    145                                        'postman.conf')
     145                                       'mailjam.conf')
    146146        self.mailing_list = MailingList('test_xmlrpc',
    147147                                        'test_xmlrpc@example.com', members={},
     
    150150
    151151    def test___init__(self):
    152         daemon = PostmanDaemon(self.configfile)
    153         self.assertIsInstance(daemon, PostmanDaemon)
     152        daemon = MailjamDaemon(self.configfile)
     153        self.assertIsInstance(daemon, MailjamDaemon)
    154154        self.assertFalse(daemon.ready_to_serve)
    155155        # FIXME: More tests should be added here once the configuration
     
    157157
    158158    def test_create_server(self):
    159         daemon = PostmanDaemon(self.configfile)
     159        daemon = MailjamDaemon(self.configfile)
    160160        daemon.port = 9001
    161161        self.assertTrue(daemon.create_server())
     
    164164       
    165165    def test_add_methods(self):
    166         daemon = PostmanDaemon(self.configfile)
     166        daemon = MailjamDaemon(self.configfile)
    167167        daemon.port = 9002
    168168        self.assertTrue(daemon.add_methods())
    169169        self.assertTrue(daemon.ready_to_serve)
    170170
    171         daemon = PostmanDaemon(self.configfile)
     171        daemon = MailjamDaemon(self.configfile)
    172172        daemon.port = 9003       
    173173        daemon.create_server()
     
    176176       
    177177    def test_run(self):
    178         daemon = PostmanDaemon(self.configfile)
     178        daemon = MailjamDaemon(self.configfile)
    179179        daemon.port = 9004
    180180        # start the daemon in another process, so we can start communicating
     
    193193        # available public methods contains the list of methods we have
    194194        # defined in our base XMLRPC class
    195         set_class_methods = set(PostmanXMLRPC()._listMethods())
     195        set_class_methods = set(MailjamXMLRPC()._listMethods())
    196196        set_xmlrpc_methods = set(client.system.listMethods())
    197197        self.assertTrue(set_class_methods.issubset(set_xmlrpc_methods))
Note: See TracChangeset for help on using the changeset viewer.