use of org.eclipse.ptp.rdt.sync.core.exceptions.MissingConnectionException in project linuxtools by eclipse.
the class FileProxyTest method testRemoteFileProxyOnSyncProject.
@Test
public void testRemoteFileProxyOnSyncProject() {
IRemoteFileProxy fileProxy = null;
try {
fileProxy = proxyManager.getFileProxy(syncProject.getProject());
assertTrue("Should have returned a remote launcher", fileProxy instanceof RDTFileProxy);
} catch (CoreException e) {
fail("Should have returned a launcher: " + e.getCause());
}
String ds = fileProxy.getDirectorySeparator();
assertNotNull(ds);
SyncConfig config = getSyncConfig(syncProject.getProject());
String projectLocation = config.getLocation();
assertNotNull(projectLocation);
IRemoteConnection conn = null;
String connScheme = null;
try {
conn = config.getRemoteConnection();
connScheme = conn.getConnectionType().getScheme();
} catch (MissingConnectionException e) {
fail("Unabled to get remote connection: " + e.getMessage());
}
/*
* Test getResource()
*/
IFileStore fs = fileProxy.getResource(projectLocation);
assertNotNull(fs);
assertEquals("Remote connection and FileStore schemes diverge", connScheme, fs.toURI().getScheme());
// assertTrue(fs.fetchInfo().isDirectory());
fs = fileProxy.getResource("/filenotexits");
assertNotNull(fs);
IFileInfo fileInfo = fs.fetchInfo();
assertNotNull(fileInfo);
assertFalse(fileInfo.exists());
/*
* Test getWorkingDir()
*/
URI workingDir = fileProxy.getWorkingDir();
assertNotNull(workingDir);
assertEquals("Remote connection and URI schemes diverge", connScheme, workingDir.getScheme());
/*
* Test toPath()
*/
URI uri = null;
try {
uri = new URI(connScheme, conn.getName(), projectLocation, null, null);
} catch (URISyntaxException e) {
fail("Failed to build URI for the test: " + e.getMessage());
}
assertEquals(projectLocation, fileProxy.toPath(uri));
/*
* Test it opens connection
*/
assertNotNull(conn);
conn.close();
assertFalse(conn.isOpen());
try {
fileProxy = proxyManager.getFileProxy(syncProject.getProject());
assertNotNull(fileProxy);
} catch (CoreException e) {
fail("Failed to obtain file proxy when connection is closed: " + e.getMessage());
}
fs = fileProxy.getResource("/tmp/somedir");
assertNotNull(fs);
assertFalse(fs.fetchInfo().exists());
try {
fs.mkdir(EFS.SHALLOW, new NullProgressMonitor());
} catch (CoreException e) {
fail("should be able to create a directory when connection is closed: " + e.getMessage());
}
assertTrue(fs.fetchInfo().exists());
try {
fs.delete(EFS.NONE, new NullProgressMonitor());
} catch (CoreException e) {
fail("Failed to delete file: " + e.getMessage());
}
}
Aggregations