Example #1
0
def test_call_state_refuse_during_call():
    received_events = set()

    def listener(event, call_state):
        received_events.add(call_state.get_current_state())

    c = CallState()
    c.add_listener(listener)
    assert c.is_disconnected

    # disconnected -> ringing
    c.permit()
    assert c.is_ringing
    assert 'ringing' in received_events

    # ringing -> connected
    c.answer()
    assert c.is_connected
    assert 'connected' in received_events

    received_events = set()

    # connected -> refusing
    c.refuse()
    assert c.is_refusing
    assert 'refusing' in received_events

    assert c.is_refusing
    assert 'connected' not in received_events

    # refusing -> disconnected
    c.hangup()
    assert c.is_disconnected
    assert 'disconnected' in received_events
Example #2
0
def test_call_state_refuse():
    received_events = set()

    def listener(event, call_state):
        received_events.add(call_state.get_current_state())

    c = CallState()
    c.add_listener(listener)
    assert c.is_disconnected

    # disconnected -> refusing
    c.refuse()
    assert c.is_refusing
    assert 'refusing' in received_events

    try:
        # refusing -> connected is not possible
        c.answer()
        raise AssertionError('can not trannsition from refusing to connected')
    except:
        pass
    assert c.is_refusing
    assert 'connected' not in received_events

    # refusing -> disconnected
    c.hangup()
    assert c.is_disconnected
    assert 'disconnected' in received_events