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)
Exemple #8
0
 def test_translate_message_response_is_correct(self):
     # Проверка соответствия выведенного статуса, статусу о корректной работе
     self.assertEqual(translate_message({'response': 200}), 200)
Exemple #9
0
 def test_translate_message_type(self):
     # Проверка правильности типа внесённого сообщения
     with self.assertRaises(TypeError):
         translate_message(100)