Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.sqlite / org.gvsig.sqlite.provider / src / test / java / org / gvsig / sqlite / dal / operations / sql / TestCreateTable.java @ 47579

History | View | Annotate | Download (4.49 KB)

1
package org.gvsig.sqlite.dal.operations.sql;
2

    
3
import java.util.List;
4
import junit.framework.TestCase;
5
import org.gvsig.fmap.dal.feature.EditableFeatureAttributeDescriptor;
6
import org.gvsig.fmap.dal.feature.EditableFeatureType;
7
import org.gvsig.fmap.dal.feature.FeatureStore;
8
import org.gvsig.fmap.dal.feature.FeatureType;
9
import org.gvsig.fmap.dal.store.jdbc2.JDBCHelper;
10
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory;
11
import org.gvsig.fmap.dal.store.jdbc2.OperationsFactory.TableReference;
12
import org.gvsig.fmap.dal.store.jdbc2.spi.JDBCSQLBuilderBase;
13
import org.gvsig.fmap.dal.store.jdbc2.spi.operations.CreateTableOperation;
14
import org.gvsig.sqlite.dal.TestUtils;
15
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
16
import org.slf4j.Logger;
17
import org.slf4j.LoggerFactory;
18

    
19
public class TestCreateTable extends TestCase {
20

    
21
  private static final Logger LOGGER = LoggerFactory.getLogger(TestCreateTable.class);
22

    
23
  public TestCreateTable(String testName) {
24
    super(testName);
25
  }
26

    
27
  @Override
28
  protected void setUp() throws Exception {
29
    super.setUp();
30
    new DefaultLibrariesInitializer().fullInitialize();
31
  }
32

    
33
  @Override
34
  protected void tearDown() throws Exception {
35
    super.tearDown();
36
  }
37

    
38
  // TODO add test methods here. The name must begin with 'test'. For example:
39
  // public void testHello() {}
40
  
41
  public void testCreateTable() throws Exception {
42
      try {
43
        JDBCHelper helper = TestUtils.createJDBCHelper();
44
        JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
45
        OperationsFactory operations = helper.getOperations();
46

    
47
        List<String> expectedSQLs = TestUtils.getSQLs("createTable.sql");
48

    
49
        FeatureStore sourceStore = TestUtils.openSourceStore1();
50

    
51
        TableReference table = operations.createTableReference(
52
                "dbtest", 
53
                sqlbuilder.default_schema(), 
54
                "test", 
55
                null
56
        );
57
        FeatureType featureType = sourceStore.getDefaultFeatureType();
58
        CreateTableOperation createTable = operations.createTable(
59
                table,
60
                featureType,
61
                null,
62
                null
63
        );
64
        List<String> SQLs = createTable.getSQLs();
65
        for (int i = 0; i < SQLs.size(); i++) {
66
            System.out.println("###### testCreateTable");
67
            System.out.println("###### SQL:" + SQLs.get(i) + ";");
68
        }
69

    
70
        assertEquals("CreateTable num. SQLs", expectedSQLs.size(), SQLs.size());
71
        for (int i = 0; i < expectedSQLs.size(); i++) {
72
            System.out.println("###### testCreateTable");
73
            System.out.println("###### SQL:" + SQLs.get(i) + ";");
74
            System.out.println("###### EXP:" + expectedSQLs.get(i) + ";");
75

    
76
          assertEquals("CreateTable SQL "+i, expectedSQLs.get(i), SQLs.get(i));
77
        }
78
      } catch(Exception ex) {
79
          LOGGER.warn("Error",ex);
80
          throw ex;
81
      }
82
  }
83

    
84
  public void testCreateTableWithDefaultDynamicText() throws Exception {
85
      try {
86
        JDBCHelper helper = TestUtils.createJDBCHelper();
87
        JDBCSQLBuilderBase sqlbuilder = helper.createSQLBuilder();
88
        OperationsFactory operations = helper.getOperations();
89

    
90
        List<String> expectedSQLs = TestUtils.getSQLs("createTable.sql");
91

    
92
        FeatureStore sourceStore = TestUtils.openSourceStore1();
93

    
94
        TableReference table = operations.createTableReference(
95
                "dbtest", 
96
                sqlbuilder.default_schema(), 
97
                "test", 
98
                null
99
        );
100
        FeatureType featureType = sourceStore.getDefaultFeatureType();
101
        EditableFeatureType eft = featureType.getEditable();
102
        EditableFeatureAttributeDescriptor date_attr = (EditableFeatureAttributeDescriptor) eft.getAttributeDescriptor("Date");
103
        date_attr.setDefaultValue("'<%=CURRENT_TIMESTAMP()%>'");
104
        CreateTableOperation createTable = operations.createTable(
105
                table,
106
                eft,
107
                null,
108
                null
109
        );
110
        List<String> SQLs = createTable.getSQLs();
111
        for (int i = 0; i < SQLs.size(); i++) {
112
            System.out.println("###### testCreateTable");
113
            System.out.println("###### SQL:" + SQLs.get(i) + ";");
114
        }
115

    
116
        assertEquals("CreateTable num. SQLs", expectedSQLs.size(), SQLs.size());
117
        for (int i = 0; i < expectedSQLs.size(); i++) {
118
          assertEquals("CreateTable SQL "+i, expectedSQLs.get(i), SQLs.get(i));
119
        }
120
      } catch(Exception ex) {
121
          LOGGER.warn("Error",ex);
122
          throw ex;
123
      }
124
  }
125
  
126
}