def test_callback_var_args():
    holder = []
    d = Deferred()
    d.add_callback(lambda *args, **kwargs: holder.append((args, kwargs)), 2, 3, a=4, b=5)
    d.callback(1)

    assert holder[0] == ((1, 2, 3), {'a': 4, 'b': 5})
def test_callback_resolution():
    d = Deferred()
    d.add_callback(lambda r: fail(Exception(r + "b")))
    d.add_errback(lambda e: e.value.args[0] + "c")
    d.add_callbacks(lambda r: r + "d", lambda e: e.value.args[0] + 'f')

    d.callback("a")

    assert d.result == "abcd"
示例#3
0
def test_callback_resolution():
    d = Deferred()
    d.add_callback(lambda r: fail(Exception(r + "b")))
    d.add_errback(lambda e: e.value.args[0] + "c")
    d.add_callbacks(lambda r: r + "d", lambda e: e.value.args[0] + 'f')

    d.callback("a")

    assert d.result == "abcd"
def test_callback_raises_exception():
    def callback(val):
        raise AttributeError(val)

    d = Deferred()
    d.add_callback(callback)
    d.callback('test')

    assert isinstance(d.result, DeferredException)
    assert isinstance(d.result.value, AttributeError)
    assert d.result.value.args[0] == "test"
示例#5
0
def test_callback_var_args():
    holder = []
    d = Deferred()
    d.add_callback(lambda *args, **kwargs: holder.append((args, kwargs)),
                   2,
                   3,
                   a=4,
                   b=5)
    d.callback(1)

    assert holder[0] == ((1, 2, 3), {'a': 4, 'b': 5})
示例#6
0
def test_callback_raises_exception():
    def callback(val):
        raise AttributeError(val)

    d = Deferred()
    d.add_callback(callback)
    d.callback('test')

    assert isinstance(d.result, DeferredException)
    assert isinstance(d.result.value, AttributeError)
    assert d.result.value.args[0] == "test"
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
示例#8
0
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_callbacks_and_errbacks_return_original_deferred():
    d = Deferred()
    assert d.add_callback(lambda a: None) is d
    assert d.add_errback(lambda a: None) is d
    assert d.add_callbacks(lambda a: None, lambda a: None) is d
示例#10
0
def test_callbacks_and_errbacks_return_original_deferred():
    d = Deferred()
    assert d.add_callback(lambda a: None) is d
    assert d.add_errback(lambda a: None) is d
    assert d.add_callbacks(lambda a: None, lambda a: None) is d