Statistics
| Revision:

gvsig-projects-pool / org.gvsig.vcsgis / trunk / org.gvsig.vcsgis / org.gvsig.vcsgis.lib / org.gvsig.vcsgis.lib.impl / src / test / java / org / gvsig / vcsgis / lib / impl / Test06AddCommit.java @ 2728

History | View | Annotate | Download (3.55 KB)

1
package org.gvsig.vcsgis.lib.impl;
2

    
3
import java.io.File;
4
import junit.framework.TestCase;
5
import static junit.framework.TestCase.assertEquals;
6
import org.apache.commons.io.FileUtils;
7
import org.gvsig.fmap.dal.feature.FeatureStore;
8
import org.gvsig.fmap.dal.store.jdbc2.JDBCServerExplorer;
9
import org.gvsig.tools.dispose.DisposeUtils;
10
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
11
import org.gvsig.vcsgis.lib.workspace.tables.WorkspaceChangesTable;
12
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspace;
13
import org.gvsig.vcsgis.lib.vcsgis;
14
import org.gvsig.vcsgis.lib.repository.VCSGisRepository;
15
import org.gvsig.vcsgis.lib.vcsgisadmin;
16
import org.gvsig.vcsgis.lib.repository.localdb.VCSGisRepositoryLocaldb;
17
import org.gvsig.vcsgis.lib.repository.localdb.tables.DataRepoTable;
18
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
20

    
21
public class Test06AddCommit extends TestCase {
22

    
23
    private static final Logger LOGGER = LoggerFactory.getLogger(Test06AddCommit.class);
24

    
25
    public Test06AddCommit(String testName) {
26
        super(testName);
27
    }
28

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

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

    
40
    // TODO add test methods here. The name must begin with 'test'. For example:
41
    // public void testHello() {}
42
    
43
    public void testAddCommit() throws Exception {
44
        final String testid = "LocaldbAddCommit";
45

    
46
        JDBCServerExplorer server = TestUtils.openServerExplorer("srv-"+testid);
47
        File wsfile = TestUtils.getFile(FileUtils.getFile("test-dbs","ws-"+testid)); 
48

    
49
        // ---------------------------------------------------------
50
        // Creamos el respositorio y lo abrimos.
51
        int r = vcsgisadmin.init_repository(server);
52
        assertEquals("srv-init status", 0, r);
53

    
54
        VCSGisRepository repo = vcsgisadmin.open_repository(server);
55
        TestUtils.h2sql_repository(repo);
56
        
57
        
58
        // ---------------------------------------------------------
59
        // Creamos un workspace y lo abrimos.
60
        r = vcsgis.init_workspace(wsfile, repo, "Test add and commit");
61
        assertEquals("ws-init status", 0, r);
62
        
63
        VCSGisWorkspace ws = vcsgis.open_workspace(wsfile);
64
        TestUtils.h2sql_workspace(ws);
65
        
66
        // ---------------------------------------------------------
67
        // Adicionamos al workspace la tabla de pruebas y lo commitamos
68
        FeatureStore sourceStore = TestUtils.openSourceStore1();
69
        r = ws.add("sourceStore1", sourceStore, "ID");
70
        assertEquals("ws-add status", 0, r);
71
        
72
        r = ws.commit();
73
        assertEquals("ws-commit status", 0, r);
74

    
75
        // ---------------------------------------------------------
76
        // Comprobamos que tras el commit la tabla de cambios esta vacia.
77
        FeatureStore changesStore = ws.getFeatureStore(WorkspaceChangesTable.TABLE_NAME);
78
        assertEquals("Changes", 0, changesStore.size64());
79
        
80
        DisposeUtils.disposeQuietly(changesStore);
81
        
82
        // ---------------------------------------------------------
83
        // Comprobamos que la tabla adicionada al espacio ed trabajo contiene
84
        // los mismos registros que la original.
85
        FeatureStore dataStore = ((VCSGisRepositoryLocaldb)repo).getFeatureStore(DataRepoTable.TABLE_NAME);
86
        assertEquals("DataStore", sourceStore.size64(), dataStore.size64());
87
        
88
        sourceStore.dispose();
89
        DisposeUtils.disposeQuietly(dataStore);
90
    }
91
}