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']), }
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)
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)
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)
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)