def test_bad_criteria_headers(self): with patch('services.import_export.SELECTION_CRITERIA_HEADINGS' ) as headings: headings[:] = ['foo', 'bar'] xlwt_book = make_empty_book() errs = validate_and_import_data(self.user, get_book_bits(xlwt_book)) self.assertTrue(errs)
def test_empty_book(self): # A book with just 3 empty sheets should not validate xlwt_book = xlwt.Workbook(encoding='utf-8') xlwt_book.add_sheet('x' + PROVIDER_SHEET_NAME) xlwt_book.add_sheet(SERVICES_SHEET_NAME) xlwt_book.add_sheet(SELECTION_CRITERIA_SHEET_NAME) errs = validate_and_import_data(self.user, get_book_bits(xlwt_book)) self.assertTrue(errs)
def test_too_many_sheets(self): xlwt_book = xlwt.Workbook(encoding='utf-8') xlwt_book.add_sheet(PROVIDER_SHEET_NAME) xlwt_book.add_sheet(SERVICES_SHEET_NAME) xlwt_book.add_sheet(PROVIDER_SHEET_NAME + 'b') xlwt_book.add_sheet(SERVICES_SHEET_NAME + 'b') errs = validate_and_import_data(self.user, get_book_bits(xlwt_book)) self.assertTrue(errs)
def test_bad_provider_sheet_name(self): # Wrong sheet name should not validate xlwt_book = xlwt.Workbook(encoding='utf-8') provider_sheet = xlwt_book.add_sheet('x' + PROVIDER_SHEET_NAME) add_models_to_sheet(provider_sheet, PROVIDER_HEADINGS, []) service_sheet = xlwt_book.add_sheet(SERVICES_SHEET_NAME) add_models_to_sheet(service_sheet, SERVICE_HEADINGS, []) criteria_sheet = xlwt_book.add_sheet(SELECTION_CRITERIA_SHEET_NAME) add_models_to_sheet(criteria_sheet, SELECTION_CRITERIA_HEADINGS, []) errs = validate_and_import_data(self.user, get_book_bits(xlwt_book)) self.assertTrue(errs)
def import_book(self, book): """ Given an xlwt Workbook object, call the import API and return the response object. """ bits = get_book_bits(book) url = reverse('import') with BytesIO(bits) as fp: fp.name = 'book.xls' rsp = self.post_with_token( url, data={'file': fp}, format='multipart', ) return rsp
def test_bad_provider_headers(self): with patch('services.import_export.PROVIDER_HEADINGS') as headings: headings[:] = ['foo', 'bar'] xlwt_book = make_empty_book() errs = validate_and_import_data(self.user, get_book_bits(xlwt_book)) self.assertTrue(errs)
def test_headers_only_book(self): # An book with only headers should validate xlwt_book = make_empty_book() errs = validate_and_import_data(self.user, get_book_bits(xlwt_book)) self.assertFalse(errs)
def test_bad_criteria_headers(self): with patch('services.import_export.SELECTION_CRITERIA_HEADINGS') as headings: headings[:] = ['foo', 'bar'] xlwt_book = make_empty_book() errs = validate_and_import_data(self.user, get_book_bits(xlwt_book)) self.assertTrue(errs)