def test_transform(self): orig_f = tornado.concurrent.Future() transform = mock.Mock() trans_f = resource_client.transform_future(transform, orig_f) retval = mock.Mock() orig_f.set_result(retval) self.assertIs(trans_f.result(), transform.return_value) transform.assert_called_once_with(retval)
def test_exception_in_future(self): class AnException(Exception): pass @tornado.gen.coroutine def raiser(): raise AnException orig_f = raiser() transform = mock.Mock() trans_f = resource_client.transform_future(transform, orig_f) with self.assertRaises(AnException): trans_f.result()
def test_exception_in_transform(self): orig_f = tornado.concurrent.Future() transform = mock.Mock() class AnException(Exception): pass transform.side_effect = AnException trans_f = resource_client.transform_future(transform, orig_f) retval = mock.Mock() orig_f.set_result(retval) transform.assert_called_once_with(retval) with self.assertRaises(AnException): trans_f.result()