Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
        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()),
]