Exemplo n.º 1
0
 def test_user_already_exists(self):
     models.UserConfig(uuid=123456,
                       login="******",
                       password="******")
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 409)
Exemplo n.º 2
0
 def test_check_wrong_auth_id(self):
     auth_id = "wrong_auth_id"
     uuid = self.test.data.user[0].uuid
     run_method = controller.ProtocolMethods(self.test)
     result = run_method._ProtocolMethods__check_auth_token(uuid,
                                                            auth_id)
     self.assertFalse(result)
Exemplo n.º 3
0
 def test_add_flow_chat_double_user(self):
     self.test.data.flow[0].type = "chat"
     self.test.data.user.append(api.User())
     self.test.data.user[1].uuid = 1234567
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 200)
Exemplo n.º 4
0
async def websocket_endpoint(websocket: WebSocket):
    await websocket.accept()
    clients.append(websocket)
    logger.info("".join(
        ("Clients information: ", "host: ", str(websocket.client.host),
         " port: ", str(websocket.client.port))))
    logger.debug(str(websocket.scope))
    while True:
        try:
            data = await websocket.receive_json()
            logger.debug(str(data))
            client = controller.ProtocolMethods(data)
            await websocket.send_bytes(client.get_response())
        except WebSocketDisconnect as error:
            logger.info("".join(("Disconnection error: ", str(error))))
            clients.remove(websocket)
            break
        except (RuntimeError, JSONDecodeError) as error:
            logger.info("".join(("Runtime or Decode error: ", str(error))))
            clients.remove(websocket)
            break
        else:
            if websocket.client_state.value == 0:
                await websocket.close(code=1000)
                clients.remove(websocket)
Exemplo n.º 5
0
 def test_blank_database(self):
     login = self.test.data.user[0].login
     dbquery = models.UserConfig.selectBy(login=login).getOne()
     dbquery.delete(dbquery.id)
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 404)
Exemplo n.º 6
0
 def test_write_in_database(self):
     login = self.test.data.user[0].login
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     dbquery = models.UserConfig.selectBy(login=login).getOne()
     self.assertEqual(dbquery.authId,
                      result["data"]["user"][0]["auth_id"])
Exemplo n.º 7
0
 def test_check_true_result(self):
     uuid = self.test.data.user[0].uuid
     auth_id = self.test.data.user[0].auth_id
     run_method = controller.ProtocolMethods(self.test)
     result = run_method._ProtocolMethods__check_auth_token(uuid,
                                                            auth_id)
     self.assertTrue(result)
Exemplo n.º 8
0
 def test_all_flow(self):
     models.Flow(flowId=1,
                 timeCreated=123456,
                 flowType="flow_type",
                 title="title",
                 info="info")
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["data"]["flow"][0]["info"], "info")
Exemplo n.º 9
0
 def test_two_element_in_database(self):
     models.UserConfig(uuid=654321,
                       login="******",
                       password="******",
                       salt=b"salt",
                       key=b"key")
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 404)
Exemplo n.º 10
0
 def test_check_delete_message_in_database(self):
     controller.ProtocolMethods(self.test)
     dbquery = models.Message.selectBy(text="Hello")
     self.assertEqual(dbquery.count(), 0)
Exemplo n.º 11
0
 def test_wrong_password(self):
     self.test.data.user[0].password = "******"
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 404)
Exemplo n.º 12
0
 def test_type_of_key(self):
     controller.ProtocolMethods(self.test)
     dbquery = models.UserConfig.selectBy(login="******").getOne()
     self.assertIsInstance(dbquery.key, bytes)
Exemplo n.º 13
0
 def test_check_message_in_result(self):
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["data"]["message"][1]["text"],
                      "Hello2")
Exemplo n.º 14
0
 def test_write_text_in_database(self):
     flow_id = self.test.data.flow[0].id
     controller.ProtocolMethods(self.test)
     dbquery = models.Message.selectBy(flowID=flow_id).getOne()
     self.assertEqual(dbquery.text,
                      self.test.data.message[0].text)
Exemplo n.º 15
0
 def test_check_user_info(self):
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["data"]["user"][0]["bio"], "bio")
Exemplo n.º 16
0
 def test_wrong_flow_id(self):
     self.test.data.flow[0].id = 555
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 404)
Exemplo n.º 17
0
 def test_uuid_write_in_database(self):
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     dbquery = models.UserConfig.selectBy(login="******").getOne()
     self.assertEqual(dbquery.uuid,
                      result["data"]["user"][0]["uuid"])
Exemplo n.º 18
0
 def test_add_flow_chat_single_user(self):
     self.test.data.flow[0].type = "chat"
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["detail"], "Two users UUID must be specified for chat")
Exemplo n.º 19
0
 def test_wrong_type_method(self):
     self.test = api.ValidJSON.parse_obj(ERRORS)
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 405)
Exemplo n.º 20
0
 def test_add_flow_bad_type(self):
     self.test.data.flow[0].type = "unknown"
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["detail"], "Wrong flow type")
Exemplo n.º 21
0
 def test_add_flow_channel(self):
     self.test.data.flow[0].type = "channel"
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 200)
Exemplo n.º 22
0
 def test_write_time_in_database(self):
     flow_id = self.test.data.flow[0].id
     controller.ProtocolMethods(self.test)
     dbquery = models.Message.selectBy(flowID=flow_id).getOne()
     self.assertIsInstance(dbquery.time, int)
Exemplo n.º 23
0
 def test_new_edited_message(self):
     controller.ProtocolMethods(self.test)
     dbquery = models.Message.selectBy(id=1).getOne()
     self.assertEqual(dbquery.text, "New_Hello")
Exemplo n.º 24
0
 def test_blank_flow_table_in_database(self):
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 404)
Exemplo n.º 25
0
 def test_check_message_in_database(self):
     controller.ProtocolMethods(self.test)
     dbquery = models.Message.selectBy(time=3).getOne()
     self.assertEqual(dbquery.text, "Hello2")
Exemplo n.º 26
0
 def test_no_new_data_in_database(self):
     self.test.data.time = 444
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 404)
Exemplo n.º 27
0
 def test_ping_pong(self):
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 200)
Exemplo n.º 28
0
 def test_user_write_in_database(self):
     controller.ProtocolMethods(self.test)
     dbquery = models.UserConfig.selectBy(login="******").getOne()
     self.assertEqual(dbquery.login, "login")
Exemplo n.º 29
0
 def test_unsupported_media_type(self):
     self.test = json.dumps(NON_VALID_ERRORS)
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     self.assertEqual(result["errors"]["code"], 415)
Exemplo n.º 30
0
 def test_check_flow_in_database(self):
     run_method = controller.ProtocolMethods(self.test)
     result = json.loads(run_method.get_response())
     dbquery = models.Flow.selectBy(title="title").getOne()
     self.assertEqual(dbquery.flowId,
                      result["data"]["flow"][0]["id"])