~ltrager/maas/lp1654432_2.1

« back to all changes in this revision

Viewing changes to src/provisioningserver/utils/tests/test_twisted.py

  • Committer: LaMont Jones
  • Date: 2016-10-12 15:26:17 UTC
  • mfrom: (5469 maas)
  • mto: This revision was merged to the branch mainline in revision 5482.
  • Revision ID: lamont@canonical.com-20161012152617-t14n2jt7y5b7hidb
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
273
273
        self.assertThat(synchronous(return_args), Provides(ISynchronous))
274
274
 
275
275
 
 
276
class TestSynchronousDecoratorSychronously(MAASTestCase):
 
277
    """Test `synchronous` outside of the reactor thread."""
 
278
 
 
279
    def test__raises_TypeError_when_call_returns_Deferred(self):
 
280
        @synchronous
 
281
        def deferSomething(*args, **kwargs):
 
282
            return Deferred()
 
283
 
 
284
        a, b = factory.make_name("a"), factory.make_name("b")
 
285
        error = self.assertRaises(TypeError, deferSomething, a, b=b)
 
286
        self.assertThat(str(error), Equals(
 
287
            "Synchronous call returned a Deferred: %s(%r, b=%r)"
 
288
            % (deferSomething.__qualname__, a, b)))
 
289
 
 
290
    def test__raises_TypeError_when_callable_returns_Deferred(self):
 
291
        class Something:
 
292
            def __call__(self, *args, **kwargs):
 
293
                return Deferred()
 
294
 
 
295
        something = Something()
 
296
        a, b = factory.make_name("a"), factory.make_name("b")
 
297
        error = self.assertRaises(TypeError, synchronous(something), a, b=b)
 
298
        self.assertThat(str(error), Equals(
 
299
            "Synchronous call returned a Deferred: %s(%r, b=%r)"
 
300
            % (Something.__qualname__, a, b)))
 
301
 
 
302
 
276
303
class TestRetries(MAASTestCase):
277
304
 
278
305
    def assertRetry(