|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_name_taken(): |
|
|
def test_name_taken(): |
|
|
client1 = _make_client('ws://localhost:8642/', 0.10, Script() |
|
|
|
|
|
|
|
|
client1 = _make_client('ws://localhost:8642/A', 0.10, Script() |
|
|
+ {'kind': 'login', 'value': 'A'} |
|
|
+ {'kind': 'login', 'value': 'A'} |
|
|
- {'kind': 'state', 'username': 'A'} |
|
|
- {'kind': 'state', 'username': 'A'} |
|
|
- {'kind': 'state', 'online': ['A']} |
|
|
- {'kind': 'state', 'online': ['A']} |
|
|
- {'kind': 'state', 'online': ['A', 'B']} |
|
|
- {'kind': 'state', 'online': ['A', 'B']} |
|
|
) |
|
|
) |
|
|
client2 = _make_client('ws://localhost:8642/', 0.11, Script() |
|
|
|
|
|
|
|
|
client2 = _make_client('ws://localhost:8642/A', 0.11, Script() |
|
|
+ {'kind': 'login', 'value': 'A'} |
|
|
+ {'kind': 'login', 'value': 'A'} |
|
|
- {'kind': 'error', 'value': 'Username taken'} |
|
|
- {'kind': 'error', 'value': 'Username taken'} |
|
|
) |
|
|
) |
|
|
client3 = _make_client('ws://localhost:8642/', 0.12, Script() |
|
|
|
|
|
|
|
|
client3 = _make_client('ws://localhost:8642/A', 0.12, Script() |
|
|
+ {'kind': 'login', 'value': 'B'} |
|
|
+ {'kind': 'login', 'value': 'B'} |
|
|
- {'kind': 'state', 'username': 'B'} |
|
|
- {'kind': 'state', 'username': 'B'} |
|
|
- {'kind': 'state', 'online': ['A', 'B']} |
|
|
- {'kind': 'state', 'online': ['A', 'B']} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_interaction(): |
|
|
def test_interaction(): |
|
|
client1 = _make_client('ws://localhost:8642/', 0.10, Script() |
|
|
|
|
|
|
|
|
client1 = _make_client('ws://localhost:8642/A', 0.10, Script() |
|
|
+ {'kind': 'login', 'value': 'Alice'} |
|
|
+ {'kind': 'login', 'value': 'Alice'} |
|
|
- {'kind': 'state', 'username': 'Alice'} |
|
|
- {'kind': 'state', 'username': 'Alice'} |
|
|
- {'kind': 'state', 'online': ['Alice']} |
|
|
- {'kind': 'state', 'online': ['Alice']} |
|
|
|
|
|
|
|
|
- {'kind': 'post', 'value': 'Hey Bob!', 'source': 'Alice'} |
|
|
- {'kind': 'post', 'value': 'Hey Bob!', 'source': 'Alice'} |
|
|
- {'kind': 'post', 'value': 'Howdy!', 'source': 'Bob'} |
|
|
- {'kind': 'post', 'value': 'Howdy!', 'source': 'Bob'} |
|
|
) |
|
|
) |
|
|
client2 = _make_client('ws://localhost:8642/', 0.11, Script() |
|
|
|
|
|
|
|
|
client2 = _make_client('ws://localhost:8642/A', 0.11, Script() |
|
|
+ {'kind': 'login', 'value': 'Bob'} |
|
|
+ {'kind': 'login', 'value': 'Bob'} |
|
|
- {'kind': 'state', 'username': 'Bob'} |
|
|
- {'kind': 'state', 'username': 'Bob'} |
|
|
- {'kind': 'state', 'online': ['Alice', 'Bob']} |
|
|
- {'kind': 'state', 'online': ['Alice', 'Bob']} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_private_message(): |
|
|
def test_private_message(): |
|
|
client1 = _make_client('ws://localhost:8642/', 0.10, Script() |
|
|
|
|
|
|
|
|
client1 = _make_client('ws://localhost:8642/A', 0.10, Script() |
|
|
+ {'kind': 'login', 'value': 'Norman'} |
|
|
+ {'kind': 'login', 'value': 'Norman'} |
|
|
- {'kind': 'state', 'username': 'Norman'} |
|
|
- {'kind': 'state', 'username': 'Norman'} |
|
|
- {'kind': 'state', 'online': ['Norman']} |
|
|
- {'kind': 'state', 'online': ['Norman']} |
|
|
|
|
|
|
|
|
- {'kind': 'post', 'value': '1', 'source': 'Norman'} |
|
|
- {'kind': 'post', 'value': '1', 'source': 'Norman'} |
|
|
- {'kind': 'post', 'value': '3', 'source': 'Emma'} |
|
|
- {'kind': 'post', 'value': '3', 'source': 'Emma'} |
|
|
) |
|
|
) |
|
|
client2 = _make_client('ws://localhost:8642/', 0.11, Script() |
|
|
|
|
|
|
|
|
client2 = _make_client('ws://localhost:8642/A', 0.11, Script() |
|
|
+ {'kind': 'login', 'value': 'Ray'} |
|
|
+ {'kind': 'login', 'value': 'Ray'} |
|
|
- {'kind': 'state', 'username': 'Ray'} |
|
|
- {'kind': 'state', 'username': 'Ray'} |
|
|
- {'kind': 'state', 'online': ['Norman', 'Ray']} |
|
|
- {'kind': 'state', 'online': ['Norman', 'Ray']} |
|
|
|
|
|
|
|
|
- {'kind': 'post', 'value': '2', 'source': 'Ray'} |
|
|
- {'kind': 'post', 'value': '2', 'source': 'Ray'} |
|
|
- {'kind': 'state', 'online': ['Ray', 'Emma']} |
|
|
- {'kind': 'state', 'online': ['Ray', 'Emma']} |
|
|
) |
|
|
) |
|
|
client3 = _make_client('ws://localhost:8642/', 0.12, Script() |
|
|
|
|
|
|
|
|
client3 = _make_client('ws://localhost:8642/A', 0.12, Script() |
|
|
+ {'kind': 'login', 'value': 'Emma'} |
|
|
+ {'kind': 'login', 'value': 'Emma'} |
|
|
- {'kind': 'state', 'username': 'Emma'} |
|
|
- {'kind': 'state', 'username': 'Emma'} |
|
|
- {'kind': 'state', 'online': ['Norman', 'Ray', 'Emma']} |
|
|
- {'kind': 'state', 'online': ['Norman', 'Ray', 'Emma']} |