def test_to_json(self): api_key = '1234' platform = '1' message = '2' intent = '3' version = '4' user_id = '5' time_stamp = int(round(time.time() * 1e3)) i = Message(api_key=api_key, platform=platform, message=message, intent=intent, version=version, user_id=user_id, type=MessageTypes.USER, not_handled=True, time_stamp=time_stamp) i.set_as_feedback() self.assertEqual( json.loads(i.to_json()), { 'api_key': api_key, 'platform': platform, 'message': message, 'intent': intent, 'version': version, 'user_id': user_id, 'time_stamp': time_stamp, 'type': MessageTypes.USER, # since we did not set as type agent 'not_handled': True, 'feedback': True })
def publish(self, userQuery, botResponse, not_handled, userId): time_stamp = int(round(time.time() * 1e3)) # Mandatory # Create an instance of MessageSet to collect all the messages message_set = MessageSet(api_key=str(self.api_key), platform=self.platform, version=self.version, user_id=userId) # Create an instance of Message for the user message and set values in the constructor msg1 = Message(api_key=self.api_key, platform=self.platform, message=userQuery, intent=self.intent, version=self.version, user_id=userId, type=MessageTypes.USER, not_handled=not_handled, time_stamp=time_stamp) # Set the message as "handled" because the NLP was able to successfully decode the intent msg1.set_as_feedback() # Create an instance of Message for the bot response message and set values in the constructor msg2 = Message(api_key=self.api_key, platform=self.platform, message=botResponse, version=self.version, user_id=userId, type=MessageTypes.AGENT) print("User id", userId) # Push messages into the collection (MessageSet) message_set.append_message(msg1) message_set.append_message(msg2) # Send the messages response = message_set.send() print('Response code for sending Chatbase Message', response.content)
def test_message_set_append_message(self): api_key = '1234' platform = '1' message = '2' intent = '3' version = '4' user_id = '5' time_stamp = int(round(time.time() * 1e3)) msg1 = Message(api_key=api_key, platform=platform, message=message, intent=intent, version=version, user_id=user_id, type=MessageTypes.USER, not_handled=True, time_stamp=time_stamp) msg1.set_as_feedback() msg2 = Message(api_key=api_key, platform=platform, message=message, version=version, user_id=user_id, type=MessageTypes.AGENT) message_set = MessageSet(api_key=api_key, platform=platform, version=version, user_id=user_id) message_set.append_message(msg1) message_set.append_message(msg2) msg1 = message_set.messages[0] self.assertEqual( json.loads(msg1.to_json()), { 'api_key': api_key, 'platform': platform, 'message': message, 'intent': intent, 'version': version, 'user_id': user_id, 'time_stamp': time_stamp, 'type': MessageTypes.USER, # since we did not set as type agent 'not_handled': True, 'feedback': True }) msg2 = message_set.messages[1] self.assertEqual( json.loads(msg2.to_json()), { 'api_key': api_key, 'platform': platform, 'message': message, 'intent': msg2.intent, 'version': version, 'user_id': user_id, 'time_stamp': msg2.time_stamp, 'type': MessageTypes.AGENT, # since we did set as type agent 'not_handled': False, 'feedback': False })
def test_feedback_setting(self): i = Message() i.set_as_feedback() self.assertTrue(i.feedback) i.set_as_not_feedback() self.assertFalse(i.feedback)