~lutostag/ubuntu/trusty/maas/1.5.2+packagefix

« back to all changes in this revision

Viewing changes to src/maasserver/testing/tests/test_module.py

  • Committer: Package Import Robot
  • Author(s): Andres Rodriguez
  • Date: 2014-03-28 10:43:53 UTC
  • mto: This revision was merged to the branch mainline in revision 57.
  • Revision ID: package-import@ubuntu.com-20140328104353-ekpolg0pm5xnvq2s
Tags: upstream-1.5+bzr2204
ImportĀ upstreamĀ versionĀ 1.5+bzr2204

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
import httplib
18
18
 
 
19
from django.db.models.signals import (
 
20
    post_save,
 
21
    pre_save,
 
22
    )
19
23
from django.http import (
20
24
    HttpResponse,
21
25
    HttpResponseRedirect,
22
26
    )
23
27
from maasserver.testing import (
24
28
    extract_redirect,
 
29
    NoReceivers,
25
30
    reload_object,
26
31
    reload_objects,
27
32
    )
97
102
        dead_obj = objs.pop(0)
98
103
        TestModel.objects.filter(id=dead_obj.id).delete()
99
104
        self.assertItemsEqual(objs, reload_objects(TestModel, objs))
 
105
 
 
106
 
 
107
class TestNoReceivers(MAASServerTestCase):
 
108
 
 
109
    def test_clears_and_restores_signal(self):
 
110
        # post_save already has some receivers on it, but make sure.
 
111
        self.assertNotEqual(0, len(post_save.receivers))
 
112
        old_values = list(post_save.receivers)
 
113
 
 
114
        with NoReceivers(post_save):
 
115
            self.assertEqual([], post_save.receivers)
 
116
 
 
117
        self.assertItemsEqual(old_values, post_save.receivers)
 
118
 
 
119
    def test_clears_and_restores_many_signals(self):
 
120
        self.assertNotEqual(0, len(post_save.receivers))
 
121
        self.assertNotEqual(0, len(pre_save.receivers))
 
122
        old_pre_values = pre_save.receivers
 
123
        old_post_values = post_save.receivers
 
124
 
 
125
        with NoReceivers((post_save, pre_save)):
 
126
            self.assertEqual([], post_save.receivers)
 
127
            self.assertEqual([], pre_save.receivers)
 
128
 
 
129
        self.assertItemsEqual(old_pre_values, pre_save.receivers)
 
130
        self.assertItemsEqual(old_post_values, post_save.receivers)
 
131
 
 
132
    def test_leaves_some_other_signals_alone(self):
 
133
        self.assertNotEqual(0, len(post_save.receivers))
 
134
 
 
135
        old_pre_values = pre_save.receivers
 
136
 
 
137
        with NoReceivers(post_save):
 
138
            self.assertItemsEqual(old_pre_values, pre_save.receivers)