def _test_mapping(self, dir): mapping_csv = h.fixture_file("csv_import/%s/mapping.csv" % dir) mapping_json = h.fixture_file("csv_import/%s/mapping.json" % dir) csv = mapping_csv.read() expected_mapping_data = json.load(mapping_json) importer = MappingImporter() observed_mapping_data = importer.import_from_string(csv) assert observed_mapping_data == expected_mapping_data
def _test_dataset_dir(self, dir): data_csv = h.fixture_file("csv_import/%s/data.csv" % dir) mapping_json = h.fixture_file("csv_import/%s/mapping.json" % dir) dataset_name = unicode(dir) model = csv_fixture_model() model["mapping"] = json.load(mapping_json) model["dataset"]["name"] = dataset_name lines = self.count_lines_in_stream(data_csv) - 1 importer = CSVImporter(data_csv, model) importer.run() assert len(importer.errors) == 0, "Import should not throw errors" # check correct number of entries entries = Entry.find({"dataset.name": dataset_name}) assert entries.count() == lines
def csv_fixture_mapping(name=None): if name is None: return default_mapping.copy() f = h.fixture_file("csv_import/%s-model.json" % name) return json.load(f)
def csv_fixture(name): return h.fixture_file("csv_import/%s.csv" % name)