View Javadoc
1   /*
2    * To change this template, choose Tools | Templates
3    * and open the template in the editor.
4    */
5   
6   package fr.paris.lutece.plugins.adminsql.business;
7   
8   
9   import fr.paris.lutece.portal.service.database.PluginConnectionService;
10  import fr.paris.lutece.portal.service.plugin.Plugin;
11  import fr.paris.lutece.portal.service.plugin.PluginService;
12  import fr.paris.lutece.test.LuteceTestCase;
13  import java.util.ArrayList;
14  import java.util.List;
15  
16  /**
17   *
18   * @author coudercx
19   */
20  public class AdminSqlBusinessTest extends LuteceTestCase {
21  
22      private final static String POOL_PORTAL = "portal";
23      private final static String TABLE_NAME_MODIFY = "bibibibi";
24      private final static String FIELD_NAME_1 = "FIELD_NAME_1";
25      private final static String FIELD_NAME_2 = "FIELD_NAME_2";
26      private final static String DATA_1 = "1";
27      private final static String DATA_1_updated = "2";
28      private final static String DATA_2 = "2";
29      private final static String DATA_2_updated = "3";
30      private static final int ID_FIELD_TYPE = 7;
31      private final static String LENGTH_FIELD_TYPE = "8";
32      private static final int ID_KEY_VALUE = 1;
33      //private static final int ID_KEY_VALUE_2 = 1;
34      private static final int ID_NULL_VALUE = 1;
35      private static final String DEFAULT_VALUE = "";
36  
37      //Constants for the test of the modification of a field
38      private static final String MODIFY_FIELD_NAME = "TestFieldName";
39      private static final int MODIFY_ID_FIELD_TYPE = 7;
40      private static final String MODIFY_LENGTH_TYPE_VALUE = "7";
41      private static final int MODIFY_ID_KEY_VALUE = 1;
42      private static final int MODIFY_ID_NULL_VALUE = 1;
43      private static final String MODIFY_DEFAULT_VALUE = "1";
44  
45      //Request
46      private static String REQUEST = "SELECT * from ";
47      
48      /*@Override
49      protected void setUp() throws Exception {
50          super.setUp();
51      }
52  
53      @Override
54      protected void tearDown() throws Exception {
55          super.tearDown();
56      }*/
57  
58      public void testAdminSqlBusiness( )
59      {
60          Plugin plugin = PluginService.getPlugin( "adminsql" );
61          plugin.setPoolName(POOL_PORTAL);
62  
63          PluginConnectionService connectionService = new PluginConnectionService( plugin.getDbPoolName(  ) );
64  
65  
66          if ( ( plugin != null ) && plugin.isInstalled(  ) )
67          {
68              Table table = new Table(  );
69              table.setTableName("bibi");
70  
71              Field field = new Field();
72              field.setFieldName( FIELD_NAME_1 );
73              field.setIdTypeValue( ID_FIELD_TYPE );
74              field.setLengthTypeValue( LENGTH_FIELD_TYPE );
75              field.setIdKeyValue( ID_KEY_VALUE );
76              field.setIdNullValue( ID_NULL_VALUE );
77              field.setDefaultValue( DEFAULT_VALUE );
78  
79              String strTableName = table.getTableName(  );
80  
81              TableHome.create( POOL_PORTAL , table, field, plugin);
82  
83              Table tableStored = TableHome.findByPrimaryKey(POOL_PORTAL, strTableName, plugin);
84              Field fieldStored = FieldHome.findByPrimaryKey(POOL_PORTAL, strTableName, FIELD_NAME_1, plugin );
85  
86              assertEquals( table.getTableName( ), tableStored.getTableName( ) );
87              assertEquals( field.getFieldName( ), fieldStored.getFieldName( ) );
88              assertEquals( field.getIdTypeValue(), fieldStored.getIdTypeValue( ) );
89              assertEquals( field.getLengthTypeValue( ), fieldStored.getLengthTypeValue( ) );
90              assertEquals( field.getIdKeyValue( ), fieldStored.getIdKeyValue( ) );
91              assertEquals( field.getIdNullValue( ), fieldStored.getIdNullValue( ) );
92              assertEquals( field.getDefaultValue( ), fieldStored.getDefaultValue( ) );
93  
94              Field field_2 = new Field();
95              field_2.setFieldName( FIELD_NAME_2 );
96              field_2.setIdTypeValue( ID_FIELD_TYPE );
97              field_2.setLengthTypeValue( LENGTH_FIELD_TYPE );
98              field_2.setIdKeyValue( ID_KEY_VALUE );
99              field_2.setIdNullValue( ID_NULL_VALUE );
100             field_2.setDefaultValue( DEFAULT_VALUE );
101 
102             FieldHome.create(POOL_PORTAL, strTableName, field_2, plugin);
103 
104             System.out.println("insert data");
105             List<String> listData = new ArrayList( );
106             listData.add(DATA_1);
107             listData.add(DATA_2);
108             List<String> listFields = new ArrayList( );
109             listFields.add( FIELD_NAME_1 );
110             listFields.add( FIELD_NAME_2 );
111 
112             DataHome.create(POOL_PORTAL, strTableName, listData, listFields, connectionService);
113 
114             System.out.println("update Table");
115             Table table_1 = new Table( );
116             table_1.setTableName(strTableName);
117             TableHome.update(TABLE_NAME_MODIFY, table);
118             tableStored = TableHome.findByPrimaryKey(POOL_PORTAL, TABLE_NAME_MODIFY, plugin);
119             assertEquals( TABLE_NAME_MODIFY, tableStored.getTableName( ) );
120 
121             System.out.println("update Field");
122             Field fieldToModify = FieldHome.findByPrimaryKey( POOL_PORTAL, TABLE_NAME_MODIFY, FIELD_NAME_2, plugin );
123             fieldToModify.setFieldName( MODIFY_FIELD_NAME );
124             fieldToModify.setIdTypeValue( MODIFY_ID_FIELD_TYPE );
125             fieldToModify.setLengthTypeValue( MODIFY_LENGTH_TYPE_VALUE );
126             fieldToModify.setIdKeyValue( MODIFY_ID_KEY_VALUE );
127             fieldToModify.setIdNullValue( MODIFY_ID_NULL_VALUE );
128             fieldToModify.setDefaultValue( MODIFY_DEFAULT_VALUE );
129             FieldHome.update( POOL_PORTAL, TABLE_NAME_MODIFY, fieldToModify, FIELD_NAME_2, ID_KEY_VALUE, plugin );
130             assertEquals( fieldToModify.getFieldName( ), MODIFY_FIELD_NAME );
131 
132             /*System.out.println("update Data");
133             List<FieldValues> listFieldsValues = new ArrayList<FieldValues>( );
134             String strFieldNameUpdate = FIELD_NAME_1;
135             String strDataUpdate = DATA_1_updated;
136             String strFieldName = ;
137             String strData = request.getParameter( strFieldName );*/
138 
139             /*FieldValues fieldValues = new FieldValues(  );
140             fieldValues.setFieldName( strFieldName );
141             fieldValues.setOldValue( strData );
142             fieldValues.setNewValue( strDataUpdate );
143             listFieldsValues.add( MODIFY_FIELD_NAME );
144             listFieldsValues.add( FIELD_NAME_2 );*/
145 
146             System.out.println("find all in user request");
147             REQUEST += TABLE_NAME_MODIFY;
148             assertNotNull( DataHome.findAllInUserRequest( POOL_PORTAL, REQUEST, connectionService ) );
149 
150             /*System.out.println("delete Data");
151             List<String> listConcatFieldNameAndData = new ArrayList(  );
152             listConcatFieldNameAndData.add( FIELD_NAME_1 + "='" + DATA_1_updated + "'");
153             listConcatFieldNameAndData.add( MODIFY_FIELD_NAME + "='" + DATA_2_updated + "'");
154             DataHome.remove( POOL_PORTAL, TABLE_NAME_MODIFY, listConcatFieldNameAndData, connectionService );*/
155             System.out.println("delete Field");
156             FieldHome.remove( TABLE_NAME_MODIFY, MODIFY_FIELD_NAME, plugin );
157 
158             System.out.println("delete Table");
159             TableHome.remove( TABLE_NAME_MODIFY, plugin );
160         }
161     }
162 }