Ejemplo n.º 1
0
    def test_error_logging(self):
        UploadErrorLog.objects.all().delete()

        uploader_service = UploadService(self.file)
        uploader_service.log_error(row_number=1, error="hahaha")

        retrieved_log = UploadErrorLog.objects.filter(filename=self.file.name, row_number=1, error="hahaha")
        self.assertEqual(1, retrieved_log.count())
Ejemplo n.º 2
0
    def test_error_logging(self):
        UploadErrorLog.objects.all().delete()

        uploader_service = UploadService(self.file)
        uploader_service.log_error(row_number=1, error="hahaha")

        retrieved_log = UploadErrorLog.objects.filter(filename=self.file.name,
                                                      row_number=1,
                                                      error="hahaha")
        self.assertEqual(1, retrieved_log.count())
Ejemplo n.º 3
0
    def test_remove_trailing_name_in_headers(self):
        headers = ['heheName', 'somethingCode', 'hahaName', 'blablaCode', 'hihihi', 'hohoho']

        self.assertEqual(['hehe','somethingCode', 'haha', 'blablaCode', 'hihihi', 'hohoho'],
                         UploadService.remove_trailing('Name', in_array=headers))

        self.assertEqual(['hehe', 'haha', 'hihihi', 'hohoho'],
                         UploadService.remove_trailing('Name', in_array=headers, exclude='Code'))

        self.assertEqual(['hehe', 'haha', 'hihihi', 'hohoho'],
                         UploadService.remove_trailing('Name', headers, 'Code'))
Ejemplo n.º 4
0
    def test_deletes_one_month_old_error_logs_every_time_an_instance_is_created(
            self):
        UploadErrorLog.objects.all().delete()
        error_location = UploadErrorLog.objects.create(
            model='LOCATION',
            filename=self.filename,
            error="Some errors location")
        error_now = UploadErrorLog.objects.create(filename=self.filename,
                                                  error="Some errors now")
        two_months_old_error_log = UploadErrorLog.objects.create(
            filename=self.filename, error="Some different errors")
        two_months_old_error_log.created = datetime.utcnow().replace(
            tzinfo=utc) - timedelta(days=31)
        two_months_old_error_log.save()

        UploadService(self.file)

        two_months_old_error_log = UploadErrorLog.objects.filter(
            filename=self.filename, error="Some different errors")
        self.failIf(two_months_old_error_log)

        error_location = UploadErrorLog.objects.filter(
            model='LOCATION',
            filename=self.filename,
            error="Some errors location")
        self.failUnless(error_location)
        error_now = UploadErrorLog.objects.filter(filename=self.filename,
                                                  error="Some errors now")
        self.failUnless(error_now)
Ejemplo n.º 5
0
 def clean_headers_location_type_order(self, headers):
     headers = UploadService.remove_trailing('Name', in_array=headers, exclude='Code')
     headers = [header.upper() for header in headers]
     if headers[0] == 'COUNTRY':
         headers.pop(0)
     location_types = [loc.name.upper() for loc in LocationType.all().exclude(name__iexact='COUNTRY')]
     if not location_types == headers:
         raise ValidationError('Location types not in order. Please refer to input file format.')
Ejemplo n.º 6
0
    def test_remove_trailing_name_in_headers(self):
        headers = [
            'heheName', 'somethingCode', 'hahaName', 'blablaCode', 'hihihi',
            'hohoho'
        ]

        self.assertEqual([
            'hehe', 'somethingCode', 'haha', 'blablaCode', 'hihihi', 'hohoho'
        ], UploadService.remove_trailing('Name', in_array=headers))

        self.assertEqual(['hehe', 'haha', 'hihihi', 'hohoho'],
                         UploadService.remove_trailing('Name',
                                                       in_array=headers,
                                                       exclude='Code'))

        self.assertEqual(['hehe', 'haha', 'hihihi', 'hohoho'],
                         UploadService.remove_trailing('Name', headers,
                                                       'Code'))
Ejemplo n.º 7
0
 def clean_headers_location_type_order(self, headers):
     headers = UploadService.remove_trailing('Name',
                                             in_array=headers,
                                             exclude='Code')
     ordered_types = [
         type.name
         for type in LocationTypeDetails.get_ordered_types().exclude(
             name__iexact='country')
     ]
     if not ordered_types == headers:
         raise ValidationError(
             'Location types not in order. Please refer to input file format.'
         )
Ejemplo n.º 8
0
 def clean_headers_location_type_order(self, headers):
     headers = UploadService.remove_trailing('Name',
                                             in_array=headers,
                                             exclude='Code')
     headers = [header.upper() for header in headers]
     if headers[0] == 'COUNTRY':
         headers.pop(0)
     location_types = [
         loc.name.upper()
         for loc in LocationType.all().exclude(name__iexact='COUNTRY')
     ]
     if not location_types == headers:
         raise ValidationError(
             'Location types not in order. Please refer to input file format.'
         )
Ejemplo n.º 9
0
 def clean_headers_location_type_order(self, headers):
     headers = UploadService.remove_trailing('Name', in_array=headers, exclude='Code')
     ordered_types = [type.name for type in LocationTypeDetails.get_ordered_types().exclude(name__iexact='country')]
     if not ordered_types == headers:
         raise ValidationError('Location types not in order. Please refer to input file format.')