You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.5 KiB
42 lines
1.5 KiB
"""
|
|
file: test_server.py
|
|
|
|
adds server functionality-tests for pytest
|
|
|
|
date: 11.07.2019
|
|
"""
|
|
import pytest
|
|
|
|
|
|
def test_ping(server):
|
|
assert server.ping(server, "tolsun.oulu.fi") == "PONG"
|
|
|
|
|
|
@pytest.mark.parametrize("test_input,expected", [("password", True), ("wrong password", False)])
|
|
def test_command_pass(server, test_input, expected):
|
|
server.password = "password"
|
|
assert server.command_pass(server, test_input) == expected
|
|
|
|
|
|
def create_user_dict():
|
|
user_dict = dict()
|
|
user_id = "user"
|
|
for i in range(0, 9):
|
|
user_dict[(user_id + str(i))] = dict()
|
|
|
|
return user_dict
|
|
|
|
|
|
@pytest.mark.parametrize("user_dict, user_to_change, nickname, expected_result",
|
|
[
|
|
(create_user_dict(), "user2", "wayne", True),
|
|
(create_user_dict(), "user2", "user4", True),
|
|
(create_user_dict(), "user2", "christoph", True),
|
|
(create_user_dict(), "user2", "user19", True),
|
|
({"WiZ": {}}, "WiZ", "Kilroy", True)])
|
|
def test_change_nickname(server, user_dict, user_to_change, nickname, expected_result):
|
|
server.user_dict = user_dict.copy()
|
|
assert server.command_nickname(server, user_to_change, nickname) == expected_result
|
|
assert user_to_change not in server.user_dict
|
|
if nickname in user_dict:
|
|
assert nickname not in server.user_dict, nickname + " should have been deleted due to name collision"
|