From f440ce18b724f1f0f08ff8b444a622c97025a8b4 Mon Sep 17 00:00:00 2001 From: Wayne Date: Fri, 12 Jul 2019 00:50:01 +0200 Subject: [PATCH] add RFC1459 4.1.2 Nick message --- src/server.py | 8 ++++++++ test/test_server.py | 26 +++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/server.py b/src/server.py index 58447d2..3031407 100644 --- a/src/server.py +++ b/src/server.py @@ -24,6 +24,14 @@ class Handler_TCPServer(socketserver.BaseRequestHandler): def command_pass(self, param): return param == self.password + def command_nickname(self, nickname): + if nickname not in self.user_list: + self.user_list.append(nickname) + return True + else: + return False + + if __name__ == "__main__": HOST, PORT = "localhost", 9999 diff --git a/test/test_server.py b/test/test_server.py index 36f4539..5dcd56a 100644 --- a/test/test_server.py +++ b/test/test_server.py @@ -1,5 +1,9 @@ """ - tests the server functionality + file: test_server.py + + adds server functionality-tests for pytest + + date: 11.07.2019 """ import pytest @@ -12,3 +16,23 @@ def test_ping(server): def test_command_pass(server, test_input, expected): server.password = "password" assert server.command_pass(server, test_input) == expected + + +def create_user_list(): + user_list = list() + user_id = "user" + for i in range(0, 9): + user_list.append((user_id + str(i))) + + return user_list + + +@pytest.mark.parametrize("user_list, nickname, expected_result", + [ + (create_user_list(), "wayne", True), + (create_user_list(), "user2", False), + (create_user_list(), "christoph", True), + (create_user_list(), "user19", True)]) +def test_change_nickname(server, user_list, nickname, expected_result): + server.user_list = create_user_list() + assert server.command_nickname(server, nickname) == expected_result