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