1616package org .pgcodekeeper .core .it .jdbc .pg ;
1717
1818import org .junit .jupiter .api .Assertions ;
19- import org .junit .jupiter .params .ParameterizedTest ;
20- import org .junit .jupiter .params .provider .CsvSource ;
2119import org .pgcodekeeper .core .FILES_POSTFIX ;
2220import org .pgcodekeeper .core .TestUtils ;
2321import org .pgcodekeeper .core .api .PgCodeKeeperApi ;
2422import org .pgcodekeeper .core .database .api .jdbc .IJdbcConnector ;
23+ import org .pgcodekeeper .core .database .api .schema .IDatabase ;
2524import org .pgcodekeeper .core .database .base .jdbc .JdbcRunner ;
2625import org .pgcodekeeper .core .database .base .loader .AbstractDumpLoader ;
2726import org .pgcodekeeper .core .database .base .parser .ScriptParser ;
3029import org .pgcodekeeper .core .database .pg .loader .PgDumpLoader ;
3130import org .pgcodekeeper .core .it .jdbc .base .JdbcLoaderTest ;
3231import org .pgcodekeeper .core .monitor .NullMonitor ;
33- import org .pgcodekeeper .core .settings .CoreSettings ;
3432import org .pgcodekeeper .core .settings .DiffSettings ;
3533import org .pgcodekeeper .core .settings .ISettings ;
3634import org .pgcodekeeper .core .utils .InputStreamProvider ;
4341import java .util .List ;
4442import java .util .Locale ;
4543
46- class PgGpJdbcLoaderTest extends JdbcLoaderTest {
44+ abstract class AbstractPgGpJdbcLoaderTest extends JdbcLoaderTest {
4745
4846 private final PgDatabaseProvider databaseProvider = new PgDatabaseProvider ();
4947
50- @ ParameterizedTest
51- @ CsvSource ({
52- "dump_test, PG_16" ,
53- "operator, PG_16" ,
54- "statistics, PG_16" ,
55- "view, PG_16" ,
56- "not_null, PG_18" ,
57- "dump_test, GP_6" ,
58- "operator, GP_6" ,
59- "view, GP_6" ,
60- "dump_test, GP_7" ,
61- "operator, GP_7" ,
62- "statistics, GP_7" ,
63- "view, GP_7" ,
64- })
65- void jdbcLoaderTest (String fileName , String contTypeName ) throws Exception {
66- var settings = new CoreSettings ();
67- settings .setEnableFunctionBodiesDependencies (true );
68- jdbcLoaderTest (false , fileName , contTypeName , settings );
69- }
70-
71- @ ParameterizedTest
72- @ CsvSource ({
73- "view, PG_16" ,
74- "not_null, PG_18"
75- })
76- void jdbcLoaderSpecialTest (String fileName , String contTypeName ) throws Exception {
77- var settings = new CoreSettings ();
78- settings .setSimplifyNotNull (true );
79- settings .setSimplifyView (true );
80- jdbcLoaderTest (true , fileName , contTypeName , settings );
81- }
82-
8348 protected void jdbcLoaderTest (boolean hasDiff , String fileName , String contTypeName , ISettings settings )
8449 throws Exception {
8550 var url = TestContainerType .valueOf (contTypeName ).getUrl ();
@@ -95,12 +60,13 @@ protected void jdbcLoaderTest(boolean hasDiff, String fileName, String contTypeN
9560 dumpFileName , diffSettings );
9661 ScriptParser parser = new ScriptParser (loader , dumpFileName , script );
9762
98- var startConfDb = databaseProvider . getJdbcLoader ( url , diffSettings ). loadAndAnalyze ( );
63+ var startConfDb = loadStartConfDb ( databaseProvider , url , diffSettings );
9964 IJdbcConnector connector = new PgJdbcConnector (url );
65+ IDatabase remoteDb = null ;
10066 try {
10167 new JdbcRunner (new NullMonitor ()).runBatches (connector , parser .batch (), null );
10268
103- var remoteDb = databaseProvider .getJdbcLoader (url , diffSettings ).loadAndAnalyze ();
69+ remoteDb = databaseProvider .getJdbcLoader (url , diffSettings ).loadAndAnalyze ();
10470 List <Path > ignoreLists = List .of (TestUtils .getFilePath (ignoreListName , getClass ()));
10571 for (var ignoreList : ignoreLists ) {
10672 diffSettings .addIgnoreList (ignoreList );
@@ -117,7 +83,7 @@ protected void jdbcLoaderTest(boolean hasDiff, String fileName, String contTypeN
11783
11884 Assertions .assertEquals (expected , actual , "Incorrect run dump %s on Database" .formatted (dumpFileName ));
11985 } finally {
120- clearDb (startConfDb , connector , url , databaseProvider , diffSettings );
86+ clearDb (startConfDb , remoteDb , connector , url , databaseProvider , diffSettings );
12187 }
12288 }
12389
0 commit comments