def test_missing_dataset_header(self): filepath = os.path.join(dir_path, 'missing_dataset_headers.csv') with open(filepath, 'rb') as f: idx_file = DatasetIndexingFile(indexing_file=SimpleUploadedFile( filepath, f.read()), uploader=self.user) idx_file.save() bulk_whitelist(idx_file.id) idx_file = DatasetIndexingFile.objects.first() self.assertEqual(idx_file.state, idx_file.FAILED)
def test_idx_file_model_changes_states(self): filepath = os.path.join(dir_path, 'test_indexing_file.csv') with open(filepath, 'rb') as f: idx_file = DatasetIndexingFile(indexing_file=SimpleUploadedFile( filepath, f.read()), uploader=self.user) idx_file.save() bulk_whitelist(idx_file.id) idx_file = DatasetIndexingFile.objects.first() self.assertEqual(idx_file.state, idx_file.PROCESSED)
def test_missing_catalog(self): filepath = os.path.join(dir_path, 'test_missing_catalog.csv') with open(filepath, 'rb') as f: idx_file = DatasetIndexingFile(indexing_file=SimpleUploadedFile( filepath, f.read()), uploader=self.user) idx_file.save() bulk_whitelist(idx_file.id) idx_file = DatasetIndexingFile.objects.first() dataset = Dataset.objects.get(catalog__identifier=self.test_catalog, identifier='1') self.assertEqual(idx_file.state, idx_file.PROCESSED) self.assertTrue(dataset.indexable)
def test_dataset_not_in_file_unaffected(self): filepath = os.path.join(dir_path, 'test_indexing_file.csv') dataset = Dataset.objects.get(catalog__identifier=self.test_catalog, identifier='0') self.assertFalse(dataset.indexable) with open(filepath, 'rb') as f: idx_file = DatasetIndexingFile(indexing_file=SimpleUploadedFile( filepath, f.read()), uploader=self.user) idx_file.save() bulk_whitelist(idx_file.id) dataset = Dataset.objects.get(catalog__identifier=self.test_catalog, identifier='0') self.assertFalse(dataset.indexable)
def test_config_csv_view(self): filepath = os.path.join(dir_path, 'test_indexing_file.csv') with open(filepath, 'rb') as f: idx_file = DatasetIndexingFile(indexing_file=SimpleUploadedFile( filepath, f.read()), uploader=self.user) idx_file.save() bulk_whitelist(idx_file.id) response = self.client.get(reverse('admin:config_csv')) self.assertEqual(response.status_code, 200) content = response.content.decode('utf-8') config_csv = csv.reader(io.StringIO(content)) csv_indexables = [row[1] for row in config_csv][1:] model_indexables = list( Dataset.objects.filter(indexable=True).values_list("identifier", flat=True)) self.assertListEqual(sorted(csv_indexables), sorted(model_indexables))