Example #1
0
    def setUp(self):
        self.dimension = dimensions.get_dimension('time')

        self.internal_filter = {
            'dimension': self.dimension,
            'min_time': now(),
            'max_time': now() + timedelta(minutes=5),
        }

        self.external_filter = {
            'dimension': self.dimension.key,
            'min_time': api_time_format(self.internal_filter['min_time']),
            'max_time': api_time_format(self.internal_filter['max_time']),
        }
Example #2
0
    def setUp(self):
        self.dimension = dimensions.get_dimension('time')

        self.internal_filter = {
            'dimension': self.dimension,
            'min_time': now(),
            'max_time': now() + timedelta(minutes=5),
        }

        self.external_filter = {
            'dimension': self.dimension.key,
            'min_time': api_time_format(self.internal_filter['min_time']),
            'max_time': api_time_format(self.internal_filter['max_time']),
        }
Example #3
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)
Example #4
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)
Example #5
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)
Example #6
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)