Search in sources :

Example 26 with Config

use of org.syncany.config.Config in project syncany by syncany.

the class DatabaseVersionDaoTest method testMarkDatabaseVersionDirty.

@Test
public void testMarkDatabaseVersionDirty() throws Exception {
    // Setup
    Config testConfig = TestConfigUtil.createTestLocalConfig();
    Connection databaseConnection = testConfig.createDatabaseConnection();
    // Run
    TestSqlUtil.runSqlFromResource(databaseConnection, "test.insert.set2.sql");
    ChunkSqlDao chunkDao = new ChunkSqlDao(databaseConnection);
    MultiChunkSqlDao multiChunkDao = new MultiChunkSqlDao(databaseConnection);
    FileVersionSqlDao fileVersionDao = new FileVersionSqlDao(databaseConnection);
    FileHistorySqlDao fileHistoryDao = new FileHistorySqlDao(databaseConnection, fileVersionDao);
    FileContentSqlDao fileContentDao = new FileContentSqlDao(databaseConnection);
    DatabaseVersionSqlDao databaseVersionDao = new DatabaseVersionSqlDao(databaseConnection, chunkDao, fileContentDao, fileVersionDao, fileHistoryDao, multiChunkDao);
    databaseVersionDao.markDatabaseVersionDirty(TestDatabaseUtil.createVectorClock("A48"));
    databaseVersionDao.markDatabaseVersionDirty(TestDatabaseUtil.createVectorClock("A49"));
    databaseVersionDao.markDatabaseVersionDirty(TestDatabaseUtil.createVectorClock("A50"));
    List<DatabaseVersion> dirtyDatabaseVersions = TestCollectionUtil.toList(databaseVersionDao.getDirtyDatabaseVersions());
    // Test
    assertNotNull(dirtyDatabaseVersions);
    assertEquals(3, dirtyDatabaseVersions.size());
    assertEquals("(A48)", dirtyDatabaseVersions.get(0).getVectorClock().toString());
    assertEquals("(A49)", dirtyDatabaseVersions.get(1).getVectorClock().toString());
    assertEquals("(A50)", dirtyDatabaseVersions.get(2).getVectorClock().toString());
    // Tear down
    databaseConnection.close();
    TestConfigUtil.deleteTestLocalConfigAndData(testConfig);
}
Also used : ChunkSqlDao(org.syncany.database.dao.ChunkSqlDao) MultiChunkSqlDao(org.syncany.database.dao.MultiChunkSqlDao) Config(org.syncany.config.Config) FileVersionSqlDao(org.syncany.database.dao.FileVersionSqlDao) FileContentSqlDao(org.syncany.database.dao.FileContentSqlDao) Connection(java.sql.Connection) DatabaseVersionSqlDao(org.syncany.database.dao.DatabaseVersionSqlDao) MultiChunkSqlDao(org.syncany.database.dao.MultiChunkSqlDao) FileHistorySqlDao(org.syncany.database.dao.FileHistorySqlDao) DatabaseVersion(org.syncany.database.DatabaseVersion) Test(org.junit.Test)

Example 27 with Config

use of org.syncany.config.Config in project syncany by syncany.

the class FileVersionDaoTest method testFileVersionGetCurrentFileTree.

@Test
public void testFileVersionGetCurrentFileTree() throws Exception {
    // Setup
    Config testConfig = TestConfigUtil.createTestLocalConfig();
    Connection databaseConnection = testConfig.createDatabaseConnection();
    // Run
    TestSqlUtil.runSqlFromResource(databaseConnection, "test.insert.set2.sql");
    FileVersionSqlDao fileVersionDao = new FileVersionSqlDao(databaseConnection);
    Map<String, FileVersion> currentFileTree = fileVersionDao.getCurrentFileTree();
    // Test
    assertEquals(50, currentFileTree.size());
    assertNotNull(currentFileTree.get("file1"));
    assertNotNull(currentFileTree.get("file1").getChecksum());
    assertEquals("fe83f217d464f6fdfa5b2b1f87fe3a1a47371196", currentFileTree.get("file1").getChecksum().toString());
    // Tear down
    databaseConnection.close();
    TestConfigUtil.deleteTestLocalConfigAndData(testConfig);
}
Also used : Config(org.syncany.config.Config) FileVersionSqlDao(org.syncany.database.dao.FileVersionSqlDao) FileVersion(org.syncany.database.FileVersion) Connection(java.sql.Connection) Test(org.junit.Test)

Example 28 with Config

use of org.syncany.config.Config in project syncany by syncany.

the class OperationPerformanceTest method testOperationPerformance.

@Test
public void testOperationPerformance() throws Exception {
    // Setup
    TransferSettings testConnection = TestConfigUtil.createTestLocalConnection();
    Config configA = TestConfigUtil.createTestLocalConfig("A", testConnection);
    Config configB = TestConfigUtil.createTestLocalConfig("B", testConnection);
    // Add new files on A and upload it
    TestFileUtil.createRandomFilesInDirectory(configA.getLocalDir(), 5000 * 1024, 3);
    long timeSyncUpStart = System.currentTimeMillis();
    new UpOperation(configA).execute();
    long timeSyncUpEnd = System.currentTimeMillis();
    long timeSyncUpTotal = timeSyncUpEnd - timeSyncUpStart;
    if (timeSyncUpTotal > 3000) {
        fail("Sync up took: " + timeSyncUpTotal + " ms");
    }
    logger.log(Level.INFO, "Sync up performance: " + timeSyncUpTotal + " ms");
    // Sync down B
    long timeSyncDownStart = System.currentTimeMillis();
    new DownOperation(configB).execute();
    long timeSyncDownEnd = System.currentTimeMillis();
    long timeSyncDownTotal = timeSyncDownEnd - timeSyncDownStart;
    if (timeSyncDownTotal > 3000) {
        fail("Sync down took: " + timeSyncDownTotal + " ms");
    }
    logger.log(Level.INFO, "Sync down performance: " + timeSyncDownTotal + " ms");
    // Cleanup
    TestConfigUtil.deleteTestLocalConfigAndData(configA);
    TestConfigUtil.deleteTestLocalConfigAndData(configB);
}
Also used : UpOperation(org.syncany.operations.up.UpOperation) Config(org.syncany.config.Config) DownOperation(org.syncany.operations.down.DownOperation) TransferSettings(org.syncany.plugins.transfer.TransferSettings) Test(org.junit.Test)

Example 29 with Config

use of org.syncany.config.Config in project syncany by syncany.

the class ApplicationDaoTest method testGetKnownDatabases.

@Test
public void testGetKnownDatabases() throws Exception {
    // Setup
    Config testConfig = TestConfigUtil.createTestLocalConfig();
    Connection databaseConnection = testConfig.createDatabaseConnection();
    // Run
    TestSqlUtil.runSqlFromResource(databaseConnection, "test.insert.set3.sql");
    ApplicationSqlDao applicationDao = new ApplicationSqlDao(databaseConnection);
    List<DatabaseRemoteFile> actualKnownDatabases = applicationDao.getKnownDatabases();
    // Test
    assertTrue(CollectionUtil.containsExactly(Arrays.asList(new DatabaseRemoteFile[] { new DatabaseRemoteFile("database-B-0000000001"), new DatabaseRemoteFile("database-B-0000000002"), new DatabaseRemoteFile("database-B-0000000003") }), actualKnownDatabases));
    // Tear down
    databaseConnection.close();
    TestConfigUtil.deleteTestLocalConfigAndData(testConfig);
}
Also used : Config(org.syncany.config.Config) DatabaseRemoteFile(org.syncany.plugins.transfer.files.DatabaseRemoteFile) Connection(java.sql.Connection) ApplicationSqlDao(org.syncany.database.dao.ApplicationSqlDao) Test(org.junit.Test)

Example 30 with Config

use of org.syncany.config.Config in project syncany by syncany.

the class ApplicationDaoTest method testShutdown.

@Test
public void testShutdown() throws Exception {
    // Setup
    Config testConfig = TestConfigUtil.createTestLocalConfig();
    Connection databaseConnection = testConfig.createDatabaseConnection();
    // Prepare
    ApplicationSqlDao applicationDao = new ApplicationSqlDao(databaseConnection);
    List<DatabaseRemoteFile> expectedKnownDatabases = Arrays.asList(new DatabaseRemoteFile[] { new DatabaseRemoteFile("database-A-0000000001") });
    applicationDao.writeKnownRemoteDatabases(expectedKnownDatabases);
    // Run & Test
    assertTrue(new File(testConfig.getDatabaseFile() + ".lck").exists());
    applicationDao.shutdown();
    assertFalse(new File(testConfig.getDatabaseFile() + ".lck").exists());
    // Tear down
    databaseConnection.close();
    TestConfigUtil.deleteTestLocalConfigAndData(testConfig);
}
Also used : Config(org.syncany.config.Config) DatabaseRemoteFile(org.syncany.plugins.transfer.files.DatabaseRemoteFile) Connection(java.sql.Connection) ApplicationSqlDao(org.syncany.database.dao.ApplicationSqlDao) File(java.io.File) DatabaseRemoteFile(org.syncany.plugins.transfer.files.DatabaseRemoteFile) Test(org.junit.Test)

Aggregations

Config (org.syncany.config.Config)55 Test (org.junit.Test)52 Connection (java.sql.Connection)25 File (java.io.File)24 MultiChunkSqlDao (org.syncany.database.dao.MultiChunkSqlDao)18 ConfigTO (org.syncany.config.to.ConfigTO)15 RepoTO (org.syncany.config.to.RepoTO)14 ChunkSqlDao (org.syncany.database.dao.ChunkSqlDao)14 FileContentSqlDao (org.syncany.database.dao.FileContentSqlDao)14 FileVersionSqlDao (org.syncany.database.dao.FileVersionSqlDao)13 DatabaseVersionSqlDao (org.syncany.database.dao.DatabaseVersionSqlDao)12 FileHistorySqlDao (org.syncany.database.dao.FileHistorySqlDao)12 MultiChunkId (org.syncany.database.MultiChunkEntry.MultiChunkId)10 DatabaseVersion (org.syncany.database.DatabaseVersion)9 ConfigException (org.syncany.config.ConfigException)7 FileVersion (org.syncany.database.FileVersion)7 ArrayList (java.util.ArrayList)6 MultiChunkEntry (org.syncany.database.MultiChunkEntry)6 UpOperation (org.syncany.operations.up.UpOperation)6 Date (java.util.Date)5