def test_translate_message(self): # неверный тип with self.assertRaises(TypeError): translate_message(777) # обязательный ключ response with self.assertRaises(MandatoryKeyError): translate_message({'a': 'b'}) # неверная длин кода ответа with self.assertRaises(ResponseCodeLenError): translate_message({'response': '2000'}) # неверный код ответа with self.assertRaises(ResponseCodeError): translate_message({'response': 900})
from socket import socket, AF_INET, SOCK_STREAM from client import create_presence, translate_message, read_messages, write_messages from jim.utils import send_message, get_message from jim.config import * client = socket(AF_INET, SOCK_STREAM) # Создать сокет TCP addr = 'localhost' port = 7777 mode = 'w' # Соединиться с сервером client.connect((addr, port)) # Создаем сообщение presence = create_presence() # Отсылаем сообщение send_message(client, presence) # Получаем ответ response = get_message(client) # Проверяем ответ response = translate_message(response) if response['response'] == OK: # в зависимости от режима мы будем или слушать или отправлять сообщения if mode == 'r': read_messages(client) elif mode == 'w': write_messages(client) else: raise Exception('Не верный режим чтения/записи')
def test_translate_message_incor_resp(self): with self.assertRaises(ResponseCodeError): translate_message({'response': 700})
def test_translate_message_cor_resp(self): self.assertEqual(translate_message({'response': 200}), {'response': 200})
def test_translate_message_incor_resp_len(self): with self.assertRaises(ResponseCodeLenError): translate_message({'response': '5'})
def test_translate_message_not_resp(self): with self.assertRaises(MandatoryKeyError): translate_message({'one': 'two'})
def test_translate_message_inc_type(self): with self.assertRaises(TypeError): translate_message(100)
def test_translate_message_response_is_correct(self): # Проверка соответствия выведенного статуса, статусу о корректной работе self.assertEqual(translate_message({'response': 200}), 200)
def test_translate_message_type(self): # Проверка правильности типа внесённого сообщения with self.assertRaises(TypeError): translate_message(100)