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 @ 2823

History | View | Annotate | Download (3.65 KB)

1 2381 jjdelcerro
package org.gvsig.vcsgis.lib.impl;
2 2268 jjdelcerro
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 2631 fdiaz
import org.gvsig.tools.dispose.DisposeUtils;
10 2268 jjdelcerro
import org.gvsig.tools.library.impl.DefaultLibrariesInitializer;
11 2741 fdiaz
import org.gvsig.vcsgis.lib.VCSGisLocator;
12
import org.gvsig.vcsgis.lib.VCSGisManager;
13 2631 fdiaz
import org.gvsig.vcsgis.lib.repository.VCSGisRepository;
14 2699 jjdelcerro
import org.gvsig.vcsgis.lib.repository.localdb.VCSGisRepositoryLocaldb;
15
import org.gvsig.vcsgis.lib.repository.localdb.tables.DataRepoTable;
16 2741 fdiaz
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspace;
17
import org.gvsig.vcsgis.lib.workspace.tables.WorkspaceChangesTable;
18 2631 fdiaz
import org.slf4j.Logger;
19
import org.slf4j.LoggerFactory;
20 2268 jjdelcerro
21 2627 jjdelcerro
public class Test06AddCommit extends TestCase {
22 2268 jjdelcerro
23 2627 jjdelcerro
    private static final Logger LOGGER = LoggerFactory.getLogger(Test06AddCommit.class);
24 2268 jjdelcerro
25 2627 jjdelcerro
    public Test06AddCommit(String testName) {
26 2268 jjdelcerro
        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 2712 jjdelcerro
        final String testid = "LocaldbAddCommit";
45 2268 jjdelcerro
46 2742 fdiaz
        VCSGisManager manager = VCSGisLocator.getVCSGisManager();
47 2712 jjdelcerro
        JDBCServerExplorer server = TestUtils.openServerExplorer("srv-"+testid);
48
        File wsfile = TestUtils.getFile(FileUtils.getFile("test-dbs","ws-"+testid));
49
50 2643 jjdelcerro
        // ---------------------------------------------------------
51
        // Creamos el respositorio y lo abrimos.
52 2742 fdiaz
        int r = manager.initRepository(server.getParameters(), null);
53 2268 jjdelcerro
        assertEquals("srv-init status", 0, r);
54
55 2742 fdiaz
        VCSGisRepository repo = manager.openRepository(server.getParameters());
56 2268 jjdelcerro
        TestUtils.h2sql_repository(repo);
57
58 2741 fdiaz
59 2643 jjdelcerro
        // ---------------------------------------------------------
60
        // Creamos un workspace y lo abrimos.
61 2741 fdiaz
        r = manager.initWorkspace(wsfile, repo, "Test add and commit",null);
62 2268 jjdelcerro
        assertEquals("ws-init status", 0, r);
63
64 2741 fdiaz
        VCSGisWorkspace ws = manager.openWorkspace(wsfile);
65 2268 jjdelcerro
        TestUtils.h2sql_workspace(ws);
66
67 2643 jjdelcerro
        // ---------------------------------------------------------
68 2728 jjdelcerro
        // Adicionamos al workspace la tabla de pruebas y lo commitamos
69 2268 jjdelcerro
        FeatureStore sourceStore = TestUtils.openSourceStore1();
70 2631 fdiaz
        r = ws.add("sourceStore1", sourceStore, "ID");
71 2268 jjdelcerro
        assertEquals("ws-add status", 0, r);
72
73
        r = ws.commit();
74
        assertEquals("ws-commit status", 0, r);
75
76 2643 jjdelcerro
        // ---------------------------------------------------------
77
        // Comprobamos que tras el commit la tabla de cambios esta vacia.
78 2701 fdiaz
        FeatureStore changesStore = ws.getFeatureStore(WorkspaceChangesTable.TABLE_NAME);
79 2268 jjdelcerro
        assertEquals("Changes", 0, changesStore.size64());
80
81
        DisposeUtils.disposeQuietly(changesStore);
82 2625 fdiaz
83 2643 jjdelcerro
        // ---------------------------------------------------------
84 2728 jjdelcerro
        // Comprobamos que la tabla adicionada al espacio ed trabajo contiene
85 2643 jjdelcerro
        // los mismos registros que la original.
86 2625 fdiaz
        FeatureStore dataStore = ((VCSGisRepositoryLocaldb)repo).getFeatureStore(DataRepoTable.TABLE_NAME);
87
        assertEquals("DataStore", sourceStore.size64(), dataStore.size64());
88
89
        sourceStore.dispose();
90
        DisposeUtils.disposeQuietly(dataStore);
91 2268 jjdelcerro
    }
92
}