-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: wsimport data sample externalization
- Loading branch information
Showing
3 changed files
with
117 additions
and
190 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
109 changes: 109 additions & 0 deletions
109
...test/java/fr/insee/arc/ws/services/importServlet/dao/InitializeTestDataNoScalability.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,109 @@ | ||
package fr.insee.arc.ws.services.importServlet.dao; | ||
|
||
import java.sql.SQLException; | ||
|
||
import fr.insee.arc.core.dataobjects.ArcPreparedStatementBuilder; | ||
import fr.insee.arc.utils.dao.SQL; | ||
import fr.insee.arc.utils.dao.UtilitaireDao; | ||
import fr.insee.arc.utils.exception.ArcException; | ||
import fr.insee.arc.utils.query.InitializeQueryTest; | ||
|
||
public class InitializeTestDataNoScalability { | ||
|
||
/** | ||
* initialize the data sample for wsimport test | ||
* @param ok : true mean that data will be valid, false that a table will be lacking | ||
* @throws SQLException | ||
* @throws ArcException | ||
*/ | ||
public static void initializeTestData(boolean ok) throws SQLException, ArcException { | ||
|
||
InitializeQueryTest.buildPropertiesWithoutScalability(null); | ||
|
||
ArcPreparedStatementBuilder query; | ||
query = new ArcPreparedStatementBuilder(); | ||
query.append("CREATE SCHEMA arc;"); | ||
query.append("CREATE SCHEMA arc_bas1;"); | ||
|
||
|
||
// family and client tables | ||
query.append("CREATE TABLE arc.ihm_client AS "); | ||
query.append("SELECT 'DSN' as id_famille,'ARTEMIS' as id_application"); | ||
query.append(SQL.UNION_ALL); | ||
query.append("SELECT 'DSN' as id_famille,'DSNFLASH' as id_application"); | ||
query.append(SQL.END_QUERY); | ||
|
||
query.append("CREATE TABLE arc.ihm_famille AS SELECT 'DSN' as id_famille"); | ||
query.append(SQL.END_QUERY); | ||
|
||
query.append("CREATE TABLE arc_bas1.mod_table_metier AS "); | ||
query.append("SELECT 'DSN' as id_famille,'mapping_dsn_test1_ok' as nom_table_metier"); | ||
query.append(SQL.UNION_ALL); | ||
query.append("SELECT 'PASRAU' as id_famille,'mapping_pasrau_test_ok' as nom_table_metier"); | ||
query.append(SQL.END_QUERY); | ||
|
||
|
||
if (!ok) | ||
{ | ||
query.append("CREATE TABLE arc_bas1.mod_variable_metier AS SELECT 'DSN' as id_famille, 'mapping_dsn_test1_ok' as nom_table_metier, 'id_source' as nom_variable_metier"); | ||
query.append(SQL.END_QUERY); | ||
} | ||
|
||
// pilotage tables | ||
query.append("CREATE TABLE arc_bas1.pilotage_fichier AS "); | ||
query.append("SELECT 'file_to_retrieve.xml' as id_source, 'PHASE3V1' as id_norme, '2023-10-01' as validite,'M' as periodicite"); | ||
query.append(", 'MAPPING' as phase_traitement, '{OK}'::text[] as etat_traitement, '2023-11-30 10:29:47.000'::timestamp as date_traitement"); | ||
query.append(", null::text[] as client, null::timestamp[] as date_client"); | ||
query.append(SQL.UNION_ALL); | ||
// file that mustn't be retrieved when reprise is false and family is DSN | ||
query.append("SELECT 'file_not_to_retrieve_when_reprise_false.xml' as id_source, 'PHASE3V1' as id_norme, '2023-10-01' as validite,'M' as periodicite"); | ||
query.append(", 'MAPPING' as phase_traitement, '{OK}'::text[] as etat_traitement, '2023-11-30 10:29:47.000'::timestamp as date_traitement"); | ||
query.append(", '{ARTEMIS}'::text[] as client, '{2023-11-30 10:29:47.000}'::timestamp[] as date_client");; | ||
query.append(SQL.END_QUERY); | ||
|
||
// norme table used to retrieve family of data | ||
query.append("CREATE TABLE arc_bas1.norme AS "); | ||
query.append("SELECT 'PHASE3V1' as id_norme, 'DSN' as id_famille UNION ALL "); | ||
query.append("SELECT 'PASRAU' as id_norme, 'PASRAU' as id_famille"); | ||
query.append(SQL.END_QUERY); | ||
|
||
// data tables containing two files | ||
// one had already been retrieved by client 'ARTEMIS', the other hadn't been retrieved yet | ||
query.append("CREATE TABLE arc_bas1.mapping_dsn_test1_ok AS "); | ||
query.append("SELECT 'file_to_retrieve.xml' as id_source, 'data_of_file_to_retrieve' as data UNION ALL "); | ||
query.append("SELECT 'file_not_to_retrieve_when_reprise_false.xml' as id_source, 'data_of_file_not_to_retrieve_when_reprise_false' as data"); | ||
query.append(SQL.END_QUERY); | ||
|
||
// nomenclature tables | ||
query.append("CREATE TABLE arc_bas1.nmcl_table1 AS SELECT 1 as data"); | ||
query.append(SQL.END_QUERY); | ||
query.append("CREATE TABLE arc_bas1.nmcl_table2 AS SELECT 1 as data"); | ||
query.append(SQL.END_QUERY); | ||
query.append("CREATE TABLE arc.ext_mod_periodicite AS SELECT 1 as id, 'A' as VAL"); | ||
query.append(SQL.END_QUERY); | ||
|
||
UtilitaireDao.get(0).executeImmediate(InitializeQueryTest.c, query); | ||
} | ||
|
||
|
||
|
||
/** | ||
* destroy data for the tests | ||
* @throws SQLException | ||
* @throws ArcException | ||
*/ | ||
public static void destroyTestData() throws SQLException, ArcException { | ||
|
||
ArcPreparedStatementBuilder query; | ||
|
||
query = new ArcPreparedStatementBuilder(); | ||
|
||
query.append("DROP SCHEMA IF EXISTS arc CASCADE;"); | ||
query.append("DROP SCHEMA IF EXISTS arc_bas1 CASCADE;"); | ||
UtilitaireDao.get(0).executeImmediate(InitializeQueryTest.c, query); | ||
} | ||
|
||
|
||
|
||
|
||
} |