def test_start(self): del_msg = Message({ "id": 2266, "code": 200, "method": "post", "resource": "/controller/registration", "sign": ["controller"] }) msg = Message({ "id": 1234, "code": 200, "method": "post", "resource": "/controller/registration", "sign": ["controller"], "data": { "tunnel": "good_luck_sanji" } }) thread = Thread(target=self.test_model.start) thread.daemon = True thread.start() thread.join(0.1) for msg_id in self.test_model._session.session_list: del_msg.id = msg_id self.test_model.res_queue.put(del_msg) thread.join(0.1) for msg_id in self.test_model._session.session_list: msg.id = msg_id self.test_model.res_queue.put(msg) thread.join(1) self.assertFalse(thread.is_alive())
def test_create(self): message1 = Message({}, generate_id=True) message2 = Message({}, generate_id=True) message3 = Message({}, generate_id=True) # create session as normal self.session.create(message1) self.assertEqual(self.session.session_list[message1.id]["message"], message1) # id duplicate message2.id = message1.id session = self.session.create(message2) self.assertNotEqual(session, None) message3.id = message1.id with self.assertRaises(SessionError): self.session.create(message3, force=False)