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
         })
Exemple #2
0
    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)