def test_callback_result_transformation(): d = succeed(5) d.add_callback(lambda r: r + 5) assert d.result == 10 d.add_callback(lambda r: succeed(r + 5)) assert d.result == 15
def test_deferred_list_with_already_resolved_deferred_values(): dl = DeferredList([ 1, succeed(2), succeed(3) ]) assert dl.called assert dl.result == [1, 2, 3]
def test_nested_succeed(): d = succeed(succeed('123')) assert d.result == "123" assert d.called assert not d.callbacks d = succeed(succeed(succeed('123'))) assert d.result == "123" assert d.called assert not d.callbacks
class DeepData(object): a = 'Already Been Done' b = 'Boring' c = ['Contrived', None, succeed('Confusing')] def deeper(self): return [Data(), None, succeed(Data())]
def test_deferred_callback_returns_another_deferred(): d = Deferred() d2 = Deferred() d.add_callback(lambda r: succeed(r + 5).add_callback(lambda v: v + 5)) d.add_callback(lambda r: d2) d.callback(5) assert d.result is d2 assert d.paused assert d.called d2.callback(7) assert d.result == 7 assert d2.result == 7
def test_deferred_list_fails(): d1 = Deferred() d2 = Deferred() d3 = Deferred() dl = DeferredList([1, succeed(2), d1, d2, d3]) assert not dl.called e1 = Exception('d1 failed') d1.errback(e1) d2.errback(Exception('d2 failed')) d3.callback('hello') assert dl.called assert isinstance(dl.result, DeferredException) assert dl.result.value == e1
def test_deferred_list_fails(): d1 = Deferred() d2 = Deferred() d3 = Deferred() dl = DeferredList([ 1, succeed(2), d1, d2, d3 ]) assert not dl.called e1 = Exception('d1 failed') d1.errback(e1) d2.errback(Exception('d2 failed')) d3.callback('hello') assert dl.called assert isinstance(dl.result, DeferredException) assert dl.result.value == e1
def test_succeed(): d = succeed("123") assert d.result == "123" assert d.called assert not d.callbacks
def promise(self): return succeed(Data())
def promise(self): return succeed('i shouldn\'nt work')
def deeper(self): return [Data(), None, succeed(Data())]
def pic(self, size=50): return succeed('Pic of size: {}'.format(size))
def f(self): return succeed('Fish')
def test_deferred_list_with_already_resolved_deferred_values(): dl = DeferredList([1, succeed(2), succeed(3)]) assert dl.called assert dl.result == [1, 2, 3]