blob: 8a666baee1e7b9186d70a84c9d71794651bca082 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.team.tests.core;
import java.io.IOException;
import java.io.InputStream;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.team.core.TeamException;
import org.eclipse.team.core.sync.IRemoteResource;
import org.eclipse.team.internal.core.target.TargetProvider;
/**
* A set of test cases for org.eclipse.team.core.sync.IRemoteResource
*/
public class RemoteResourceTests extends TeamTest {
public RemoteResourceTests() {
super();
}
public RemoteResourceTests(String name) {
super(name);
}
public static Test suite() {
TestSuite suite = new TestSuite(RemoteResourceTests.class);
return new TargetTestSetup(suite);
}
protected IProject createAndPut(String projectPrefix, String[] resourceNames) throws CoreException, TeamException {
IProject project = getUniqueTestProject(projectPrefix);
IResource[] resources = buildResources(project, resourceNames, false);
TargetProvider target = createProvider(project);
target.put(resources, null);
return project;
}
public void testGetName() throws CoreException, TeamException {
IProject project = createAndPut("getname", new String[] { "file1.txt", "folder1/", "folder1/b.txt" });
TargetProvider target = getProvider(project);
IRemoteResource remote = target.getRemoteResource();
assertEquals(project.getName(), remote.getName());
}
public void testIsContainerSuccess() throws CoreException, TeamException {
IProject project = getUniqueTestProject("iscontainer");
IResource[] resources = buildResources(project, new String[] { "file1.txt", "folder1/", "folder1/b.txt" }, false);
TargetProvider target = createProvider(project);
target.put(resources, null);
IRemoteResource remote = target.getRemoteResource();
assertTrue(remote.isContainer());
}
public void testIsContainerFail() throws CoreException, TeamException {
IProject project = createAndPut("iscontainer", new String[] { "file1.txt", "folder1/", "folder1/b.txt" });
TargetProvider target = getProvider(project);
IRemoteResource remote = target.getRemoteResourceFor(project.getFile("file1.txt"));
assertTrue(!remote.isContainer());
}
public void testGetContents() throws CoreException, TeamException {
IProject project = createAndPut("getname", new String[] { "file1.txt", "folder1/", "folder1/b.txt" });
TargetProvider target = getProvider(project);
IRemoteResource remote = target.getRemoteResourceFor(project.getFile("file1.txt"));
InputStream jin = remote.getContents(DEFAULT_MONITOR);
try {
while (jin.available() > 0) {
jin.read();
}
} catch (IOException e) {
System.out.flush();
e.printStackTrace(System.err);
fail("Couldn't read from the input stream.");
}
}
public void testMembers() throws CoreException, TeamException {
IProject project = createAndPut("getname", new String[] { "file1.txt", "folder1/", "folder1/b.txt" });
TargetProvider target = getProvider(project);
IRemoteResource remote = target.getRemoteResource();
IRemoteResource[] altResources = remote.members(DEFAULT_MONITOR);
for (int i = 0; i < altResources.length; i++) {
assertEquals(altResources[i], project.findMember(altResources[i].getName()));
}
}
/**
* @see TestCase#setUp()
*/
protected void setUp() throws Exception {
super.setUp();
properties=TargetTestSetup.properties;
}
}