예제 #1
0
def test_get_should_raise_on_failure():
    promise = Promise()
    try:
        1 / 0
    except ZeroDivisionError:
        traceback.print_exc()
        promise.failure(sys.exc_info())

    with pytest.raises(ZeroDivisionError):
        promise.future.get()
예제 #2
0
def test_get_should_raise_on_failure():
    promise = Promise()
    try:
        1/0
    except ZeroDivisionError:
        traceback.print_exc()
        promise.failure(sys.exc_info())

    with pytest.raises(ZeroDivisionError):
        promise.future.get()
예제 #3
0
def test_calls_callback_on_failure():
    callback = Mock()
    promise = Promise()
    promise.future.on_failure(callback)
    promise.failure(None)
    callback.assert_called_once_with(promise.future)
예제 #4
0
def test_calls_callback_on_success():
    callback = Mock()
    promise = Promise()
    promise.future.on_success(callback)
    promise.success(None)
    callback.assert_called_once_with(promise.future)
예제 #5
0
def test_get_should_return_on_success():
    promise = Promise()
    promise.success(1)
    assert promise.future.get() == 1
예제 #6
0
def test_calls_callback_on_failure():
    callback = Mock()
    promise = Promise()
    promise.future.on_failure(callback)
    promise.failure(None)
    callback.assert_called_once_with(promise.future)
예제 #7
0
def test_calls_callback_on_success():
    callback = Mock()
    promise = Promise()
    promise.future.on_success(callback)
    promise.success(None)
    callback.assert_called_once_with(promise.future)
예제 #8
0
def test_get_should_return_on_success():
    promise = Promise()
    promise.success(1)
    assert promise.future.get() == 1