Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe

Commits:

7 changed files:

Changes:

  • core/persistence/test/src/main/java/fr/ird/observe/persistence/test/ObservePersistenceFixtures.java
    ... ... @@ -43,12 +43,16 @@ import java.util.Map;
    43 43
     public class ObservePersistenceFixtures extends ObserveFixtures {
    
    44 44
     
    
    45 45
         public static Map<String, Long> getTablesCount(ObserveTopiaApplicationContext applicationContext, List<String> schemaAndTableNames) {
    
    46
    -        Map<String, Long> countBuilder = new LinkedHashMap<>();
    
    47 46
             try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    48
    -            for (String table : schemaAndTableNames) {
    
    49
    -                Long actualCount = persistenceContext.countTable(table);
    
    50
    -                countBuilder.put(table, actualCount);
    
    51
    -            }
    
    47
    +            return getTablesCount(persistenceContext, schemaAndTableNames);
    
    48
    +        }
    
    49
    +    }
    
    50
    +
    
    51
    +    public static Map<String, Long> getTablesCount(ObserveTopiaPersistenceContext persistenceContext, List<String> schemaAndTableNames) {
    
    52
    +        Map<String, Long> countBuilder = new LinkedHashMap<>();
    
    53
    +        for (String table : schemaAndTableNames) {
    
    54
    +            Long actualCount = persistenceContext.countTable(table);
    
    55
    +            countBuilder.put(table, actualCount);
    
    52 56
             }
    
    53 57
             return countBuilder;
    
    54 58
         }
    

  • core/persistence/test/src/test/java/fr/ird/observe/persistence/test/request/DeleteDataRequestTest.java
    ... ... @@ -31,6 +31,7 @@ import fr.ird.observe.entities.ObserveTopiaPersistenceContext;
    31 31
     import fr.ird.observe.entities.data.DataEntity;
    
    32 32
     import fr.ird.observe.entities.data.RootOpenableEntity;
    
    33 33
     import fr.ird.observe.persistence.test.ObservePersistenceFixtures;
    
    34
    +import fr.ird.observe.persistence.test.PersistenceTestSupportRead;
    
    34 35
     import fr.ird.observe.persistence.test.PersistenceTestSupportWrite;
    
    35 36
     import fr.ird.observe.spi.ObservePersistenceBusinessProject;
    
    36 37
     import fr.ird.observe.spi.context.DtoEntityContext;
    
    ... ... @@ -38,7 +39,6 @@ import fr.ird.observe.spi.context.OpenableDtoEntityContext;
    38 39
     import fr.ird.observe.spi.module.BusinessModule;
    
    39 40
     import fr.ird.observe.spi.module.ObserveBusinessProject;
    
    40 41
     import fr.ird.observe.test.IgnoreTestClassRule;
    
    41
    -import fr.ird.observe.test.spi.CopyDatabaseConfiguration;
    
    42 42
     import io.ultreia.java4all.util.sql.SqlScript;
    
    43 43
     import org.apache.logging.log4j.LogManager;
    
    44 44
     import org.apache.logging.log4j.Logger;
    
    ... ... @@ -49,6 +49,7 @@ import org.junit.runner.RunWith;
    49 49
     import org.junit.runners.Parameterized;
    
    50 50
     import org.nuiton.topia.service.sql.model.TopiaEntitySqlDescriptors;
    
    51 51
     
    
    52
    +import java.sql.SQLException;
    
    52 53
     import java.util.Comparator;
    
    53 54
     import java.util.List;
    
    54 55
     import java.util.Map;
    
    ... ... @@ -64,7 +65,7 @@ import static fr.ird.observe.persistence.test.ObservePersistenceFixtures.getTabl
    64 65
      * @since 9.0.0
    
    65 66
      */
    
    66 67
     @RunWith(Parameterized.class)
    
    67
    -public class DeleteDataRequestTest extends PersistenceTestSupportWrite {
    
    68
    +public class DeleteDataRequestTest extends PersistenceTestSupportRead {
    
    68 69
     
    
    69 70
         @ClassRule
    
    70 71
         public static final IgnoreTestClassRule IGNORE2 = new IgnoreTestClassRule("Persistence Request", "persistence.request.test.skip");
    
    ... ... @@ -78,16 +79,15 @@ public class DeleteDataRequestTest extends PersistenceTestSupportWrite {
    78 79
         @Parameterized.Parameters(name = "{0}")
    
    79 80
         public static Iterable<Object[]> data() {
    
    80 81
             return ObservePersistenceBusinessProject.get().getEntityToDtoClassMapping().keySet().stream()
    
    81
    -                .filter(Class::isInterface)
    
    82
    -                .filter(DataEntity.class::isAssignableFrom)
    
    83
    -                .sorted(Comparator.comparing(Object::toString))
    
    84
    -                .map(t -> new Object[]{t})
    
    85
    -                .collect(Collectors.toList());
    
    82
    +                                                .filter(Class::isInterface)
    
    83
    +                                                .filter(DataEntity.class::isAssignableFrom)
    
    84
    +                                                .sorted(Comparator.comparing(Object::toString))
    
    85
    +                                                .map(t -> new Object[]{t})
    
    86
    +                                                .collect(Collectors.toList());
    
    86 87
         }
    
    87 88
     
    
    88 89
         @Test
    
    89
    -    @CopyDatabaseConfiguration
    
    90
    -    public void test() {
    
    90
    +    public void test() throws SQLException {
    
    91 91
     
    
    92 92
             String variableName = ObservePersistenceFixtures.getEntityVariableName(entityType);
    
    93 93
             String id = ObservePersistenceFixtures.getVariable(variableName);
    
    ... ... @@ -106,34 +106,41 @@ public class DeleteDataRequestTest extends PersistenceTestSupportWrite {
    106 106
             }
    
    107 107
             DeleteRequest request = new DeleteRequest(false, entityType.getName(), parentId, id);
    
    108 108
     
    
    109
    -        try (ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext()) {
    
    110
    -
    
    111
    -            SqlScript script = applicationContext.getSqlService().consume(request);
    
    112
    -            boolean entryPoint = RootOpenableEntity.class.isAssignableFrom(entityType);
    
    113
    -            List<String> schemaAndTableNames = null;
    
    114
    -            Map<String, Long> expectedCount = null;
    
    115
    -            if (entryPoint) {
    
    116
    -                BusinessModule businessModule = ObserveBusinessProject.get().getBusinessModuleByDtoType(spi.toDtoType());
    
    117
    -                String classifier = "data-" + businessModule.getName();
    
    118
    -                expectedCount = ObservePersistenceFixtures.loadFixturesMapCount("persistence/table_count/" + classifier);
    
    119
    -                TopiaEntitySqlDescriptors descriptors = PersistenceTestSupportWrite.descriptorForReplication(classifier).reverse();
    
    120
    -                schemaAndTableNames = descriptors.getSchemaAndTableNames();
    
    121
    -            }
    
    109
    +        ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext();
    
    110
    +
    
    111
    +        SqlScript script = applicationContext.getSqlService().consume(request);
    
    112
    +        boolean entryPoint = RootOpenableEntity.class.isAssignableFrom(entityType);
    
    113
    +        List<String> schemaAndTableNames = null;
    
    114
    +        Map<String, Long> expectedCount = null;
    
    115
    +        if (entryPoint) {
    
    116
    +            BusinessModule businessModule = ObserveBusinessProject.get().getBusinessModuleByDtoType(spi.toDtoType());
    
    117
    +            String classifier = "data-" + businessModule.getName();
    
    118
    +            expectedCount = ObservePersistenceFixtures.loadFixturesMapCount("persistence/table_count/" + classifier);
    
    119
    +            TopiaEntitySqlDescriptors descriptors = PersistenceTestSupportWrite.descriptorForReplication(classifier).reverse();
    
    120
    +            schemaAndTableNames = descriptors.getSchemaAndTableNames();
    
    121
    +        }
    
    122 122
     
    
    123
    -            ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    124
    -            Map<String, Long> beforeTablesCount = null;
    
    125
    -            if (entryPoint) {
    
    126
    -                beforeTablesCount = getTablesCount(applicationContext, schemaAndTableNames);
    
    127
    -            }
    
    128
    -            if (!ObservePersistenceFixtures.WITH_ASSERT) {
    
    129
    -                String content = script.content();
    
    130
    -                System.out.println(content);
    
    131
    -            }
    
    132
    -            applicationContext.executeSqlStatements(script);
    
    133
    -            ObservePersistenceFixtures.assertDataNotExist(applicationContext, spi, id);
    
    134
    -            if (entryPoint) {
    
    135
    -                Map<String, Long> afterTablesCount = getTablesCount(applicationContext, schemaAndTableNames);
    
    136
    -                assertDeleteEntryPoint(beforeTablesCount, afterTablesCount, expectedCount);
    
    123
    +        ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    124
    +        Map<String, Long> beforeTablesCount = null;
    
    125
    +        if (entryPoint) {
    
    126
    +            beforeTablesCount = getTablesCount(applicationContext, schemaAndTableNames);
    
    127
    +        }
    
    128
    +        if (!ObservePersistenceFixtures.WITH_ASSERT) {
    
    129
    +            String content = script.content();
    
    130
    +            System.out.println(content);
    
    131
    +        }
    
    132
    +        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    133
    +
    
    134
    +            persistenceContext.executeSqlScript(script);
    
    135
    +            persistenceContext.flush();
    
    136
    +            try {
    
    137
    +                ObservePersistenceFixtures.assertDataNotExist(persistenceContext, spi, id);
    
    138
    +                if (entryPoint) {
    
    139
    +                    Map<String, Long> afterTablesCount = getTablesCount(persistenceContext, schemaAndTableNames);
    
    140
    +                    assertDeleteEntryPoint(beforeTablesCount, afterTablesCount, expectedCount);
    
    141
    +                }
    
    142
    +            } finally {
    
    143
    +                persistenceContext.rollback();
    
    137 144
                 }
    
    138 145
             }
    
    139 146
         }
    

  • core/persistence/test/src/test/java/fr/ird/observe/persistence/test/request/DeletePartialRequestTest.java
    ... ... @@ -23,17 +23,14 @@ package fr.ird.observe.persistence.test.request;
    23 23
      */
    
    24 24
     
    
    25 25
     import fr.ird.observe.datasource.request.DeletePartialRequest;
    
    26
    -import fr.ird.observe.datasource.request.ReplicatePartialRequest;
    
    27 26
     import fr.ird.observe.dto.data.DataDto;
    
    28 27
     import fr.ird.observe.entities.ObserveTopiaApplicationContext;
    
    29 28
     import fr.ird.observe.entities.ObserveTopiaPersistenceContext;
    
    30 29
     import fr.ird.observe.entities.data.ps.common.Trip;
    
    31 30
     import fr.ird.observe.persistence.test.ObservePersistenceFixtures;
    
    32
    -import fr.ird.observe.persistence.test.PersistenceTestSupportWrite;
    
    31
    +import fr.ird.observe.persistence.test.PersistenceTestSupportRead;
    
    33 32
     import fr.ird.observe.services.service.data.DeleteLayoutRequest;
    
    34
    -import fr.ird.observe.services.service.data.MoveLayoutRequest;
    
    35 33
     import fr.ird.observe.test.IgnoreTestClassRule;
    
    36
    -import fr.ird.observe.test.spi.CopyDatabaseConfiguration;
    
    37 34
     import io.ultreia.java4all.util.sql.SqlScript;
    
    38 35
     import org.junit.Assert;
    
    39 36
     import org.junit.ClassRule;
    
    ... ... @@ -51,7 +48,7 @@ import java.util.Set;
    51 48
      * @since 9.0.0
    
    52 49
      */
    
    53 50
     @RunWith(Parameterized.class)
    
    54
    -public class DeletePartialRequestTest extends PersistenceTestSupportWrite {
    
    51
    +public class DeletePartialRequestTest extends PersistenceTestSupportRead {
    
    55 52
     
    
    56 53
         @ClassRule
    
    57 54
         public static final IgnoreTestClassRule IGNORE2 = new IgnoreTestClassRule("Persistence Request", "persistence.request.test.skip");
    
    ... ... @@ -73,51 +70,43 @@ public class DeletePartialRequestTest extends PersistenceTestSupportWrite {
    73 70
             return ReplicatePartialRequestTest.PARTIAL_PS_FIXTURES;
    
    74 71
         }
    
    75 72
     
    
    76
    -    static void assertDelete(ObserveTopiaApplicationContext applicationContext, DeletePartialRequest deleteRequest, Set<String> shell, Map<String, Long> beforeResults, Map<String, Long> afterDelete) {
    
    77
    -        SqlScript deleteScript = applicationContext.getSqlService().consume(deleteRequest);
    
    73
    +    static void assertDelete(ObserveTopiaPersistenceContext persistenceContext, SqlScript deleteScript, Set<String> shell, Map<String, Long> beforeResults, Map<String, Long> afterDelete) {
    
    78 74
             if (!ObservePersistenceFixtures.WITH_ASSERT) {
    
    79 75
                 System.out.println(deleteScript.content());
    
    80 76
             }
    
    81
    -        applicationContext.executeSqlStatements(deleteScript);
    
    82
    -
    
    83
    -        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    84
    -            for (String table : shell) {
    
    85
    -                long actualCount = persistenceContext.countTable(table);
    
    86
    -                long beforeCount = beforeResults.get(table);
    
    87
    -                long afterDeleteCount = afterDelete.get(table);
    
    88
    -                Assert.assertEquals(String.format("bad size for table: %s (excepted %d == %d)", table, actualCount, beforeCount), actualCount, afterDeleteCount);
    
    89
    -            }
    
    77
    +        for (String table : shell) {
    
    78
    +            long actualCount = persistenceContext.countTable(table);
    
    79
    +            long beforeCount = beforeResults.get(table);
    
    80
    +            long afterDeleteCount = afterDelete.get(table);
    
    81
    +            Assert.assertEquals(String.format("bad size for table: %s (excepted %d == %d)", table, actualCount, beforeCount), actualCount, afterDeleteCount);
    
    90 82
             }
    
    91 83
         }
    
    92 84
     
    
    93 85
         @Test
    
    94
    -    @CopyDatabaseConfiguration
    
    95 86
         public void test() {
    
    96
    -        Map<String, Long> expected = ObservePersistenceFixtures.loadFixturesMapCount("persistence/replicate_partial_count/" + classifier + "-" + flavor);
    
    97
    -        try (ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext()) {
    
    87
    +        ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext();
    
    98 88
     
    
    99
    -            DeletePartialRequest deleteRequest = Trip.SPI.toSqlRequest(false, new DeleteLayoutRequest(scopes, newId));
    
    100
    -            Set<String> shell = applicationContext.createShell(deleteRequest);
    
    89
    +        DeletePartialRequest deleteRequest = Trip.SPI.toSqlRequest(false, new DeleteLayoutRequest(scopes, newId));
    
    90
    +        Set<String> shell = applicationContext.createShell(deleteRequest);
    
    101 91
     
    
    102
    -            Map<String, Long> beforeResults = ReplicatePartialRequestTest.getBeforeResults(applicationContext, shell);
    
    103 92
     
    
    104
    -            SqlScript deleteScript = applicationContext.getSqlService().consume(deleteRequest);
    
    105
    -            applicationContext.executeSqlStatements(deleteScript);
    
    93
    +        SqlScript deleteScript = applicationContext.getSqlService().consume(deleteRequest);
    
    106 94
     
    
    107
    -            Map<String, Long> afterDelete = ReplicatePartialRequestTest.getBeforeResults(applicationContext, shell);
    
    95
    +        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    108 96
     
    
    109
    -            assertDelete(applicationContext, deleteRequest, shell, beforeResults, afterDelete);
    
    97
    +            try {
    
    98
    +                Map<String, Long> beforeResults = ReplicatePartialRequestTest.getBeforeResults(persistenceContext, shell);
    
    110 99
     
    
    111
    -            ReplicatePartialRequest replicateRequest = Trip.SPI.toSqlRequest(false, new MoveLayoutRequest(scopes, tripId, newId, false));
    
    112
    -            ReplicatePartialRequestTest.assertReplicate(applicationContext, replicateRequest, shell, expected, afterDelete, 1);
    
    100
    +                persistenceContext.executeSqlScript(deleteScript);
    
    101
    +                persistenceContext.flush();
    
    113 102
     
    
    114
    -            assertDelete(applicationContext, deleteRequest, shell, beforeResults, afterDelete);
    
    103
    +                Map<String, Long> afterDelete = ReplicatePartialRequestTest.getBeforeResults(persistenceContext, shell);
    
    115 104
     
    
    116
    -            ReplicatePartialRequestTest.assertReplicate(applicationContext, replicateRequest, shell, expected, afterDelete, 1);
    
    117
    -            ReplicatePartialRequestTest.assertReplicate(applicationContext, replicateRequest, shell, expected, afterDelete, 2);
    
    105
    +                assertDelete(persistenceContext, deleteScript, shell, beforeResults, afterDelete);
    
    106
    +            } finally {
    
    107
    +                persistenceContext.rollback();
    
    108
    +            }
    
    118 109
     
    
    119
    -            assertDelete(applicationContext, deleteRequest, shell, beforeResults, afterDelete);
    
    120
    -            assertDelete(applicationContext, deleteRequest, shell, beforeResults, afterDelete);
    
    121 110
             }
    
    122 111
         }
    
    123 112
     }

  • core/persistence/test/src/test/java/fr/ird/observe/persistence/test/request/DeleteReferentialRequestTest.java
    ... ... @@ -25,14 +25,14 @@ package fr.ird.observe.persistence.test.request;
    25 25
     import fr.ird.observe.datasource.request.DeleteRequest;
    
    26 26
     import fr.ird.observe.entities.Entity;
    
    27 27
     import fr.ird.observe.entities.ObserveTopiaApplicationContext;
    
    28
    +import fr.ird.observe.entities.ObserveTopiaPersistenceContext;
    
    28 29
     import fr.ird.observe.entities.referential.ReferentialEntity;
    
    29 30
     import fr.ird.observe.persistence.test.ObservePersistenceFixtures;
    
    30
    -import fr.ird.observe.persistence.test.PersistenceTestSupportWrite;
    
    31
    +import fr.ird.observe.persistence.test.PersistenceTestSupportRead;
    
    31 32
     import fr.ird.observe.spi.ObservePersistenceBusinessProject;
    
    32 33
     import fr.ird.observe.spi.context.DtoEntityContext;
    
    33 34
     import fr.ird.observe.test.DatabaseName;
    
    34 35
     import fr.ird.observe.test.IgnoreTestClassRule;
    
    35
    -import fr.ird.observe.test.spi.CopyDatabaseConfiguration;
    
    36 36
     import fr.ird.observe.test.spi.DatabaseNameConfiguration;
    
    37 37
     import io.ultreia.java4all.util.sql.SqlScript;
    
    38 38
     import org.apache.logging.log4j.LogManager;
    
    ... ... @@ -51,7 +51,7 @@ import java.util.stream.Collectors;
    51 51
      * @since 9.0.0
    
    52 52
      */
    
    53 53
     @DatabaseNameConfiguration(DatabaseName.referential)
    
    54
    -public class DeleteReferentialRequestTest extends PersistenceTestSupportWrite {
    
    54
    +public class DeleteReferentialRequestTest extends PersistenceTestSupportRead {
    
    55 55
     
    
    56 56
         @ClassRule
    
    57 57
         public static final IgnoreTestClassRule IGNORE2 = new IgnoreTestClassRule("Persistence Request", "persistence.request.test.skip");
    
    ... ... @@ -67,12 +67,10 @@ public class DeleteReferentialRequestTest extends PersistenceTestSupportWrite {
    67 67
         }
    
    68 68
     
    
    69 69
         @Test
    
    70
    -    @CopyDatabaseConfiguration
    
    71 70
         public void test() {
    
    72 71
             for (Class<? extends Entity> entityType : data()) {
    
    73 72
                 test(entityType);
    
    74 73
             }
    
    75
    -
    
    76 74
         }
    
    77 75
     
    
    78 76
         public void test(Class<? extends Entity> entityType) {
    
    ... ... @@ -95,8 +93,15 @@ public class DeleteReferentialRequestTest extends PersistenceTestSupportWrite {
    95 93
                 String content = script.content();
    
    96 94
                 System.out.println(content);
    
    97 95
             }
    
    98
    -        applicationContext.executeSqlStatements(script);
    
    99
    -        ObservePersistenceFixtures.assertDataNotExist(applicationContext, spi, id);
    
    96
    +        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    97
    +            try {
    
    98
    +                persistenceContext.executeSqlScript(script);
    
    99
    +                persistenceContext.flush();
    
    100
    +                ObservePersistenceFixtures.assertDataNotExist(persistenceContext, spi, id);
    
    101
    +            } finally {
    
    102
    +                persistenceContext.rollback();
    
    103
    +            }
    
    104
    +        }
    
    100 105
         }
    
    101 106
     
    
    102 107
     }

  • core/persistence/test/src/test/java/fr/ird/observe/persistence/test/request/ReferentialExtraScriptsTest.java
    ... ... @@ -28,12 +28,11 @@ import fr.ird.observe.entities.ObserveTopiaApplicationContext;
    28 28
     import fr.ird.observe.entities.ObserveTopiaPersistenceContext;
    
    29 29
     import fr.ird.observe.entities.referential.ReferentialEntity;
    
    30 30
     import fr.ird.observe.persistence.test.ObservePersistenceFixtures;
    
    31
    -import fr.ird.observe.persistence.test.PersistenceTestSupportWrite;
    
    31
    +import fr.ird.observe.persistence.test.PersistenceTestSupportRead;
    
    32 32
     import fr.ird.observe.spi.ObservePersistenceBusinessProject;
    
    33 33
     import fr.ird.observe.spi.context.ReferentialDtoEntityContext;
    
    34 34
     import fr.ird.observe.test.DatabaseName;
    
    35 35
     import fr.ird.observe.test.IgnoreTestClassRule;
    
    36
    -import fr.ird.observe.test.spi.CopyDatabaseConfiguration;
    
    37 36
     import fr.ird.observe.test.spi.DatabaseNameConfiguration;
    
    38 37
     import io.ultreia.java4all.util.sql.SqlScript;
    
    39 38
     import org.apache.logging.log4j.LogManager;
    
    ... ... @@ -54,7 +53,7 @@ import java.util.stream.Collectors;
    54 53
      * @since 9.0.7
    
    55 54
      */
    
    56 55
     @DatabaseNameConfiguration(DatabaseName.referential)
    
    57
    -public class ReferentialExtraScriptsTest extends PersistenceTestSupportWrite {
    
    56
    +public class ReferentialExtraScriptsTest extends PersistenceTestSupportRead {
    
    58 57
     
    
    59 58
         @ClassRule
    
    60 59
         public static final IgnoreTestClassRule IGNORE2 = new IgnoreTestClassRule("Persistence Request", "persistence.request.test.skip");
    
    ... ... @@ -63,14 +62,14 @@ public class ReferentialExtraScriptsTest extends PersistenceTestSupportWrite {
    63 62
     
    
    64 63
         public static List<Class<? extends Entity>> data() {
    
    65 64
             return ObservePersistenceBusinessProject.get().getEntityToDtoClassMapping().keySet().stream()
    
    66
    -                .filter(Class::isInterface)
    
    67
    -                .filter(ReferentialEntity.class::isAssignableFrom)
    
    68
    -                .sorted(Comparator.comparing(Object::toString))
    
    69
    -                .collect(Collectors.toList());
    
    65
    +                                                .filter(Class::isInterface)
    
    66
    +                                                .filter(ReferentialEntity.class::isAssignableFrom)
    
    67
    +                                                .sorted(Comparator.comparing(Object::toString))
    
    68
    +                                                .collect(Collectors.toList());
    
    70 69
         }
    
    71 70
     
    
    72 71
         @Test
    
    73
    -    @CopyDatabaseConfiguration
    
    72
    +//    @CopyDatabaseConfiguration
    
    74 73
         public void test() {
    
    75 74
             for (Class<? extends Entity> entityType : data()) {
    
    76 75
                 test(entityType);
    
    ... ... @@ -105,16 +104,36 @@ public class ReferentialExtraScriptsTest extends PersistenceTestSupportWrite {
    105 104
     
    
    106 105
             ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext();
    
    107 106
     
    
    108
    -        SqlScript script = applicationContext.getSqlService().consume(request);
    
    107
    +        SqlScript deleteScript = applicationContext.getSqlService().consume(request);
    
    109 108
     
    
    110
    -        ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    109
    +        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    111 110
     
    
    112
    -        applicationContext.executeSqlStatements(script);
    
    113
    -        ObservePersistenceFixtures.assertDataNotExist(applicationContext, spi, id);
    
    111
    +            try {
    
    112
    +                ObservePersistenceFixtures.assertDataExist(persistenceContext, spi, id);
    
    114 113
     
    
    115
    -        applicationContext.executeSqlStatements(copyScript);
    
    116
    -        ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    117
    -        applicationContext.executeSqlStatements(updateScript);
    
    118
    -        ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    114
    +                persistenceContext.executeSqlScript(deleteScript);
    
    115
    +                persistenceContext.flush();
    
    116
    +                ObservePersistenceFixtures.assertDataNotExist(persistenceContext, spi, id);
    
    117
    +
    
    118
    +                persistenceContext.executeSqlScript(copyScript);
    
    119
    +                persistenceContext.flush();
    
    120
    +                ObservePersistenceFixtures.assertDataExist(persistenceContext, spi, id);
    
    121
    +                persistenceContext.executeSqlScript(updateScript);
    
    122
    +                persistenceContext.flush();
    
    123
    +                ObservePersistenceFixtures.assertDataExist(persistenceContext, spi, id);
    
    124
    +            } finally {
    
    125
    +                persistenceContext.rollback();
    
    126
    +            }
    
    127
    +
    
    128
    +        }
    
    129
    +//        ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    130
    +//
    
    131
    +//        applicationContext.executeSqlStatements(deleteScript);
    
    132
    +//        ObservePersistenceFixtures.assertDataNotExist(applicationContext, spi, id);
    
    133
    +//
    
    134
    +//        applicationContext.executeSqlStatements(copyScript);
    
    135
    +//        ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    136
    +//        applicationContext.executeSqlStatements(updateScript);
    
    137
    +//        ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    119 138
         }
    
    120 139
     }

  • core/persistence/test/src/test/java/fr/ird/observe/persistence/test/request/ReplicatePartialRequestTest.java
    ... ... @@ -24,11 +24,16 @@ package fr.ird.observe.persistence.test.request;
    24 24
     
    
    25 25
     import fr.ird.observe.datasource.request.ReplicatePartialRequest;
    
    26 26
     import fr.ird.observe.dto.data.DataDto;
    
    27
    +import fr.ird.observe.dto.data.ps.common.TripGearUseFeaturesDto;
    
    28
    +import fr.ird.observe.dto.data.ps.common.TripLocalmarketDto;
    
    29
    +import fr.ird.observe.dto.data.ps.common.TripLogbookDto;
    
    30
    +import fr.ird.observe.dto.data.ps.landing.TripLandingDto;
    
    31
    +import fr.ird.observe.dto.data.ps.observation.RouteDto;
    
    27 32
     import fr.ird.observe.entities.ObserveTopiaApplicationContext;
    
    28 33
     import fr.ird.observe.entities.ObserveTopiaPersistenceContext;
    
    29 34
     import fr.ird.observe.entities.data.ps.common.Trip;
    
    30 35
     import fr.ird.observe.persistence.test.ObservePersistenceFixtures;
    
    31
    -import fr.ird.observe.persistence.test.PersistenceTestSupportWrite;
    
    36
    +import fr.ird.observe.persistence.test.PersistenceTestSupportRead;
    
    32 37
     import fr.ird.observe.services.service.data.MoveLayoutRequest;
    
    33 38
     import fr.ird.observe.test.IgnoreTestClassRule;
    
    34 39
     import fr.ird.observe.test.ObserveFixtures;
    
    ... ... @@ -52,7 +57,7 @@ import java.util.TreeMap;
    52 57
      * @since 9.0.0
    
    53 58
      */
    
    54 59
     @RunWith(Parameterized.class)
    
    55
    -public class ReplicatePartialRequestTest extends PersistenceTestSupportWrite {
    
    60
    +public class ReplicatePartialRequestTest extends PersistenceTestSupportRead {
    
    56 61
     
    
    57 62
         @ClassRule
    
    58 63
         public static final IgnoreTestClassRule IGNORE2 = new IgnoreTestClassRule("Persistence Request", "persistence.request.test.skip");
    
    ... ... @@ -61,14 +66,14 @@ public class ReplicatePartialRequestTest extends PersistenceTestSupportWrite {
    61 66
         private static final String PS_COMMON_TRIP_ID = ObservePersistenceFixtures.getPsCommonTripId();
    
    62 67
         private static final String PS_COMMON_TRIP_MOVE = ObserveFixtures.getId("PS_COMMON_TRIP_MOVE");
    
    63 68
         public static final Iterable<Object[]> PARTIAL_PS_FIXTURES = Arrays.asList(
    
    64
    -            new Object[]{CLASSIFIER_DATA_PS, "GearUseFeatures", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(fr.ird.observe.dto.data.ps.common.TripGearUseFeaturesDto.class)},
    
    65
    -            new Object[]{CLASSIFIER_DATA_PS, "Observations", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(fr.ird.observe.dto.data.ps.observation.RouteDto.class)},
    
    66
    -            new Object[]{CLASSIFIER_DATA_PS, "Logbook", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(fr.ird.observe.dto.data.ps.common.TripLogbookDto.class)},
    
    67
    -            new Object[]{CLASSIFIER_DATA_PS, "Localmarket", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(fr.ird.observe.dto.data.ps.common.TripLocalmarketDto.class)},
    
    68
    -            new Object[]{CLASSIFIER_DATA_PS, "Landing", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(fr.ird.observe.dto.data.ps.landing.TripLandingDto.class)},
    
    69
    -            new Object[]{CLASSIFIER_DATA_PS, "Observations-Logbook", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(fr.ird.observe.dto.data.ps.common.TripLogbookDto.class, fr.ird.observe.dto.data.ps.observation.RouteDto.class)},
    
    70
    -            new Object[]{CLASSIFIER_DATA_PS, "Observations-Logbook-Localmarket", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(fr.ird.observe.dto.data.ps.common.TripLocalmarketDto.class, fr.ird.observe.dto.data.ps.common.TripLogbookDto.class, fr.ird.observe.dto.data.ps.observation.RouteDto.class)},
    
    71
    -            new Object[]{CLASSIFIER_DATA_PS, "Landing-Logbook-Localmarket", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(fr.ird.observe.dto.data.ps.common.TripLocalmarketDto.class, fr.ird.observe.dto.data.ps.common.TripLogbookDto.class, fr.ird.observe.dto.data.ps.landing.TripLandingDto.class)}
    
    69
    +            new Object[]{CLASSIFIER_DATA_PS, "GearUseFeatures", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(TripGearUseFeaturesDto.class)},
    
    70
    +            new Object[]{CLASSIFIER_DATA_PS, "Observations", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(RouteDto.class)},
    
    71
    +            new Object[]{CLASSIFIER_DATA_PS, "Logbook", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(TripLogbookDto.class)},
    
    72
    +            new Object[]{CLASSIFIER_DATA_PS, "Localmarket", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(TripLocalmarketDto.class)},
    
    73
    +            new Object[]{CLASSIFIER_DATA_PS, "Landing", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(TripLandingDto.class)},
    
    74
    +            new Object[]{CLASSIFIER_DATA_PS, "Observations-Logbook", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(TripLogbookDto.class, RouteDto.class)},
    
    75
    +            new Object[]{CLASSIFIER_DATA_PS, "Observations-Logbook-Localmarket", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(TripLocalmarketDto.class, TripLogbookDto.class, RouteDto.class)},
    
    76
    +            new Object[]{CLASSIFIER_DATA_PS, "Landing-Logbook-Localmarket", PS_COMMON_TRIP_ID, PS_COMMON_TRIP_MOVE, Set.of(TripLocalmarketDto.class, TripLogbookDto.class, TripLandingDto.class)}
    
    72 77
         );
    
    73 78
     
    
    74 79
         @Parameterized.Parameter
    
    ... ... @@ -87,29 +92,24 @@ public class ReplicatePartialRequestTest extends PersistenceTestSupportWrite {
    87 92
             return PARTIAL_PS_FIXTURES;
    
    88 93
         }
    
    89 94
     
    
    90
    -    static Map<String, Long> getBeforeResults(ObserveTopiaApplicationContext applicationContext, Set<String> shell) {
    
    95
    +    static Map<String, Long> getBeforeResults(ObserveTopiaPersistenceContext persistenceContext, Set<String> shell) {
    
    91 96
             Map<String, Long> beforeResults = new TreeMap<>();
    
    92
    -        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    93
    -            for (String table : shell) {
    
    94
    -                Long actualCount = persistenceContext.countTable(table);
    
    95
    -                beforeResults.put(table, actualCount);
    
    96
    -            }
    
    97
    +        for (String table : shell) {
    
    98
    +            Long actualCount = persistenceContext.countTable(table);
    
    99
    +            beforeResults.put(table, actualCount);
    
    97 100
             }
    
    98 101
             return beforeResults;
    
    99 102
         }
    
    100 103
     
    
    101
    -    static void assertReplicate(ObserveTopiaApplicationContext applicationContext, ReplicatePartialRequest replicateRequest, Set<String> shell, Map<String, Long> expected, Map<String, Long> before, int factor) {
    
    104
    +    static void assertReplicate(ObserveTopiaApplicationContext applicationContext, ObserveTopiaPersistenceContext persistenceContext, ReplicatePartialRequest replicateRequest, Set<String> shell, Map<String, Long> expected, Map<String, Long> before, int factor) {
    
    102 105
             SqlScript replicateScript = applicationContext.getSqlService().consume(replicateRequest);
    
    103
    -        applicationContext.executeSqlStatements(replicateScript);
    
    104
    -
    
    106
    +        persistenceContext.executeSqlScript(replicateScript);
    
    107
    +        persistenceContext.flush();
    
    105 108
             if (!ObservePersistenceFixtures.WITH_ASSERT) {
    
    106
    -
    
    107 109
                 Map<String, Long> actualResults = new TreeMap<>();
    
    108
    -            try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    109
    -                for (String table : shell) {
    
    110
    -                    long actualCount = factor * persistenceContext.countTable(table) - before.get(table);
    
    111
    -                    actualResults.put(table, actualCount);
    
    112
    -                }
    
    110
    +            for (String table : shell) {
    
    111
    +                long actualCount = factor * persistenceContext.countTable(table) - before.get(table);
    
    112
    +                actualResults.put(table, actualCount);
    
    113 113
                 }
    
    114 114
                 System.out.println(replicateScript.content());
    
    115 115
                 StringBuilder asserts = new StringBuilder();
    
    ... ... @@ -117,13 +117,10 @@ public class ReplicatePartialRequestTest extends PersistenceTestSupportWrite {
    117 117
                 System.out.println(asserts);
    
    118 118
                 return;
    
    119 119
             }
    
    120
    -
    
    121
    -        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    122
    -            for (String table : shell) {
    
    123
    -                long actualCount = persistenceContext.countTable(table) - before.get(table);
    
    124
    -                long expectedCount = factor * expected.get(table);
    
    125
    -                Assert.assertEquals("bad size for table: " + table, expectedCount, actualCount);
    
    126
    -            }
    
    120
    +        for (String table : shell) {
    
    121
    +            long actualCount = persistenceContext.countTable(table) - before.get(table);
    
    122
    +            long expectedCount = factor * expected.get(table);
    
    123
    +            Assert.assertEquals("bad size for table: " + table, expectedCount, actualCount);
    
    127 124
             }
    
    128 125
         }
    
    129 126
     
    
    ... ... @@ -131,21 +128,25 @@ public class ReplicatePartialRequestTest extends PersistenceTestSupportWrite {
    131 128
         @CopyDatabaseConfiguration
    
    132 129
         public void test() {
    
    133 130
             Map<String, Long> expected = ObservePersistenceFixtures.loadFixturesMapCount("persistence/replicate_partial_count/" + classifier + "-" + flavor);
    
    134
    -        try (ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext()) {
    
    131
    +        ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext();
    
    135 132
     
    
    136
    -            ReplicatePartialRequest replicateRequest = Trip.SPI.toSqlRequest(false, new MoveLayoutRequest(scopes, tripId, newId, false));
    
    137
    -            Set<String> shell = applicationContext.createShell(replicateRequest);
    
    138
    -            Map<String, Long> beforeResults = getBeforeResults(applicationContext, shell);
    
    133
    +        ReplicatePartialRequest replicateRequest = Trip.SPI.toSqlRequest(false, new MoveLayoutRequest(scopes, tripId, newId, false));
    
    134
    +        Set<String> shell = applicationContext.createShell(replicateRequest);
    
    139 135
     
    
    140
    -            assertReplicate(applicationContext, replicateRequest, shell, expected, beforeResults, 1);
    
    136
    +        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    141 137
     
    
    142
    -            if (!ObservePersistenceFixtures.WITH_ASSERT) {
    
    143
    -                return;
    
    138
    +            Map<String, Long> beforeResults = getBeforeResults(persistenceContext, shell);
    
    139
    +            try {
    
    140
    +                assertReplicate(applicationContext, persistenceContext, replicateRequest, shell, expected, beforeResults, 1);
    
    141
    +                if (!ObservePersistenceFixtures.WITH_ASSERT) {
    
    142
    +                    return;
    
    143
    +                }
    
    144
    +                assertReplicate(applicationContext, persistenceContext, replicateRequest, shell, expected, beforeResults, 2);
    
    145
    +                assertReplicate(applicationContext, persistenceContext, replicateRequest, shell, expected, beforeResults, 3);
    
    146
    +                assertReplicate(applicationContext, persistenceContext, replicateRequest, shell, expected, beforeResults, 4);
    
    147
    +            } finally {
    
    148
    +                persistenceContext.rollback();
    
    144 149
                 }
    
    145
    -
    
    146
    -            assertReplicate(applicationContext, replicateRequest, shell, expected, beforeResults, 2);
    
    147
    -            assertReplicate(applicationContext, replicateRequest, shell, expected, beforeResults, 3);
    
    148
    -            assertReplicate(applicationContext, replicateRequest, shell, expected, beforeResults, 4);
    
    149 150
             }
    
    150 151
         }
    
    151 152
     }

  • core/persistence/test/src/test/java/fr/ird/observe/persistence/test/request/ReplicateRequestTest.java
    ... ... @@ -33,14 +33,11 @@ import fr.ird.observe.entities.data.RootOpenableEntity;
    33 33
     import fr.ird.observe.entities.data.ps.logbook.SampleActivity;
    
    34 34
     import fr.ird.observe.entities.data.ps.logbook.WellActivity;
    
    35 35
     import fr.ird.observe.persistence.test.ObservePersistenceFixtures;
    
    36
    -import fr.ird.observe.persistence.test.PersistenceTestSupportWrite;
    
    36
    +import fr.ird.observe.persistence.test.PersistenceTestSupportRead;
    
    37 37
     import fr.ird.observe.spi.ObservePersistenceBusinessProject;
    
    38 38
     import fr.ird.observe.spi.context.DtoEntityContext;
    
    39 39
     import fr.ird.observe.spi.relation.WithDtoEntityRelation;
    
    40
    -import fr.ird.observe.test.DatabaseName;
    
    41 40
     import fr.ird.observe.test.IgnoreTestClassRule;
    
    42
    -import fr.ird.observe.test.spi.CopyDatabaseConfiguration;
    
    43
    -import fr.ird.observe.test.spi.DatabaseNameConfiguration;
    
    44 41
     import io.ultreia.java4all.util.sql.SqlScript;
    
    45 42
     import io.ultreia.java4all.util.sql.SqlScriptConsumer;
    
    46 43
     import org.junit.Assert;
    
    ... ... @@ -62,8 +59,7 @@ import java.util.stream.Collectors;
    62 59
      * @since 9.0.0
    
    63 60
      */
    
    64 61
     @RunWith(Parameterized.class)
    
    65
    -@DatabaseNameConfiguration(DatabaseName.data)
    
    66
    -public class ReplicateRequestTest extends PersistenceTestSupportWrite {
    
    62
    +public class ReplicateRequestTest extends PersistenceTestSupportRead {
    
    67 63
     
    
    68 64
         @ClassRule
    
    69 65
         public static final IgnoreTestClassRule IGNORE2 = new IgnoreTestClassRule("Persistence Request", "persistence.request.test.skip");
    
    ... ... @@ -78,54 +74,56 @@ public class ReplicateRequestTest extends PersistenceTestSupportWrite {
    78 74
         @Parameterized.Parameters(name = "{0}")
    
    79 75
         public static Iterable<Object[]> data() {
    
    80 76
             return ObservePersistenceBusinessProject.get().getEntityToDtoClassMapping().keySet().stream()
    
    81
    -                .filter(Class::isInterface)
    
    82
    -                .filter(Predicate.not(RootOpenableEntity.class::isAssignableFrom).and(DataEntity.class::isAssignableFrom).and(Predicate.not(NO_REPLICATE_TYPES::contains)))
    
    83
    -                .sorted(Comparator.comparing(Object::toString)).map(t -> new Object[]{t}).collect(Collectors.toList());
    
    77
    +                                                .filter(Class::isInterface)
    
    78
    +                                                .filter(Predicate.not(RootOpenableEntity.class::isAssignableFrom).and(DataEntity.class::isAssignableFrom).and(Predicate.not(NO_REPLICATE_TYPES::contains)))
    
    79
    +                                                .sorted(Comparator.comparing(Object::toString)).map(t -> new Object[]{t}).collect(Collectors.toList());
    
    84 80
         }
    
    85 81
     
    
    86 82
     
    
    87 83
         @Test
    
    88
    -    @CopyDatabaseConfiguration
    
    89 84
         public void replicate() {
    
    90 85
             String variableName = ObservePersistenceFixtures.getEntityVariableName(entityType);
    
    91 86
             String id = ObservePersistenceFixtures.getVariable(variableName);
    
    92 87
             log.info(String.format("test replicate for: %s", id));
    
    93 88
             DtoEntityContext<BusinessDto, DtoReference, ? extends DataEntity, ?> spi = ObservePersistenceBusinessProject.fromEntity(entityType);
    
    94 89
     
    
    95
    -        try (ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext()) {
    
    96
    -            ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    97
    -            String parentId;
    
    98
    -            try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    99
    -                parentId = ((WithDtoEntityRelation<?, ?, ?, ?>) spi).getParentId(persistenceContext, id).getId();
    
    100
    -            }
    
    101
    -            log.info(String.format("use parent id: %s", parentId));
    
    90
    +        ObserveTopiaApplicationContext applicationContext = localTestMethodResource.getTopiaApplicationContext();
    
    91
    +        ObservePersistenceFixtures.assertDataExist(applicationContext, spi, id);
    
    92
    +        String parentId;
    
    93
    +        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    94
    +            parentId = ((WithDtoEntityRelation<?, ?, ?, ?>) spi).getParentId(persistenceContext, id).getId();
    
    95
    +        }
    
    96
    +        log.info(String.format("use parent id: %s", parentId));
    
    102 97
     
    
    103
    -            ReplicateRequest replicateRequest = new ReplicateRequest(false, parentId, parentId, entityType.getName(), id);
    
    104
    -            DeleteRequest deleteRequest = new DeleteRequest(false, entityType.getName(), parentId, id);
    
    105
    -            SqlScript deleteScript = applicationContext.getSqlService().consume(deleteRequest);
    
    106
    -            SqlScript replicateScript = applicationContext.getSqlService().consume(replicateRequest);
    
    107
    -            String replicateScriptContent = replicateScript.content();
    
    108
    -            String deleteScriptContent = deleteScript.content();
    
    109
    -            if (!ObservePersistenceFixtures.WITH_ASSERT) {
    
    110
    -                System.out.println(deleteScriptContent);
    
    111
    -                System.out.println(replicateScriptContent);
    
    112
    -            }
    
    98
    +        ReplicateRequest replicateRequest = new ReplicateRequest(false, parentId, parentId, entityType.getName(), id);
    
    99
    +        DeleteRequest deleteRequest = new DeleteRequest(false, entityType.getName(), parentId, id);
    
    100
    +        SqlScript deleteScript = applicationContext.getSqlService().consume(deleteRequest);
    
    101
    +        SqlScript replicateScript = applicationContext.getSqlService().consume(replicateRequest);
    
    102
    +        String replicateScriptContent = replicateScript.content();
    
    103
    +        String deleteScriptContent = deleteScript.content();
    
    104
    +        if (!ObservePersistenceFixtures.WITH_ASSERT) {
    
    105
    +            System.out.println(deleteScriptContent);
    
    106
    +            System.out.println(replicateScriptContent);
    
    107
    +        }
    
    113 108
     
    
    114
    -            try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    109
    +        try (ObserveTopiaPersistenceContext persistenceContext = applicationContext.newPersistenceContext()) {
    
    110
    +            try {
    
    115 111
                     ObservePersistenceFixtures.assertDataExist(persistenceContext, spi, id);
    
    116 112
                     TopiaDao<? extends DataEntity> dao = spi.getDao(persistenceContext);
    
    117 113
                     long beforeCount = dao.count();
    
    118 114
                     persistenceContext.executeSqlScript(deleteScript);
    
    119
    -                persistenceContext.commit();
    
    115
    +                persistenceContext.flush();
    
    120 116
                     ObservePersistenceFixtures.assertDataNotExist(persistenceContext, spi, id);
    
    121 117
                     persistenceContext.executeSqlScript(SqlScriptConsumer.of(replicateScript));
    
    122
    -                persistenceContext.commit();
    
    118
    +                persistenceContext.flush();
    
    123 119
                     long afterCount = dao.count();
    
    124 120
     
    
    125 121
                     Assert.assertEquals(String.format("On type %s, should get count: %d, but get %d", entityType.getName(), beforeCount, afterCount), beforeCount, afterCount);
    
    126
    -                ObservePersistenceFixtures.assertDataNotExist(applicationContext, spi, id);
    
    127
    -
    
    122
    +                ObservePersistenceFixtures.assertDataNotExist(persistenceContext, spi, id);
    
    123
    +            } finally {
    
    124
    +                persistenceContext.rollback();
    
    128 125
                 }
    
    126
    +
    
    129 127
             }
    
    130 128
         }
    
    131 129