Esempio n. 1
0
    def test_to_document_with_id(self):

        client = TestClient()
        client_context = client.create_client_context("testuser")

        convo = Convo(client_context)

        question = Question.create_from_text(client_context, "Hello world")
        question.current_sentence()._response = "Hello matey"
        convo.record_dialog(question)

        conversation = Conversation(client_context, convo)
        conversation.id = '666'

        doc = conversation.to_document()
        self.assertEqual(
            {
                '_id': '666',
                'clientid': 'testclient',
                'userid': 'testuser',
                'botid': 'bot',
                'brainid': 'brain',
                'conversation': {
                    'client_context': {
                        'clientid': 'testclient',
                        'userid': 'testuser',
                        'botid': 'bot',
                        'brainid': 'brain',
                        'depth': 0
                    },
                    'questions': [{
                        'srai':
                        False,
                        'sentences': [{
                            'words': ['Hello', 'world'],
                            'response': 'Hello matey',
                            'positivity': 0.0,
                            'subjectivity': 0.5
                        }],
                        'current_sentence_no':
                        -1,
                        'properties': {}
                    }],
                    'max_histories':
                    100,
                    'properties': {
                        'topic': '*'
                    }
                }
            }, doc)
Esempio n. 2
0
    def test_repr_with_id(self):
        client = TestClient()
        client_context = client.create_client_context("testuser")

        convo = Convo(client_context)

        question = Question.create_from_text(client_context, "Hello world")
        question.current_sentence()._response = "Hello matey"
        convo.record_dialog(question)

        conversation = Conversation(client_context, convo)
        conversation.id = '1'

        self.assertEquals(
            "<Conversation(id='1', client='testclient', user='******', bot='bot', brain='brain')",
            str(conversation))
Esempio n. 3
0
    def from_document(client_context, data):
        conversation = Conversation(client_context, None)
        if '_id' in data:
            conversation.id = data['_id']
        if 'clientid' in data:
            conversation.clientid = data['clientid']
        if 'userid' in data:
            conversation.userid = data['userid']
        if 'botid' in data:
            conversation.botid = data['botid']
        if 'brainid' in data:
            conversation.brainid = data['brainid']

        if 'conversation' in data:
            conversation.conversation = Convo(client_context)
            conversation.conversation.from_json(data['conversation'])

        return conversation
Esempio n. 4
0
    def test_init_context_and_converstion(self):

        client = TestClient()
        client_context = client.create_client_context("tesuser")

        convo = Convo(client_context)

        question = Question.create_from_text(client_context, "Hello world")
        question.current_sentence()._response = "Hello matey"
        convo.record_dialog(question)

        conversation = Conversation(client_context, convo)
        self.assertIsNotNone(conversation)

        self.assertEqual(client_context.client.id, conversation.clientid)
        self.assertEqual(client_context.userid, conversation.userid)
        self.assertEqual(client_context.bot.id, conversation.botid)
        self.assertEqual(client_context.brain.id, conversation.brainid)
        self.assertIsNotNone(conversation.conversation)

        doc = conversation.to_document()
        self.assertEqual(
            {
                'clientid': 'testclient',
                'userid': 'tesuser',
                'botid': 'bot',
                'brainid': 'brain',
                'conversation': {
                    'client_context': {
                        'clientid': 'testclient',
                        'userid': 'tesuser',
                        'botid': 'bot',
                        'brainid': 'brain',
                        'depth': 0
                    },
                    'questions': [{
                        'sentences': [{
                            'positivity': 0.0,
                            'question': 'Hello world',
                            'response': 'Hello matey',
                            'subjectivity': 0.5
                        }],
                        'srai':
                        False,
                        'properties': {},
                        'current_sentence_no':
                        -1
                    }],
                    'max_histories':
                    100,
                    'properties': {
                        'topic': '*'
                    }
                }
            }, doc)

        conversation2 = Conversation.from_document(client_context, doc)
        self.assertIsNotNone(conversation2)
        self.assertEqual(conversation2.clientid, conversation.clientid)
        self.assertEqual(conversation2.userid, conversation.userid)
        self.assertEqual(conversation2.botid, conversation.botid)
        self.assertEqual(conversation2.brainid, conversation.brainid)