Import normalizer: offline tool to normalize the raw archive spreadsheets #663
@@ -3,6 +3,7 @@ package org.raddatz.familienarchiv.importing;
|
||||
import org.apache.poi.ss.usermodel.Row;
|
||||
import org.apache.poi.ss.usermodel.Sheet;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.raddatz.familienarchiv.PostgresContainerConfig;
|
||||
@@ -59,6 +60,22 @@ class CanonicalImportIntegrationTest {
|
||||
ReflectionTestUtils.setField(orchestrator, "canonicalDir", artifactDir.toString());
|
||||
}
|
||||
|
||||
/**
|
||||
* The import commits through its own transactions (the orchestrator is not transactional),
|
||||
* so this test cannot rely on {@code @Transactional} rollback for isolation. Delete the
|
||||
* committed rows after each test — otherwise the last test's documents (dated 1888-02) and
|
||||
* persons/tags leak into the shared Testcontainers Postgres and pollute other integration
|
||||
* tests that assume a known seed (e.g. DocumentDensityIntegrationTest,
|
||||
* DocumentSearchPagedIntegrationTest). Mirrors the @AfterEach deleteAll convention used by
|
||||
* DocumentListItemIntegrationTest.
|
||||
*/
|
||||
@AfterEach
|
||||
void cleanup() {
|
||||
documentRepository.deleteAll();
|
||||
personRepository.deleteAll();
|
||||
tagRepository.deleteAll();
|
||||
}
|
||||
|
||||
@Test
|
||||
void reimport_isIdempotent_noDuplicatePersonsTagsOrDocuments() {
|
||||
orchestrator.runImport();
|
||||
|
||||
Reference in New Issue
Block a user