Search in sources :

Example 16 with Config

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

the class StatusOperationTest method testNotSoRecentFileModificationWithoutSizeOrModifiedDateChange.

@Test
public void testNotSoRecentFileModificationWithoutSizeOrModifiedDateChange() throws Exception {
    // Setup
    Config config = TestConfigUtil.createTestLocalConfig();
    File testFile = TestFileUtil.createRandomFileInDirectory(config.getLocalDir(), 40);
    // Perform 'up', wait a second and then change test file
    // IMPORTANT: Sleep to prevent detailed checksum-based update check in 'status' operation
    new UpOperation(config).execute();
    Thread.sleep(2000);
    TestFileUtil.changeRandomPartOfBinaryFile(testFile);
    // Run 'status', this should NOT run a checksum-based file comparison
    ChangeSet changeSet = (new StatusOperation(config).execute()).getChangeSet();
    assertEquals(changeSet.getChangedFiles().size(), 1);
    // Cleanup
    TestConfigUtil.deleteTestLocalConfigAndData(config);
}
Also used : UpOperation(org.syncany.operations.up.UpOperation) StatusOperation(org.syncany.operations.status.StatusOperation) Config(org.syncany.config.Config) File(java.io.File) ChangeSet(org.syncany.operations.ChangeSet) Test(org.junit.Test)

Example 17 with Config

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

the class StatusOperationTest method testCreateFolderAndRunStatus.

@Test
public void testCreateFolderAndRunStatus() throws Exception {
    // Setup
    Config config = TestConfigUtil.createTestLocalConfig();
    new File(config.getLocalDir() + "/somefolder").mkdir();
    // Run 'status', this SHOULD list the folder
    ChangeSet changeSet = (new StatusOperation(config).execute()).getChangeSet();
    assertEquals(changeSet.getNewFiles().size(), 1);
    assertEquals(changeSet.getChangedFiles().size(), 0);
    assertEquals(changeSet.getDeletedFiles().size(), 0);
    assertEquals(changeSet.getUnchangedFiles().size(), 0);
    // Run 'up' to check in the folder
    new UpOperation(config).execute();
    // Run 'status', this SHOULD NOT list the folder in the changed/new files
    changeSet = (new StatusOperation(config).execute()).getChangeSet();
    assertEquals(changeSet.getNewFiles().size(), 0);
    assertEquals(changeSet.getChangedFiles().size(), 0);
    assertEquals(changeSet.getDeletedFiles().size(), 0);
    assertEquals(changeSet.getUnchangedFiles().size(), 1);
    // Cleanup
    TestConfigUtil.deleteTestLocalConfigAndData(config);
}
Also used : UpOperation(org.syncany.operations.up.UpOperation) StatusOperation(org.syncany.operations.status.StatusOperation) Config(org.syncany.config.Config) File(java.io.File) ChangeSet(org.syncany.operations.ChangeSet) Test(org.junit.Test)

Example 18 with Config

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

the class FileContentDaoTest method testGetFileContentByChecksum.

@Test
public void testGetFileContentByChecksum() throws Exception {
    // Setup
    Config testConfig = TestConfigUtil.createTestLocalConfig();
    Connection databaseConnection = testConfig.createDatabaseConnection();
    // Run
    TestSqlUtil.runSqlFromResource(databaseConnection, "test.insert.set3.sql");
    FileContentSqlDao fileContentDao = new FileContentSqlDao(databaseConnection);
    FileContent fileContent1WithChunks = fileContentDao.getFileContent(FileChecksum.parseFileChecksum("eba69a8e359ce3258520138a50ed9860127ab6e0"), true);
    FileContent fileContent1WithoutChunks = fileContentDao.getFileContent(FileChecksum.parseFileChecksum("eba69a8e359ce3258520138a50ed9860127ab6e0"), false);
    FileContent fileContent2WithChunks = fileContentDao.getFileContent(FileChecksum.parseFileChecksum("254416e71ae50431fc6ced6751075b3366db7cc8"), true);
    FileContent fileContent2WithoutChunks = fileContentDao.getFileContent(FileChecksum.parseFileChecksum("254416e71ae50431fc6ced6751075b3366db7cc8"), false);
    FileContent fileContentNonExistingWithChunks = fileContentDao.getFileContent(FileChecksum.parseFileChecksum("beefbeefbeefbeefbeefbeefbeefbeefbeefbeef"), true);
    FileContent fileContentNonExistingWithoutChunks = fileContentDao.getFileContent(FileChecksum.parseFileChecksum("beefbeefbeefbeefbeefbeefbeefbeefbeefbeef"), false);
    FileContent fileContentNullChecksum = fileContentDao.getFileContent(null, false);
    // Test
    assertNotNull(fileContent1WithChunks);
    assertEquals(1, fileContent1WithChunks.getChunks().size());
    assertEquals("eba69a8e359ce3258520138a50ed9860127ab6e0", fileContent1WithChunks.getChecksum().toString());
    assertEquals("eba69a8e359ce3258520138a50ed9860127ab6e0", fileContent1WithChunks.getChunks().get(0).toString());
    assertNotNull(fileContent1WithoutChunks);
    assertEquals("eba69a8e359ce3258520138a50ed9860127ab6e0", fileContent1WithoutChunks.getChecksum().toString());
    assertEquals(0, fileContent1WithoutChunks.getChunks().size());
    assertNotNull(fileContent2WithChunks);
    assertEquals(3, fileContent2WithChunks.getChunks().size());
    assertEquals("254416e71ae50431fc6ced6751075b3366db7cc8", fileContent2WithChunks.getChecksum().toString());
    assertEquals("b310c0eedcd03238888c6abb3e3398633139ecc5", fileContent2WithChunks.getChunks().get(0).toString());
    assertEquals("8ed8d50a6e9da3197bd665bc3a1f229ebcde9b42", fileContent2WithChunks.getChunks().get(1).toString());
    assertEquals("ab85720d3f31bd08ca1cd25dcd8a490e5f00783b", fileContent2WithChunks.getChunks().get(2).toString());
    assertNotNull(fileContent2WithoutChunks);
    assertEquals("254416e71ae50431fc6ced6751075b3366db7cc8", fileContent2WithoutChunks.getChecksum().toString());
    assertEquals(0, fileContent2WithoutChunks.getChunks().size());
    assertNull(fileContentNonExistingWithChunks);
    assertNull(fileContentNonExistingWithoutChunks);
    assertNull(fileContentNullChecksum);
    // Tear down
    databaseConnection.close();
    TestConfigUtil.deleteTestLocalConfigAndData(testConfig);
}
Also used : FileContent(org.syncany.database.FileContent) Config(org.syncany.config.Config) FileContentSqlDao(org.syncany.database.dao.FileContentSqlDao) Connection(java.sql.Connection) Test(org.junit.Test)

Example 19 with Config

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

the class MultiChunkDaoTest method testGetMultiChunkId.

@Test
public void testGetMultiChunkId() throws Exception {
    // Setup
    Config testConfig = TestConfigUtil.createTestLocalConfig();
    Connection databaseConnection = testConfig.createDatabaseConnection();
    // Run
    TestSqlUtil.runSqlFromResource(databaseConnection, "test.insert.set3.sql");
    MultiChunkSqlDao multiChunkDao = new MultiChunkSqlDao(databaseConnection);
    MultiChunkId multiChunkId1 = multiChunkDao.getMultiChunkId(ChunkChecksum.parseChunkChecksum("eba69a8e359ce3258520138a50ed9860127ab6e0"));
    MultiChunkId multiChunkId2 = multiChunkDao.getMultiChunkId(ChunkChecksum.parseChunkChecksum("0fecbac8ac8a5f8b7aa12b2741a4ef5db88c5dea"));
    MultiChunkId multiChunkId3 = multiChunkDao.getMultiChunkId(ChunkChecksum.parseChunkChecksum("38a18897e94a901b833e750e8604d9616a02ca84"));
    MultiChunkId multiChunkIdNonExistent = multiChunkDao.getMultiChunkId(ChunkChecksum.parseChunkChecksum("beefbeefbeefbeefbeefbeefbeefbeefbeefbeef"));
    // Test
    assertNotNull(multiChunkId1);
    assertEquals("0d79eed3fd8ac866b5872ea3f3f079c46dd15ac9", multiChunkId1.toString());
    assertNotNull(multiChunkId2);
    assertEquals("51aaca5c1280b1cf95cff8a3266a6bb44b482ad4", multiChunkId2.toString());
    assertNotNull(multiChunkId3);
    assertEquals("51aaca5c1280b1cf95cff8a3266a6bb44b482ad4", multiChunkId3.toString());
    assertEquals(multiChunkId2, multiChunkId3);
    assertNull(multiChunkIdNonExistent);
    // Tear down
    databaseConnection.close();
    TestConfigUtil.deleteTestLocalConfigAndData(testConfig);
}
Also used : MultiChunkId(org.syncany.database.MultiChunkEntry.MultiChunkId) Config(org.syncany.config.Config) Connection(java.sql.Connection) MultiChunkSqlDao(org.syncany.database.dao.MultiChunkSqlDao) Test(org.junit.Test)

Example 20 with Config

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

the class MultiChunkDaoTest method testGetMultiChunkIdsByFileChecksum.

@Test
public void testGetMultiChunkIdsByFileChecksum() throws Exception {
    // Setup
    Config testConfig = TestConfigUtil.createTestLocalConfig();
    Connection databaseConnection = testConfig.createDatabaseConnection();
    // Run
    TestSqlUtil.runSqlFromResource(databaseConnection, "test.insert.set3.sql");
    MultiChunkSqlDao multiChunkDao = new MultiChunkSqlDao(databaseConnection);
    List<MultiChunkId> multiChunkIds1 = multiChunkDao.getMultiChunkIds(FileChecksum.parseFileChecksum("254416e71ae50431fc6ced6751075b3366db7cc8"));
    List<MultiChunkId> multiChunkIds2 = multiChunkDao.getMultiChunkIds(FileChecksum.parseFileChecksum("7666fd3b860c9d7588d9ca1807eebdf8cfaa8be3"));
    List<MultiChunkId> multiChunkIdsDoesNotExist = multiChunkDao.getMultiChunkIds(FileChecksum.parseFileChecksum("beefbeefbeefbeefbeefbeefbeefbeefbeefbeef"));
    // Test
    // - Multi chunk for file 254416e71ae50431fc6ced6751075b3366db7cc8
    assertNotNull(multiChunkIds1);
    assertEquals(1, multiChunkIds1.size());
    MultiChunkId multiChunkId1 = multiChunkIds1.get(0);
    assertEquals("51aaca5c1280b1cf95cff8a3266a6bb44b482ad4", multiChunkId1.toString());
    // - Multi chunk for file a7405a0bada0035ed52a1a44a4d381b78dc59d19
    assertNotNull(multiChunkIds2);
    assertEquals(1, multiChunkIds2.size());
    MultiChunkId multiChunkId2 = multiChunkIds2.get(0);
    assertEquals("53dbeafe18eb2cd6dc519f8b861cf974fda8f26a", multiChunkId2.toString());
    // - Multi chunk for non existent file
    assertNotNull(multiChunkIdsDoesNotExist);
    assertEquals(0, multiChunkIdsDoesNotExist.size());
    // Tear down
    databaseConnection.close();
    TestConfigUtil.deleteTestLocalConfigAndData(testConfig);
}
Also used : MultiChunkId(org.syncany.database.MultiChunkEntry.MultiChunkId) Config(org.syncany.config.Config) Connection(java.sql.Connection) MultiChunkSqlDao(org.syncany.database.dao.MultiChunkSqlDao) 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