Esempio n. 1
0
    def test_message_serialization(self):
        dataset = corpus_models.Dataset.objects.create(
            name="test dataset", description='description')

        sender = corpus_models.Person.objects.create(dataset=dataset,
                                                     username='******')

        message = corpus_models.Message.objects.create(dataset=dataset,
                                                       time=now(),
                                                       sender=sender,
                                                       text='I am a message')

        person_result = serializers.PersonSerializer(sender).data

        # Check the keys
        desired_result = {
            'id': message.pk,
            'dataset': message.dataset.pk,
            'sender': person_result,
            'time': api_time_format(message.time),
            'text': message.text,
            'original_id': None,
            'embedded_html': corpus_utils.render_html_tag(message.text),
            'media_url': message.media_url
        }

        serializer = serializers.MessageSerializer(message)
        result = serializer.data

        self.assertDictEqual(result, desired_result)
Esempio n. 2
0
    def test_message_serialization(self):
        dataset = corpus_models.Dataset.objects.create(name="test dataset", description='description')

        sender = corpus_models.Person.objects.create(dataset=dataset,
                                                     username='******')

        message = corpus_models.Message.objects.create(dataset=dataset,
                                                       time=now(),
                                                       sender=sender,
                                                       text='I am a message')

        person_result = serializers.PersonSerializer(sender).data

        # Check the keys
        desired_result = {
            'id': message.pk,
            'dataset': message.dataset.pk,
            'sender': person_result,
            'time': api_time_format(message.time),
            'text': message.text,
            'original_id': None,
            'embedded_html': corpus_utils.render_html_tag(message.text),
            'media_url': message.media_url
        }

        serializer = serializers.MessageSerializer(message)
        result = serializer.data

        self.assertDictEqual(result, desired_result)
Esempio n. 3
0
    def test_get_example_messages_api(self, get_example_messages):
        # fake the actual example finding
        get_example_messages.return_value = self.sample_messages

        url = reverse('example-messages')
        data = {
            "dataset": self.dataset.id,
            "filters": [
                {
                    "dimension": "time",
                    "min_time": "2015-02-02T01:19:08Z",
                    "max_time": "2015-02-02T01:19:09Z"
                }
            ],
            "focus": [
                {
                    "dimension": "time",
                    "value": "2015-02-02T01:19:09Z"
                }
            ]
        }

        expected_response = {
            "dataset": data['dataset'],
            "filters": data['filters'],
            "focus": data['focus'],
            "messages": {
                "count": 2,
                "next": None,
                "previous": None,
                "results":[
                    {
                        'id': m.id,
                        'dataset': m.dataset_id,
                        'text': m.text,
                        'time': api_time_format(m.time),
                        'sender': {
                            'id': m.sender.id,
                            'dataset': m.sender.dataset_id,
                            'original_id': m.sender.original_id,
                            'username': m.sender.username,
                            'full_name': m.sender.full_name,
                            'profile_image_processed_url': m.sender.profile_image_processed_url
                        },
                        'original_id': None,
                        'embedded_html': corpus_utils.render_html_tag(m.text),
                        'media_url': m.media_url
                    } for m in self.sample_messages
                ]
            }
        }

        response = self.client.post(url, data, format='json')

        self.assertEquals(response.data, expected_response)
        self.assertEquals(response.status_code, status.HTTP_200_OK)

        self.assertEquals(get_example_messages.call_count, 1)
Esempio n. 4
0
    def test_get_example_messages_api(self, get_example_messages):
        # fake the actual example finding
        get_example_messages.return_value = self.sample_messages

        url = reverse('example-messages')
        data = {
            "dataset":
            self.dataset.id,
            "filters": [{
                "dimension": "time",
                "min_time": "2015-02-02T01:19:08Z",
                "max_time": "2015-02-02T01:19:09Z"
            }],
            "focus": [{
                "dimension": "time",
                "value": "2015-02-02T01:19:09Z"
            }]
        }

        expected_response = {
            "dataset": data['dataset'],
            "filters": data['filters'],
            "focus": data['focus'],
            "messages": {
                "count":
                2,
                "next":
                None,
                "previous":
                None,
                "results": [{
                    'id':
                    m.id,
                    'dataset':
                    m.dataset_id,
                    'text':
                    m.text,
                    'time':
                    api_time_format(m.time),
                    'sender': {
                        'id':
                        m.sender.id,
                        'dataset':
                        m.sender.dataset_id,
                        'original_id':
                        m.sender.original_id,
                        'username':
                        m.sender.username,
                        'full_name':
                        m.sender.full_name,
                        'profile_image_processed_url':
                        m.sender.profile_image_processed_url
                    },
                    'original_id':
                    None,
                    'embedded_html':
                    corpus_utils.render_html_tag(m.text),
                    'media_url':
                    m.media_url
                } for m in self.sample_messages]
            }
        }

        response = self.client.post(url, data, format='json')

        self.assertEquals(response.data, expected_response)
        self.assertEquals(response.status_code, status.HTTP_200_OK)

        self.assertEquals(get_example_messages.call_count, 1)
Esempio n. 5
0
 def embedded_html(self):
     #return utils.get_embedded_html(self.original_id)
     return utils.render_html_tag(self.text)
Esempio n. 6
0
 def embedded_html(self):
     #return utils.get_embedded_html(self.original_id)
     return utils.render_html_tag(self.text)