def test_RequestUUIDBasedOnLicensePlate(self): """ test the method to request an uuid based on license plate """ licensePlates = ["AFJG21", "aFAf21", "AF-SD23", "FG-DF-45"] request = self.factory.get('/android/getUUID/') request.user = AnonymousUser() reponseView = RequestUUID() # it is a valid uuid pattern = re.compile( "^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$") for licensePlate in licensePlates: response = reponseView.get(request, licensePlate) self.assertEqual(response.status_code, 200) testUUID = json.loads(response.content) uuid = testUUID['uuid'] self.assertTrue((pattern.match(uuid.upper()) if True else False)) """ if request a second uuid with an old license plate, i must to get the same uuid """ response2 = reponseView.get(request, licensePlates[3]) testUUID2 = json.loads(response2.content) uuid2 = testUUID2['uuid'] self.assertTrue(pattern.match(uuid2.upper())) self.assertTrue(uuid == uuid2)
def test_RequestUUIDBasedOnDummyLicensePlate(self): """ test the method to request an uuid based on dummy license plate """ licensePlate = Constants.DUMMY_LICENSE_PLATE request = self.factory.get('/android/getUUID/') request.user = AnonymousUser() reponseView = RequestUUID() response = reponseView.get(request, licensePlate) self.assertEqual(response.status_code, 200) testUUID = json.loads(response.content) uuid = testUUID['uuid'] # it is a valid uuid pattern = re.compile( "^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$") self.assertTrue((pattern.match(uuid.upper()) if True else False)) """ if request a second uuid wiht dummy license plate, i must to get a new uuid """ response2 = reponseView.get(request, licensePlate) testUUID2 = json.loads(response2.content) uuid2 = testUUID2['uuid'] self.assertTrue((pattern.match(uuid2.upper()) if True else False)) self.assertFalse(uuid == uuid2)
def test_MergeEventsFromTheSameBusButDifferenceService(self): """ test the method that merge event from the same bus machine but difference service """ licencePlate = 'AA1111' busService1 = '506' busService2 = '509' eventCode1 = 'evn00230' eventCode2 = 'evn00240' eventCode3 = 'evn00232' # ask for bus and get the UUID request = self.factory.get('/android/getUUID/') view = RequestUUID() responseGetUUID = view.get(request, licencePlate) self.assertEqual(responseGetUUID.status_code, 200) testUUID = json.loads(responseGetUUID.content)['uuid'] # creat bus to create an assignment request = self.factory.get('/android/requestToken/v2/') request.user = AnonymousUser() reponseView = RequestTokenV2() response = reponseView.get(request, self.userId, busService1, testUUID) self.assertEqual(response.status_code, 200) # creat bus to create an assignment request = self.factory.get('/android/requestToken/v2/') request.user = AnonymousUser() reponseView = RequestTokenV2() response = reponseView.get(request, self.userId, busService2, testUUID) self.assertEqual(response.status_code, 200) # submitting some events to the server requestToReportEventBus = self.factory.get( '/android/reportEventBus/v2/') requestToReportEventBus.user = AnonymousUser() # send first report with service 1 reportEventBusView = RegisterEventBusV2() responseToReportEventBus = reportEventBusView.get(requestToReportEventBus, self.userId, testUUID, busService1, eventCode1, 'confirm') responseToReportEventBus = json.loads(responseToReportEventBus.content) self.assertEqual(responseToReportEventBus['uuid'], testUUID) self.assertEqual( responseToReportEventBus['registrationPlate'], licencePlate) self.assertEqual(responseToReportEventBus[ 'events'][0]['eventDecline'], 0) self.assertEqual(responseToReportEventBus[ 'events'][0]['eventConfirm'], 1) self.assertEqual(responseToReportEventBus['events'][ 0]['eventcode'], eventCode1) # send second report with service 2- We declien the previous event # reportd responseToReportEventBus = reportEventBusView.get(requestToReportEventBus, self.userId, testUUID, busService2, eventCode1, 'decline') responseToReportEventBus = json.loads(responseToReportEventBus.content) self.assertEqual(responseToReportEventBus['uuid'], testUUID) self.assertEqual( responseToReportEventBus['registrationPlate'], licencePlate) self.assertEqual(responseToReportEventBus[ 'events'][0]['eventDecline'], 1) self.assertEqual(responseToReportEventBus[ 'events'][0]['eventConfirm'], 1) self.assertEqual(responseToReportEventBus['events'][ 0]['eventcode'], eventCode1) # report second event to service responseToReportEventBus = reportEventBusView.get(requestToReportEventBus, self.userId, testUUID, busService1, eventCode2, 'confirm') responseToReportEventBus = json.loads(responseToReportEventBus.content) self.assertEqual(responseToReportEventBus['uuid'], testUUID) self.assertEqual( responseToReportEventBus['registrationPlate'], licencePlate) self.assertEqual(responseToReportEventBus[ 'events'][0]['eventDecline'], 1) self.assertEqual(responseToReportEventBus[ 'events'][0]['eventConfirm'], 1) self.assertEqual(responseToReportEventBus['events'][ 0]['eventcode'], eventCode1) self.assertEqual(responseToReportEventBus[ 'events'][1]['eventDecline'], 0) self.assertEqual(responseToReportEventBus[ 'events'][1]['eventConfirm'], 1) self.assertEqual(responseToReportEventBus['events'][ 1]['eventcode'], eventCode2) # report third event to service responseToReportEventBus = reportEventBusView.get(requestToReportEventBus, self.userId, testUUID, busService2, eventCode3, 'confirm') responseToReportEventBus = json.loads(responseToReportEventBus.content) self.assertEqual(responseToReportEventBus['uuid'], testUUID) self.assertEqual( responseToReportEventBus['registrationPlate'], licencePlate) self.assertEqual(responseToReportEventBus[ 'events'][0]['eventDecline'], 1) self.assertEqual(responseToReportEventBus[ 'events'][0]['eventConfirm'], 1) self.assertEqual(responseToReportEventBus['events'][ 0]['eventcode'], eventCode1) self.assertEqual(responseToReportEventBus[ 'events'][1]['eventDecline'], 0) self.assertEqual(responseToReportEventBus[ 'events'][1]['eventConfirm'], 1) self.assertEqual(responseToReportEventBus['events'][ 1]['eventcode'], eventCode3) self.assertEqual(responseToReportEventBus[ 'events'][2]['eventDecline'], 0) self.assertEqual(responseToReportEventBus[ 'events'][2]['eventConfirm'], 1) self.assertEqual(responseToReportEventBus['events'][ 2]['eventcode'], eventCode2)
r'^reportEventBusStop/(?P<pUserId>[0-9a-z-]+)/(?P<pBusStopCode>[\w,0-9]*)/(?P<pEventID>.*)/(?P<pLatitud>[\-+]?[0-9]*\.?[0-9]*)/(?P<pLongitud>[\-+]?[0-9]*\.?[0-9]*)/(?P<pConfirmDecline>.*)$', RegisterEventBusStop.as_view()), url( r'^reportEventBusStop/(?P<pUserId>[0-9a-z-]+)/(?P<pBusStopCode>[\w,0-9]*)/(?P<pEventID>.*)/(?P<pConfirmDecline>.*)$', RegisterEventBusStop.as_view()), # List of events that depend of parameter pWhich={stopstop,stopbus, busbus} url(r'^requestEventsToNotified/(?P<pWhich>[\w,0-9]*)$', RequestEventsToNotified.as_view()), # List of bus events url( r'^requestEventsForBus/(?P<pRegistrationPlate>[\w,0-9,-]{6,8})/(?P<pBusService>[\w,0-9]*)$', EventsByBus.as_view()), url(r'^requestEventsForBus/v2/(?P<pUuid>[0-9a-z-]+)$', EventsByBusV2.as_view()), # List of bus stop events url( r'^requestEventsForBusStop/(?P<pBusStopCode>[\w,0-9]*)$', EventsByBusStop.as_view()), # List of bus stop of a service url( r'^requestBusStopsForService/(?P<pBusService>[\w,0-9]*)$', BusStopsByService.as_view()), url( r'^requestRouteForService/(?P<pBusService>[\w,0-9]*)/(?P<pLat1>[\-+]?[0-9]*\.?[0-9]*)/(?P<pLon1>[\-+]?[0-9]*\.?[0-9]*)/(?P<pLat2>[\-+]?[0-9]*\.?[0-9]*)/(?P<pLon2>[\-+]?[0-9]*\.?[0-9]*)$', ServiceRoute.as_view()), # setDirection receives parameter by POST url(r'^setDirection$', SetDirection.as_view()), url(r'^getUUID/(?P<pLicensePlate>[\w,0-9,-]{6,8})$', RequestUUID.as_view()), ]