summaryrefslogtreecommitdiff
path: root/ishtar_common/tests.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/tests.py')
-rw-r--r--ishtar_common/tests.py127
1 files changed, 57 insertions, 70 deletions
diff --git a/ishtar_common/tests.py b/ishtar_common/tests.py
index 19d09a205..f90def1d2 100644
--- a/ishtar_common/tests.py
+++ b/ishtar_common/tests.py
@@ -2684,55 +2684,52 @@ class ImportTest(BaseImportTest):
profile.delete_image_zip_on_archive = False
profile.save()
imprt.archive()
- group_import = models.ImportGroup.objects.get(pk=imprt.pk)
- self.assertEqual(group_import.state, "AC")
- for imprt in group_import.imports.all():
- self.assertEqual(imprt.state, "AC")
- self.assertFalse(imprt.error_file)
- self.assertFalse(imprt.result_file)
- self.assertFalse(imprt.match_file)
- self.assertTrue(imprt.imported_images)
- self.assertTrue(imprt.archive_file)
- self.assertTrue(zipfile.is_zipfile(imprt.archive_file))
- with tempfile.TemporaryDirectory() as tmpdir:
- current_zip = zipfile.ZipFile(imprt.archive_file.path, "r")
- name_list = current_zip.namelist()
- self.assertIn("content.json", name_list)
- current_zip.extract("content.json", tmpdir)
- content_name = os.path.join(tmpdir, "content.json")
- with open(content_name, "r") as content:
- files = json.loads(content.read())
- self.assertIn("imported_file", files.keys())
- self.assertIn(files["imported_file"], name_list)
- self.assertIn("error_file", files.keys())
- self.assertIn(files["error_file"], name_list)
- self.assertIn("result_file", files.keys())
- self.assertIn(files["result_file"], name_list)
- self.assertIn("match_file", files.keys())
- self.assertIn(files["match_file"], name_list)
- rev_dict = {v: k for k, v in files.items()}
- for name in name_list:
- current_zip.extract(name, tmpdir)
- if name.endswith(".txt"):
- with open(os.path.join(tmpdir, name), "r") as f:
- self.assertEqual(f.read(), "test" + rev_dict[name])
- elif name.endswith(".csv"): # imported file
- with open(os.path.join(tmpdir, name), "r") as f:
- self.assertEqual(f.read(), csv_content)
-
- group_import.unarchive("FE")
- group_import = models.ImportGroup.objects.get(pk=imprt.pk)
- for imprt in group_import.import_list():
- self.assertEqual(imprt.state, "FE")
- for k in ("error_file", "result_file", "match_file", "imported_images"):
- field = getattr(imprt, k)
- self.assertTrue(field, "{} is missing in unarchive".format(k))
- with open(field.path, "r") as f:
- self.assertEqual(f.read(), "test" + k)
- field = getattr(imprt, "imported_file")
+ imprt = models.Import.objects.get(pk=imprt.pk)
+ self.assertEqual(imprt.state, "AC")
+ self.assertFalse(imprt.error_file)
+ self.assertFalse(imprt.result_file)
+ self.assertFalse(imprt.match_file)
+ self.assertTrue(imprt.imported_images)
+ self.assertTrue(imprt.archive_file)
+ self.assertTrue(zipfile.is_zipfile(imprt.archive_file))
+ with tempfile.TemporaryDirectory() as tmpdir:
+ current_zip = zipfile.ZipFile(imprt.archive_file.path, "r")
+ name_list = current_zip.namelist()
+ self.assertIn("content.json", name_list)
+ current_zip.extract("content.json", tmpdir)
+ content_name = os.path.join(tmpdir, "content.json")
+ with open(content_name, "r") as content:
+ files = json.loads(content.read())
+ self.assertIn("imported_file", files.keys())
+ self.assertIn(files["imported_file"], name_list)
+ self.assertIn("error_file", files.keys())
+ self.assertIn(files["error_file"], name_list)
+ self.assertIn("result_file", files.keys())
+ self.assertIn(files["result_file"], name_list)
+ self.assertIn("match_file", files.keys())
+ self.assertIn(files["match_file"], name_list)
+ rev_dict = {v: k for k, v in files.items()}
+ for name in name_list:
+ current_zip.extract(name, tmpdir)
+ if name.endswith(".txt"):
+ with open(os.path.join(tmpdir, name), "r") as f:
+ self.assertEqual(f.read(), "test" + rev_dict[name])
+ elif name.endswith(".csv"): # imported file
+ with open(os.path.join(tmpdir, name), "r") as f:
+ self.assertEqual(f.read(), csv_content)
+
+ imprt.unarchive("FE")
+ imprt = models.Import.objects.get(pk=imprt.pk)
+ self.assertEqual(imprt.state, "FE")
+ for k in ("error_file", "result_file", "match_file"):
+ field = getattr(imprt, k)
self.assertTrue(field, "{} is missing in unarchive".format(k))
with open(field.path, "r") as f:
- self.assertEqual(f.read(), csv_content)
+ self.assertEqual(f.read(), "test" + k)
+ field = getattr(imprt, "imported_file")
+ self.assertTrue(field, "{} is missing in unarchive".format(k))
+ with open(field.path, "r") as f:
+ self.assertEqual(f.read(), csv_content)
def test_archive_group_import(self):
group_import = self.create_group_import()
@@ -2752,6 +2749,8 @@ class ImportTest(BaseImportTest):
self.assertTrue(group_import.imported_images)
self.assertTrue(group_import.archive_file)
self.assertTrue(zipfile.is_zipfile(group_import.archive_file))
+ SUB_IMPORT_MATCH_IDX = [1, 2]
+
with tempfile.TemporaryDirectory() as tmpdir:
current_zip = zipfile.ZipFile(group_import.archive_file.path, "r")
name_list = current_zip.namelist()
@@ -2765,7 +2764,7 @@ class ImportTest(BaseImportTest):
for idx in range(4):
self.assertIn(f"sub-{idx}-result_file", files.keys())
self.assertIn(files[f"sub-{idx}-result_file"], name_list)
- for idx in range(1, 3):
+ for idx in SUB_IMPORT_MATCH_IDX:
self.assertIn(f"sub-{idx}-match_file", files.keys())
self.assertIn(files[f"sub-{idx}-match_file"], name_list)
for name in name_list:
@@ -2776,32 +2775,20 @@ class ImportTest(BaseImportTest):
self.assertEqual(result, csv_content)
group_import.unarchive("F")
- group_import = models.Import.objects.get(pk=group_import.pk)
+ group_import = models.ImportGroup.objects.get(pk=group_import.pk)
self.assertEqual(group_import.state, "F")
- for k in ("error_file", "result_file", "match_file", "imported_images"):
- field = getattr(group_import, k)
- self.assertTrue(field, "{} is missing in unarchive".format(k))
- with open(field.path, "r") as f:
- self.assertEqual(f.read(), "test" + k)
field = getattr(group_import, "imported_file")
- self.assertTrue(field, "{} is missing in unarchive".format(k))
+ self.assertTrue(field, "imported_file is missing in unarchive")
with open(field.path, "r") as f:
self.assertEqual(f.read(), csv_content)
-
- profile = models.get_current_profile()
- profile.delete_image_zip_on_archive = True
- profile.save()
- group_import = models.Import.objects.get(pk=group_import.pk)
- image_filename = group_import.imported_images.path
- self.assertTrue(os.path.isfile(image_filename))
- group_import.archive()
- group_import = models.Import.objects.get(pk=group_import.pk)
- self.assertFalse(group_import.imported_images)
- self.assertFalse(os.path.isfile(image_filename))
- group_import.unarchive("F")
- group_import = models.Import.objects.get(pk=group_import.pk)
- self.assertEqual(group_import.state, "FE") # as an error file so state fixed
- self.assertFalse(group_import.imported_images)
+ for idx, sub_import in enumerate(group_import.import_list()):
+ for k in ("imported_file", "result_file"):
+ field = getattr(sub_import, k)
+ self.assertTrue(field, "{} is missing in unarchive".format(k))
+ if idx in SUB_IMPORT_MATCH_IDX:
+ k = "match_file"
+ field = getattr(sub_import, k)
+ self.assertTrue(field, "{} is missing in unarchive".format(k))
def test_delete_related(self):
town = models.Town.objects.create(name="my-test")