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

"""
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"