def test_non_unicode(self): response = self.client.post(self.URL, '\x80abc', **REQUEST_HEADERS) self.assertEqual(response.status_code, 200, response.data) ReistijdenConsumer().consume(end_at_empty_queue=True) self.assertEqual(Message.objects.count(), 0) self.assertEqual(FailedMessage.objects.count(), 1)
def test_post_wrongly_formatted_message_structure(self): response = self.client.post(self.URL, '<root>wrong structure</root>', **REQUEST_HEADERS) self.assertEqual(response.status_code, 200, response.data) ReistijdenConsumer().consume(end_at_empty_queue=True) self.assertEqual(Message.objects.count(), 0) self.assertEqual(FailedMessage.objects.count(), 1)
def test_empty_measurement(self): response = self.client.post(self.URL, TEST_POST_EMPTY, **REQUEST_HEADERS) self.assertEqual(response.status_code, 200, response.data) ReistijdenConsumer().consume(end_at_empty_queue=True) self.assertEqual(Publication.objects.all().count(), 1) self.assertEqual(Measurement.objects.all().count(), 0) self.assertEqual(Location.objects.all().count(), 0) self.assertEqual(Lane.objects.all().count(), 0) self.assertEqual(TravelTime.objects.all().count(), 0) self.assertEqual(IndividualTravelTime.objects.all().count(), 0) self.assertEqual(MeasuredFlow.objects.all().count(), 0) self.assertEqual(Category.objects.all().count(), 0)
def test_post_new_traffic_flow(self): """Test posting a new vanilla traffic flow message""" response = self.client.post(self.URL, TEST_POST_TRAFFIC_FLOW, **REQUEST_HEADERS) self.assertEqual(response.status_code, 200, response.data) ReistijdenConsumer().consume(end_at_empty_queue=True) self.assertEqual(Publication.objects.all().count(), 1) self.assertEqual(Measurement.objects.all().count(), 3) self.assertEqual(Location.objects.all().count(), 3) self.assertEqual(Lane.objects.all().count(), 3) self.assertEqual(TravelTime.objects.all().count(), 0) self.assertEqual(IndividualTravelTime.objects.all().count(), 0) self.assertEqual(MeasuredFlow.objects.all().count(), 4) self.assertEqual(Category.objects.all().count(), 5)
def test_missing_location_contained_in_itinerary(self): response = self.client.post( self.URL, TEST_POST_MISSING_locationContainedInItinerary, **REQUEST_HEADERS) self.assertEqual(response.status_code, 200, response.data) ReistijdenConsumer().consume(end_at_empty_queue=True) self.assertEqual(Publication.objects.all().count(), 1) self.assertEqual(Measurement.objects.all().count(), 3) self.assertEqual(Location.objects.all().count(), 2) self.assertEqual(Lane.objects.all().count(), 3) self.assertEqual(TravelTime.objects.all().count(), 9) self.assertEqual(IndividualTravelTime.objects.all().count(), 0) self.assertEqual(MeasuredFlow.objects.all().count(), 0) self.assertEqual(Category.objects.all().count(), 0)
def test_post_new_individual_travel_time_with_single_measurement(self): """ Test posting a new individual travel time message with a single measurement """ response = self.client.post( self.URL, TEST_POST_INDIVIDUAL_TRAVEL_TIME_SINGLE_MEASUREMENT, **REQUEST_HEADERS, ) self.assertEqual(response.status_code, 200, response.data) ReistijdenConsumer().consume(end_at_empty_queue=True) self.assertEqual(Publication.objects.all().count(), 1) self.assertEqual(Measurement.objects.all().count(), 1) self.assertEqual(Location.objects.all().count(), 2) self.assertEqual(Lane.objects.all().count(), 2) self.assertEqual(TravelTime.objects.all().count(), 0) self.assertEqual(IndividualTravelTime.objects.all().count(), 2) self.assertEqual(MeasuredFlow.objects.all().count(), 0) self.assertEqual(Category.objects.all().count(), 0)
def test_expaterror(self): response = self.client.post(self.URL, TEST_POST_WRONG_TAGS, **REQUEST_HEADERS) self.assertEqual(response.status_code, 200, response.data) ReistijdenConsumer().consume(end_at_empty_queue=True) self.assertEqual( FailedMessage.objects.filter( consume_fail_info__icontains='not well-formed (invalid token): ' 'line 11, column 5').count(), 1, ) self.assertEqual(Publication.objects.all().count(), 0) self.assertEqual(Measurement.objects.all().count(), 0) self.assertEqual(Location.objects.all().count(), 0) self.assertEqual(Lane.objects.all().count(), 0) self.assertEqual(TravelTime.objects.all().count(), 0) self.assertEqual(IndividualTravelTime.objects.all().count(), 0) self.assertEqual(MeasuredFlow.objects.all().count(), 0) self.assertEqual(Category.objects.all().count(), 0)