Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorslewis2007-12-18 07:04:39 +0000
committerslewis2007-12-18 07:04:39 +0000
commit3675d47c00e870db1b966f845d97e036bdccafa3 (patch)
treebf91213594285f7a8bce6a67f974c5425a2792cf /tests
parent42667ae059dd4b9722ac8d20279fdfd6853456f6 (diff)
downloadorg.eclipse.ecf-3675d47c00e870db1b966f845d97e036bdccafa3.tar.gz
org.eclipse.ecf-3675d47c00e870db1b966f845d97e036bdccafa3.tar.xz
org.eclipse.ecf-3675d47c00e870db1b966f845d97e036bdccafa3.zip
Refactoring of filetransfer test plugin. Added AbstractRetrieveTestCase and AbstractSendTestCase. Removed outgoing test cases
Diffstat (limited to 'tests')
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/META-INF/MANIFEST.MF7
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractRetrieveTestCase.java162
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractSendTestCase.java162
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/CancelServiceTest.java109
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/CancelTest.java100
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/FileIDFactoryTest.java92
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveServiceTest.java134
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveTest.java101
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PartialFileRetrieveTest.java (renamed from tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PartialFileRetrieveServiceTest.java)2
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PauseResumeTest.java (renamed from tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PauseResumeServiceTest.java)2
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveFileTransferServiceTest.java119
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveTest.java79
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/outgoing/SecureOutgoingTest.java161
-rwxr-xr-xtests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/outgoing/XMPPOutgoingTest.java145
14 files changed, 593 insertions, 782 deletions
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/META-INF/MANIFEST.MF b/tests/bundles/org.eclipse.ecf.tests.filetransfer/META-INF/MANIFEST.MF
index 6eac5a866..f634053d8 100755
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/META-INF/MANIFEST.MF
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/META-INF/MANIFEST.MF
@@ -6,12 +6,13 @@ Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.ecf.tests.filetransfer.Activator
Bundle-Vendor: %plugin.provider
Bundle-Localization: plugin
-Require-Bundle: org.eclipse.equinox.common,
- org.junit,
+Require-Bundle: org.junit,
org.eclipse.ecf,
org.eclipse.ecf.filetransfer,
- org.eclipse.ecf.tests
+ org.eclipse.ecf.tests,
+ org.eclipse.equinox.common
Eclipse-LazyStart: true
Import-Package: org.osgi.framework;version="1.4.0",
org.osgi.service.url;version="1.0.0",
org.osgi.util.tracker;version="1.3.2"
+Export-Package: org.eclipse.ecf.tests.filetransfer
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractRetrieveTestCase.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractRetrieveTestCase.java
new file mode 100755
index 000000000..e2521599f
--- /dev/null
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractRetrieveTestCase.java
@@ -0,0 +1,162 @@
+/****************************************************************************
+ * Copyright (c) 2007 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Composent, Inc. - initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.ecf.tests.filetransfer;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.eclipse.ecf.core.ContainerFactory;
+import org.eclipse.ecf.core.util.TimeoutException;
+import org.eclipse.ecf.filetransfer.IFileTransferListener;
+import org.eclipse.ecf.filetransfer.IIncomingFileTransfer;
+import org.eclipse.ecf.filetransfer.IRetrieveFileTransferContainerAdapter;
+import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent;
+import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
+import org.eclipse.ecf.filetransfer.identity.IFileID;
+
+/**
+ *
+ */
+public abstract class AbstractRetrieveTestCase extends TestCase {
+
+ IRetrieveFileTransferContainerAdapter retrieveAdapter = null;
+
+ protected List startEvents = null;
+ protected List dataEvents = null;
+ protected List doneEvents = null;
+
+ protected IIncomingFileTransfer incomingFileTransfer;
+
+ protected boolean done = false;
+
+ Object lock = new Object();
+
+ protected void trace(String msg) {
+ System.out.println(msg);
+ }
+
+ protected IRetrieveFileTransferContainerAdapter getRetrieveAdapter() throws Exception {
+ return (IRetrieveFileTransferContainerAdapter) ContainerFactory.getDefault().createContainer().getAdapter(IRetrieveFileTransferContainerAdapter.class);
+ }
+
+ protected IFileID createFileID(URL url) throws Exception {
+ return FileIDFactory.getDefault().createFileID(retrieveAdapter.getRetrieveNamespace(), url);
+ }
+
+ protected void handleUnexpectedEvent(IFileTransferEvent event) {
+ trace("handleUnexpectedEvent(" + event + ")");
+ }
+
+ protected void handleStartEvent(IIncomingFileTransferReceiveStartEvent event) {
+ trace("handleStartEvent(" + event + ")");
+ startEvents.add(event);
+ }
+
+ protected void handleDataEvent(IIncomingFileTransferReceiveDataEvent event) {
+ trace("handleDataEvent(" + event + ")");
+ dataEvents.add(event);
+ }
+
+ protected void handleDoneEvent(IIncomingFileTransferReceiveDoneEvent event) {
+ trace("handleDoneEvent(" + event + ")");
+ doneEvents.add(event);
+ synchronized (lock) {
+ done = true;
+ }
+ }
+
+ protected IFileTransferListener createFileTransferListener() {
+ return new IFileTransferListener() {
+ public void handleTransferEvent(IFileTransferEvent event) {
+ if (event instanceof IIncomingFileTransferReceiveStartEvent) {
+ handleStartEvent((IIncomingFileTransferReceiveStartEvent) event);
+ } else if (event instanceof IIncomingFileTransferReceiveDataEvent) {
+ handleDataEvent((IIncomingFileTransferReceiveDataEvent) event);
+ } else if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
+ handleDoneEvent((IIncomingFileTransferReceiveDoneEvent) event);
+ } else {
+ handleUnexpectedEvent(event);
+ }
+ }
+
+ };
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ retrieveAdapter = getRetrieveAdapter();
+ startEvents = new ArrayList();
+ dataEvents = new ArrayList();
+ doneEvents = new ArrayList();
+ synchronized (lock) {
+ done = false;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ retrieveAdapter = null;
+ startEvents = null;
+ dataEvents = null;
+ doneEvents = null;
+ super.tearDown();
+ }
+
+ protected void waitForDone(int timeout) throws Exception {
+ final long start = System.currentTimeMillis();
+ synchronized (lock) {
+ while (!done && ((System.currentTimeMillis() - start) < timeout)) {
+ lock.wait(timeout / 20);
+ }
+ if (!done)
+ throw new TimeoutException(timeout);
+ }
+ }
+
+ protected void assertHasEvent(Collection collection, Class eventType) {
+ assertHasEventCount(collection, eventType, 1);
+ }
+
+ protected void assertHasEventCount(Collection collection, Class eventType, int eventCount) {
+ int count = 0;
+ for (final Iterator i = collection.iterator(); i.hasNext();) {
+ final Object o = i.next();
+ if (eventType.isInstance(o))
+ count++;
+ }
+ assertTrue(count == eventCount);
+ }
+
+ protected void assertHasMoreThanEventCount(Collection collection, Class eventType, int eventCount) {
+ int count = 0;
+ for (final Iterator i = collection.iterator(); i.hasNext();) {
+ final Object o = i.next();
+ if (eventType.isInstance(o))
+ count++;
+ }
+ assertTrue(count > eventCount);
+ }
+
+}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractSendTestCase.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractSendTestCase.java
new file mode 100755
index 000000000..4f6907675
--- /dev/null
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/AbstractSendTestCase.java
@@ -0,0 +1,162 @@
+/****************************************************************************
+ * Copyright (c) 2007 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Composent, Inc. - initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.ecf.tests.filetransfer;
+
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.eclipse.ecf.core.ContainerFactory;
+import org.eclipse.ecf.core.util.TimeoutException;
+import org.eclipse.ecf.filetransfer.IFileTransferListener;
+import org.eclipse.ecf.filetransfer.IOutgoingFileTransfer;
+import org.eclipse.ecf.filetransfer.ISendFileTransferContainerAdapter;
+import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent;
+import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
+import org.eclipse.ecf.filetransfer.identity.IFileID;
+
+/**
+ *
+ */
+public abstract class AbstractSendTestCase extends TestCase {
+
+ ISendFileTransferContainerAdapter sendAdapter = null;
+
+ protected List startEvents = null;
+ protected List dataEvents = null;
+ protected List doneEvents = null;
+
+ protected IOutgoingFileTransfer outgoingFileTransfer;
+
+ protected boolean done = false;
+
+ Object lock = new Object();
+
+ protected void trace(String msg) {
+ System.out.println(msg);
+ }
+
+ protected ISendFileTransferContainerAdapter getSendAdapter() throws Exception {
+ return (ISendFileTransferContainerAdapter) ContainerFactory.getDefault().createContainer().getAdapter(ISendFileTransferContainerAdapter.class);
+ }
+
+ protected IFileID createFileID(URL url) throws Exception {
+ return FileIDFactory.getDefault().createFileID(sendAdapter.getOutgoingNamespace(), url);
+ }
+
+ protected void handleUnexpectedEvent(IFileTransferEvent event) {
+ trace("handleUnexpectedEvent(" + event + ")");
+ }
+
+ protected void handleStartEvent(IIncomingFileTransferReceiveStartEvent event) {
+ trace("handleStartEvent(" + event + ")");
+ startEvents.add(event);
+ }
+
+ protected void handleDataEvent(IIncomingFileTransferReceiveDataEvent event) {
+ trace("handleDataEvent(" + event + ")");
+ dataEvents.add(event);
+ }
+
+ protected void handleDoneEvent(IIncomingFileTransferReceiveDoneEvent event) {
+ trace("handleDoneEvent(" + event + ")");
+ doneEvents.add(event);
+ synchronized (lock) {
+ done = true;
+ }
+ }
+
+ protected IFileTransferListener createFileTransferListener() {
+ return new IFileTransferListener() {
+ public void handleTransferEvent(IFileTransferEvent event) {
+ if (event instanceof IIncomingFileTransferReceiveStartEvent) {
+ handleStartEvent((IIncomingFileTransferReceiveStartEvent) event);
+ } else if (event instanceof IIncomingFileTransferReceiveDataEvent) {
+ handleDataEvent((IIncomingFileTransferReceiveDataEvent) event);
+ } else if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
+ handleDoneEvent((IIncomingFileTransferReceiveDoneEvent) event);
+ } else {
+ handleUnexpectedEvent(event);
+ }
+ }
+
+ };
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ sendAdapter = getSendAdapter();
+ startEvents = new ArrayList();
+ dataEvents = new ArrayList();
+ doneEvents = new ArrayList();
+ synchronized (lock) {
+ done = false;
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ sendAdapter = null;
+ startEvents = null;
+ dataEvents = null;
+ doneEvents = null;
+ super.tearDown();
+ }
+
+ protected void waitForDone(int timeout) throws Exception {
+ final long start = System.currentTimeMillis();
+ synchronized (lock) {
+ while (!done && ((System.currentTimeMillis() - start) < timeout)) {
+ lock.wait(timeout / 20);
+ }
+ if (!done)
+ throw new TimeoutException(timeout);
+ }
+ }
+
+ protected void assertHasEvent(Collection collection, Class eventType) {
+ assertHasEventCount(collection, eventType, 1);
+ }
+
+ protected void assertHasEventCount(Collection collection, Class eventType, int eventCount) {
+ int count = 0;
+ for (final Iterator i = collection.iterator(); i.hasNext();) {
+ final Object o = i.next();
+ if (eventType.isInstance(o))
+ count++;
+ }
+ assertTrue(count == eventCount);
+ }
+
+ protected void assertHasMoreThanEventCount(Collection collection, Class eventType, int eventCount) {
+ int count = 0;
+ for (final Iterator i = collection.iterator(); i.hasNext();) {
+ final Object o = i.next();
+ if (eventType.isInstance(o))
+ count++;
+ }
+ assertTrue(count > eventCount);
+ }
+
+}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/CancelServiceTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/CancelServiceTest.java
deleted file mode 100755
index e51e1dc02..000000000
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/CancelServiceTest.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2004 Composent, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Composent, Inc. - initial API and implementation
- *****************************************************************************/
-
-package org.eclipse.ecf.tests.filetransfer;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.eclipse.ecf.filetransfer.IFileTransferListener;
-import org.eclipse.ecf.filetransfer.IIncomingFileTransfer;
-import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransfer;
-import org.eclipse.ecf.tests.ContainerAbstractTestCase;
-
-public class CancelServiceTest extends ContainerAbstractTestCase {
-
- private static final String HTTP_RETRIEVE = "http://www.eclipse.org/ecf/ip_log.html";
- private static final String HTTPS_RETRIEVE = RetrieveTest.HTTPS_RETRIEVE;
-
- //private static final String EFS_RETRIEVE = "efs:file://c:/foo.txt";
-
- File tmpFile = null;
-
- private IRetrieveFileTransfer transferInstance;
-
- protected IRetrieveFileTransfer getTransferInstance() {
- return Activator.getDefault().getRetrieveFileTransferFactory().newInstance();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- transferInstance = getTransferInstance();
- tmpFile = File.createTempFile("ECFTest", "");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- if (tmpFile != null)
- tmpFile.delete();
- tmpFile = null;
- }
-
- IIncomingFileTransfer incoming = null;
-
- protected void testReceiveHttp(String url) throws Exception {
- assertNotNull(transferInstance);
- final IFileTransferListener listener = new IFileTransferListener() {
- public void handleTransferEvent(IFileTransferEvent event) {
- if (event instanceof IIncomingFileTransferReceiveStartEvent) {
- IIncomingFileTransferReceiveStartEvent rse = (IIncomingFileTransferReceiveStartEvent) event;
- assertNotNull(rse.getFileID());
- assertNotNull(rse.getFileID().getFilename());
- try {
- incoming = rse.receive(tmpFile);
- } catch (IOException e) {
- fail(e.getLocalizedMessage());
- }
- } else if (event instanceof IIncomingFileTransferReceiveDataEvent) {
- if (incoming != null && incoming.getPercentComplete() > 0.50) {
- incoming.cancel();
- }
- System.out.println("receive data=" + event);
- } else if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
- System.out.println("receive done=" + event + ", exception=" + incoming.getException());
- assertTrue(incoming.getException() != null);
- }
- }
- };
-
- transferInstance.sendRetrieveRequest(FileIDFactory.getDefault().createFileID(transferInstance.getRetrieveNamespace(), url), listener, null);
- // Wait for 5 seconds
- sleep(5000, "Starting 5 second wait", "Ending 5 second wait");
- }
-
- public void testReceiveFile() throws Exception {
- testReceiveHttp(HTTP_RETRIEVE);
- }
-
- public void testHttpsReceiveFile() throws Exception {
- testReceiveHttp(HTTPS_RETRIEVE);
- }
- /*
- public void testEFSReceiveFile() throws Exception {
- testReceiveHttp(EFS_RETRIEVE);
- }
- */
-}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/CancelTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/CancelTest.java
new file mode 100755
index 000000000..11933cf80
--- /dev/null
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/CancelTest.java
@@ -0,0 +1,100 @@
+/****************************************************************************
+ * Copyright (c) 2004 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Composent, Inc. - initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.ecf.tests.filetransfer;
+
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+
+import org.eclipse.ecf.filetransfer.IFileTransferListener;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
+import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent;
+import org.eclipse.ecf.filetransfer.identity.IFileID;
+
+public class CancelTest extends AbstractRetrieveTestCase {
+
+ private static final String HTTP_RETRIEVE = "http://www.eclipse.org/ecf/ip_log.html";
+ private static final String HTTPS_RETRIEVE = RetrieveTest.HTTPS_RETRIEVE;
+
+ File tmpFile = null;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ tmpFile = File.createTempFile("ECFTest", "");
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ if (tmpFile != null)
+ tmpFile.delete();
+ tmpFile = null;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.tests.filetransfer.AbstractRetrieveTestCase#handleStartEvent(org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent)
+ */
+ protected void handleStartEvent(IIncomingFileTransferReceiveStartEvent event) {
+ super.handleStartEvent(event);
+ assertNotNull(event.getFileID());
+ assertNotNull(event.getFileID().getFilename());
+ try {
+ incomingFileTransfer = event.receive(tmpFile);
+ } catch (final IOException e) {
+ fail(e.getLocalizedMessage());
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.tests.filetransfer.AbstractRetrieveTestCase#handleDataEvent(org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent)
+ */
+ protected void handleDataEvent(IIncomingFileTransferReceiveDataEvent event) {
+ super.handleDataEvent(event);
+ if (incomingFileTransfer != null && incomingFileTransfer.getPercentComplete() > 0.50) {
+ incomingFileTransfer.cancel();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.tests.filetransfer.AbstractRetrieveTestCase#handleDoneEvent(org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent)
+ */
+ protected void handleDoneEvent(IIncomingFileTransferReceiveDoneEvent event) {
+ super.handleDoneEvent(event);
+ assertTrue(incomingFileTransfer.getException() != null);
+ }
+
+ protected void testReceive(String url) throws Exception {
+ assertNotNull(retrieveAdapter);
+ final IFileTransferListener listener = createFileTransferListener();
+ final IFileID fileID = createFileID(new URL(url));
+ retrieveAdapter.sendRetrieveRequest(fileID, listener, null);
+ waitForDone(20000);
+ }
+
+ public void testReceiveFile() throws Exception {
+ testReceive(HTTP_RETRIEVE);
+ }
+
+ public void testHttpsReceiveFile() throws Exception {
+ testReceive(HTTPS_RETRIEVE);
+ }
+}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/FileIDFactoryTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/FileIDFactoryTest.java
new file mode 100755
index 000000000..082217e01
--- /dev/null
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/FileIDFactoryTest.java
@@ -0,0 +1,92 @@
+/****************************************************************************
+ * Copyright (c) 2007 Composent, Inc. and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Composent, Inc. - initial API and implementation
+ *****************************************************************************/
+
+package org.eclipse.ecf.tests.filetransfer;
+
+import java.net.URL;
+
+import junit.framework.TestCase;
+
+import org.eclipse.ecf.core.ContainerFactory;
+import org.eclipse.ecf.core.identity.Namespace;
+import org.eclipse.ecf.filetransfer.IRetrieveFileTransferContainerAdapter;
+import org.eclipse.ecf.filetransfer.ISendFileTransferContainerAdapter;
+import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
+import org.eclipse.ecf.filetransfer.identity.IFileID;
+
+/**
+ *
+ */
+public class FileIDFactoryTest extends TestCase {
+
+ protected FileIDFactory factory;
+
+ protected IRetrieveFileTransferContainerAdapter getRetrieveAdapter() throws Exception {
+ return (IRetrieveFileTransferContainerAdapter) ContainerFactory.getDefault().createContainer().getAdapter(IRetrieveFileTransferContainerAdapter.class);
+ }
+
+ protected ISendFileTransferContainerAdapter getSendAdapter() throws Exception {
+ return (ISendFileTransferContainerAdapter) ContainerFactory.getDefault().createContainer().getAdapter(ISendFileTransferContainerAdapter.class);
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ factory = FileIDFactory.getDefault();
+ super.setUp();
+ }
+
+ /* (non-Javadoc)
+ * @see junit.framework.TestCase#tearDown()
+ */
+ protected void tearDown() throws Exception {
+ factory = null;
+ super.tearDown();
+ }
+
+ public void testIDFactory() {
+ assertNotNull(factory);
+ }
+
+ protected IFileID createFileID(Namespace ns, URL url) throws Exception {
+ assertNotNull(ns);
+ assertNotNull(url);
+ return FileIDFactory.getDefault().createFileID(ns, url);
+ }
+
+ protected IFileID createFileID(Namespace ns, String url) throws Exception {
+ assertNotNull(ns);
+ assertNotNull(url);
+ return FileIDFactory.getDefault().createFileID(ns, url);
+ }
+
+ protected IFileID createFileID(Namespace ns, Object[] args) throws Exception {
+ assertNotNull(ns);
+ return FileIDFactory.getDefault().createFileID(ns, args);
+ }
+
+ public void testCreateFromURL() throws Exception {
+ final IFileID fileID = createFileID(getRetrieveAdapter().getRetrieveNamespace(), new URL("http://www.eclipse.org/ecf"));
+ assertNotNull(fileID);
+ }
+
+ public void testCreateFromString() throws Exception {
+ final IFileID fileID = createFileID(getRetrieveAdapter().getRetrieveNamespace(), "http://www.eclipse.org/ecf");
+ assertNotNull(fileID);
+ }
+
+ public void testCreateFromObjectArray() throws Exception {
+ final IFileID fileID = createFileID(getRetrieveAdapter().getRetrieveNamespace(), new Object[] {"http://www.eclipse.org/ecf"});
+ assertNotNull(fileID);
+ }
+
+}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveServiceTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveServiceTest.java
deleted file mode 100755
index 3cb87859f..000000000
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveServiceTest.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2004 Composent, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Composent, Inc. - initial API and implementation
- *****************************************************************************/
-
-package org.eclipse.ecf.tests.filetransfer;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.ecf.filetransfer.IFileTransferListener;
-import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransfer;
-
-public class MultiRetrieveServiceTest extends TestCase {
-
- private static final String TESTSRCPATH = "test.src";
- private static final String TESTTARGETPATH = "test.target";
-
- private static List srcFiles = new ArrayList();
-
- private IRetrieveFileTransfer transferInstance;
-
- protected IRetrieveFileTransfer getTransferInstance() {
- return Activator.getDefault().getRetrieveFileTransferFactory().newInstance();
- }
-
- File targetDir = null;
-
- /*
- * (non-Javadoc)
- *
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- transferInstance = getTransferInstance();
- final Enumeration files = Activator.getDefault().getBundle().getEntryPaths(TESTSRCPATH);
- for (; files.hasMoreElements();) {
- final URL url = Activator.getDefault().getBundle().getEntry((String) files.nextElement());
- final String file = url.getFile();
- if (file != null && !file.equals("") && !file.endsWith("/")) {
- srcFiles.add(url.toExternalForm());
- }
- }
- // Make target directory if it's not there
- targetDir = new File(TESTTARGETPATH);
- targetDir.mkdirs();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- targetDir.delete();
- }
-
- protected void printFileInfo(String prefix, IFileTransferEvent event, File targetFile) {
- System.out.println(prefix + ";" + event + ";length=" + targetFile.length() + ";file=" + targetFile.getAbsolutePath());
- }
-
- protected void testReceive(String url) throws Exception {
- final File srcFile = new File(url);
- assertNotNull(transferInstance);
- final IFileTransferListener listener = new IFileTransferListener() {
- File targetFile = null;
- BufferedOutputStream bufferedStream = null;
-
- public void handleTransferEvent(IFileTransferEvent event) {
- if (event instanceof IIncomingFileTransferReceiveStartEvent) {
- IIncomingFileTransferReceiveStartEvent rse = (IIncomingFileTransferReceiveStartEvent) event;
- targetFile = new File(TESTTARGETPATH, rse.getFileID().getFilename());
- printFileInfo("START", event, targetFile);
- try {
- bufferedStream = new BufferedOutputStream(new FileOutputStream(targetFile));
- rse.receive(bufferedStream);
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getLocalizedMessage());
- }
- } else if (event instanceof IIncomingFileTransferReceiveDataEvent) {
- printFileInfo("DATA", event, targetFile);
- } else if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
- try {
- bufferedStream.flush();
- printFileInfo("DONE", event, targetFile);
- assertTrue(srcFile.length() == targetFile.length());
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getLocalizedMessage());
- } finally {
- if (targetFile != null)
- targetFile.delete();
- targetFile = null;
- }
- } else {
- printFileInfo("OTHER", event, targetFile);
- }
- }
- };
-
- transferInstance.sendRetrieveRequest(FileIDFactory.getDefault().createFileID(transferInstance.getRetrieveNamespace(), url), listener, null);
- }
-
- public void testReceives() throws Exception {
- for (final Iterator i = srcFiles.iterator(); i.hasNext();) {
- testReceive((String) i.next());
- }
- Thread.sleep(10000);
- }
-
-}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveTest.java
index 0d2a5d638..e0e788245 100755
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveTest.java
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/MultiRetrieveTest.java
@@ -21,32 +21,20 @@ import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
-import org.eclipse.ecf.core.ContainerFactory;
-import org.eclipse.ecf.core.IContainer;
import org.eclipse.ecf.filetransfer.IFileTransferListener;
-import org.eclipse.ecf.filetransfer.IRetrieveFileTransferContainerAdapter;
import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent;
import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.tests.ContainerAbstractTestCase;
+import org.eclipse.ecf.filetransfer.identity.IFileID;
-public class MultiRetrieveTest extends ContainerAbstractTestCase {
+public class MultiRetrieveTest extends AbstractRetrieveTestCase {
private static final String TESTSRCPATH = "test.src";
private static final String TESTTARGETPATH = "test.target";
private static List srcFiles = new ArrayList();
- protected IContainer createClient(int index) throws Exception {
- return ContainerFactory.getDefault().createContainer();
- }
-
- protected int getClientCount() {
- return 1;
- }
-
File targetDir = null;
/*
@@ -56,7 +44,6 @@ public class MultiRetrieveTest extends ContainerAbstractTestCase {
*/
protected void setUp() throws Exception {
super.setUp();
- clients = createClients();
final Enumeration files = Activator.getDefault().getBundle().getEntryPaths(TESTSRCPATH);
for (; files.hasMoreElements();) {
final URL url = Activator.getDefault().getBundle().getEntry((String) files.nextElement());
@@ -76,7 +63,6 @@ public class MultiRetrieveTest extends ContainerAbstractTestCase {
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception {
- cleanUpClients();
super.tearDown();
targetDir.delete();
}
@@ -85,55 +71,58 @@ public class MultiRetrieveTest extends ContainerAbstractTestCase {
System.out.println(prefix + ";" + event + ";length=" + targetFile.length() + ";file=" + targetFile.getAbsolutePath());
}
+ File srcFile = null;
+ File targetFile = null;
+ BufferedOutputStream bufferedStream = null;
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.tests.filetransfer.AbstractRetrieveTestCase#handleStartEvent(org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent)
+ */
+ protected void handleStartEvent(IIncomingFileTransferReceiveStartEvent event) {
+ super.handleStartEvent(event);
+ targetFile = new File(TESTTARGETPATH, event.getFileID().getFilename());
+ try {
+ bufferedStream = new BufferedOutputStream(new FileOutputStream(targetFile));
+ incomingFileTransfer = event.receive(bufferedStream);
+ } catch (final IOException e) {
+ fail(e.getLocalizedMessage());
+ }
+ printFileInfo("START", event, targetFile);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.tests.filetransfer.AbstractRetrieveTestCase#handleDataEvent(org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent)
+ */
+ protected void handleDataEvent(IIncomingFileTransferReceiveDataEvent event) {
+ super.handleDataEvent(event);
+ printFileInfo("DATA", event, targetFile);
+ }
+
+ protected void handleDoneEvent(IIncomingFileTransferReceiveDoneEvent event) {
+ super.handleDoneEvent(event);
+ try {
+ bufferedStream.flush();
+ printFileInfo("DONE", event, targetFile);
+ assertTrue(srcFile.length() == targetFile.length());
+ } catch (final IOException e) {
+ fail(e.getLocalizedMessage());
+ }
+ }
+
protected void testReceive(String url) throws Exception {
- final File srcFile = new File(url);
- final IRetrieveFileTransferContainerAdapter retrieveAdapter = (IRetrieveFileTransferContainerAdapter) getClients()[0].getAdapter(IRetrieveFileTransferContainerAdapter.class);
+ new File(url);
assertNotNull(retrieveAdapter);
- final IFileTransferListener listener = new IFileTransferListener() {
- File targetFile = null;
- BufferedOutputStream bufferedStream = null;
-
- public void handleTransferEvent(IFileTransferEvent event) {
- if (event instanceof IIncomingFileTransferReceiveStartEvent) {
- IIncomingFileTransferReceiveStartEvent rse = (IIncomingFileTransferReceiveStartEvent) event;
- targetFile = new File(TESTTARGETPATH, rse.getFileID().getFilename());
- printFileInfo("START", event, targetFile);
- try {
- bufferedStream = new BufferedOutputStream(new FileOutputStream(targetFile));
- rse.receive(bufferedStream);
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getLocalizedMessage());
- }
- } else if (event instanceof IIncomingFileTransferReceiveDataEvent) {
- printFileInfo("DATA", event, targetFile);
- } else if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
- try {
- bufferedStream.flush();
- printFileInfo("DONE", event, targetFile);
- assertTrue(srcFile.length() == targetFile.length());
- } catch (IOException e) {
- e.printStackTrace();
- fail(e.getLocalizedMessage());
- } finally {
- if (targetFile != null)
- targetFile.delete();
- targetFile = null;
- }
- } else {
- printFileInfo("OTHER", event, targetFile);
- }
- }
- };
+ final IFileTransferListener listener = createFileTransferListener();
+ final IFileID fileID = createFileID(new URL(url));
+ retrieveAdapter.sendRetrieveRequest(fileID, listener, null);
- retrieveAdapter.sendRetrieveRequest(FileIDFactory.getDefault().createFileID(retrieveAdapter.getRetrieveNamespace(), url), listener, null);
+ waitForDone(20000);
}
public void testReceives() throws Exception {
for (final Iterator i = srcFiles.iterator(); i.hasNext();) {
testReceive((String) i.next());
}
- sleep(10000, "Starting sleeping", "Ending sleeping");
}
}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PartialFileRetrieveServiceTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PartialFileRetrieveTest.java
index f83ab87c4..ab2c798cd 100755
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PartialFileRetrieveServiceTest.java
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PartialFileRetrieveTest.java
@@ -30,7 +30,7 @@ import org.eclipse.ecf.filetransfer.identity.IFileID;
import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransfer;
import org.eclipse.ecf.tests.ContainerAbstractTestCase;
-public class PartialFileRetrieveServiceTest extends ContainerAbstractTestCase {
+public class PartialFileRetrieveTest extends ContainerAbstractTestCase {
private static final String HTTP_RETRIEVE = "http://ftp.osuosl.org/pub/eclipse/technology/ecf/org.eclipse.ecf.examples-1.0.3.v20070927-1821.zip";
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PauseResumeServiceTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PauseResumeTest.java
index 3bd2fee65..833a989c0 100755
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PauseResumeServiceTest.java
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/PauseResumeTest.java
@@ -28,7 +28,7 @@ import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransfer;
import org.eclipse.ecf.tests.ContainerAbstractTestCase;
-public class PauseResumeServiceTest extends ContainerAbstractTestCase {
+public class PauseResumeTest extends ContainerAbstractTestCase {
private static final String HTTP_RETRIEVE = "http://ftp.osuosl.org/pub/eclipse/technology/ecf/org.eclipse.ecf.examples-1.0.3.v20070927-1821.zip";
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveFileTransferServiceTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveFileTransferServiceTest.java
deleted file mode 100755
index d60309db0..000000000
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveFileTransferServiceTest.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2004 Composent, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Composent, Inc. - initial API and implementation
- *****************************************************************************/
-
-package org.eclipse.ecf.tests.filetransfer;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.ecf.filetransfer.IFileTransferListener;
-import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.filetransfer.service.IRetrieveFileTransfer;
-import org.eclipse.ecf.tests.ContainerAbstractTestCase;
-
-public class RetrieveFileTransferServiceTest extends ContainerAbstractTestCase {
-
- private static final String HTTP_RETRIEVE = "http://www.eclipse.org/ecf/ip_log.html";
- private static final String HTTPS_RETRIEVE = RetrieveTest.HTTPS_RETRIEVE;
-
- //private static final String EFS_RETRIEVE = "efs:file://c:/foo.txt";
-
- File tmpFile = null;
-
- private IRetrieveFileTransfer transferInstance;
-
- protected IRetrieveFileTransfer getTransferInstance() {
- return Activator.getDefault().getRetrieveFileTransferFactory().newInstance();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp() throws Exception {
- super.setUp();
- transferInstance = getTransferInstance();
- tmpFile = File.createTempFile("ECFTest", "");
- }
-
- /*
- * (non-Javadoc)
- *
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- if (tmpFile != null)
- tmpFile.delete();
- tmpFile = null;
- }
-
- List receiveStartEvents = new ArrayList();
-
- List receiveDataEvents = new ArrayList();
-
- List receiveDoneEvents = new ArrayList();
-
- protected void testReceiveHttp(String url) throws Exception {
- assertNotNull(transferInstance);
- final IFileTransferListener listener = new IFileTransferListener() {
- public void handleTransferEvent(IFileTransferEvent event) {
- if (event instanceof IIncomingFileTransferReceiveStartEvent) {
- IIncomingFileTransferReceiveStartEvent rse = (IIncomingFileTransferReceiveStartEvent) event;
- receiveStartEvents.add(rse);
- assertNotNull(rse.getFileID());
- assertNotNull(rse.getFileID().getFilename());
- try {
- rse.receive(System.out);
- //rse.receive(tmpFile);
- } catch (IOException e) {
- fail(e.getLocalizedMessage());
- }
- } else if (event instanceof IIncomingFileTransferReceiveDataEvent) {
- receiveDataEvents.add(event);
- } else if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
- receiveDoneEvents.add(event);
- }
- }
- };
-
- transferInstance.sendRetrieveRequest(FileIDFactory.getDefault().createFileID(transferInstance.getRetrieveNamespace(), url), listener, null);
- // Wait for 5 seconds
- sleep(5000, "Starting 5 second wait", "Ending 5 second wait");
-
- assertHasEvent(receiveStartEvents, IIncomingFileTransferReceiveStartEvent.class);
- assertHasMoreThanEventCount(receiveDataEvents, IIncomingFileTransferReceiveDataEvent.class, 0);
- assertHasEvent(receiveDoneEvents, IIncomingFileTransferReceiveDoneEvent.class);
-
- //assertTrue(tmpFile.exists());
- //assertTrue(tmpFile.length() > 0);
- }
-
- public void testReceiveFile() throws Exception {
- testReceiveHttp(HTTP_RETRIEVE);
- }
-
- public void testHttpsReceiveFile() throws Exception {
- testReceiveHttp(HTTPS_RETRIEVE);
- }
- /*
- public void testEFSReceiveFile() throws Exception {
- testReceiveHttp(EFS_RETRIEVE);
- }
- */
-}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveTest.java
index e779c08b0..6381419dd 100755
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveTest.java
+++ b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/RetrieveTest.java
@@ -13,35 +13,21 @@ package org.eclipse.ecf.tests.filetransfer;
import java.io.File;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
+import java.net.URL;
-import org.eclipse.ecf.core.ContainerFactory;
-import org.eclipse.ecf.core.IContainer;
import org.eclipse.ecf.filetransfer.IFileTransferListener;
-import org.eclipse.ecf.filetransfer.IRetrieveFileTransferContainerAdapter;
-import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDataEvent;
import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.tests.ContainerAbstractTestCase;
+import org.eclipse.ecf.filetransfer.identity.IFileID;
-public class RetrieveTest extends ContainerAbstractTestCase {
+public class RetrieveTest extends AbstractRetrieveTestCase {
private static final String HTTP_RETRIEVE = "http://www.eclipse.org/ecf/ip_log.html";
protected static final String HTTPS_RETRIEVE = "https://www.verisign.com/";
File tmpFile = null;
- protected IContainer createClient(int index) throws Exception {
- return ContainerFactory.getDefault().createContainer();
- }
-
- protected int getClientCount() {
- return 1;
- }
-
/*
* (non-Javadoc)
*
@@ -49,7 +35,6 @@ public class RetrieveTest extends ContainerAbstractTestCase {
*/
protected void setUp() throws Exception {
super.setUp();
- clients = createClients();
tmpFile = File.createTempFile("ECFTest", "");
}
@@ -59,59 +44,47 @@ public class RetrieveTest extends ContainerAbstractTestCase {
* @see junit.framework.TestCase#tearDown()
*/
protected void tearDown() throws Exception {
- cleanUpClients();
super.tearDown();
if (tmpFile != null)
tmpFile.delete();
tmpFile = null;
}
- List receiveStartEvents = new ArrayList();
-
- List receiveDataEvents = new ArrayList();
-
- List receiveDoneEvents = new ArrayList();
+ /* (non-Javadoc)
+ * @see org.eclipse.ecf.tests.filetransfer.AbstractRetrieveTestCase#handleStartEvent(org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveStartEvent)
+ */
+ protected void handleStartEvent(IIncomingFileTransferReceiveStartEvent event) {
+ super.handleStartEvent(event);
+ assertNotNull(event.getFileID());
+ assertNotNull(event.getFileID().getFilename());
+ try {
+ incomingFileTransfer = event.receive(tmpFile);
+ } catch (final IOException e) {
+ fail(e.getLocalizedMessage());
+ }
+ }
- protected void testReceiveHttp(String url) throws Exception {
- final IRetrieveFileTransferContainerAdapter retrieveAdapter = (IRetrieveFileTransferContainerAdapter) getClients()[0].getAdapter(IRetrieveFileTransferContainerAdapter.class);
+ protected void testReceive(String url) throws Exception {
assertNotNull(retrieveAdapter);
- final IFileTransferListener listener = new IFileTransferListener() {
- public void handleTransferEvent(IFileTransferEvent event) {
- if (event instanceof IIncomingFileTransferReceiveStartEvent) {
- IIncomingFileTransferReceiveStartEvent rse = (IIncomingFileTransferReceiveStartEvent) event;
- receiveStartEvents.add(rse);
- assertNotNull(rse.getFileID());
- assertNotNull(rse.getFileID().getFilename());
- try {
- rse.receive(tmpFile);
- } catch (IOException e) {
- fail(e.getLocalizedMessage());
- }
- } else if (event instanceof IIncomingFileTransferReceiveDataEvent) {
- receiveDataEvents.add(event);
- } else if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
- receiveDoneEvents.add(event);
- }
- }
- };
+ final IFileTransferListener listener = createFileTransferListener();
+ final IFileID fileID = createFileID(new URL(url));
+ retrieveAdapter.sendRetrieveRequest(fileID, listener, null);
- retrieveAdapter.sendRetrieveRequest(FileIDFactory.getDefault().createFileID(retrieveAdapter.getRetrieveNamespace(), url), listener, null);
- // Wait for 5 seconds
- sleep(5000, "Starting 5 second wait", "Ending 5 second wait");
+ waitForDone(10000);
- assertHasEvent(receiveStartEvents, IIncomingFileTransferReceiveStartEvent.class);
- assertHasMoreThanEventCount(receiveDataEvents, IIncomingFileTransferReceiveDataEvent.class, 0);
- assertHasEvent(receiveDoneEvents, IIncomingFileTransferReceiveDoneEvent.class);
+ assertHasEvent(startEvents, IIncomingFileTransferReceiveStartEvent.class);
+ assertHasMoreThanEventCount(dataEvents, IIncomingFileTransferReceiveDataEvent.class, 0);
+ assertHasEvent(doneEvents, IIncomingFileTransferReceiveDoneEvent.class);
assertTrue(tmpFile.exists());
assertTrue(tmpFile.length() > 0);
}
public void testReceiveFile() throws Exception {
- testReceiveHttp(HTTP_RETRIEVE);
+ testReceive(HTTP_RETRIEVE);
}
public void testHttpsReceiveFile() throws Exception {
- testReceiveHttp(HTTPS_RETRIEVE);
+ testReceive(HTTPS_RETRIEVE);
}
}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/outgoing/SecureOutgoingTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/outgoing/SecureOutgoingTest.java
deleted file mode 100755
index 403700c76..000000000
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/outgoing/SecureOutgoingTest.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2004 Composent, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Composent, Inc. - initial API and implementation
- *****************************************************************************/
-
-package org.eclipse.ecf.tests.filetransfer.outgoing;
-
-import java.io.File;
-import java.io.FileOutputStream;
-
-import org.eclipse.ecf.core.IContainer;
-import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.core.identity.IDCreateException;
-import org.eclipse.ecf.core.identity.IDFactory;
-import org.eclipse.ecf.core.identity.Namespace;
-import org.eclipse.ecf.filetransfer.IFileTransferListener;
-import org.eclipse.ecf.filetransfer.IIncomingFileTransferRequestListener;
-import org.eclipse.ecf.filetransfer.ISendFileTransferContainerAdapter;
-import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
-import org.eclipse.ecf.filetransfer.events.IFileTransferRequestEvent;
-import org.eclipse.ecf.filetransfer.identity.FileCreateException;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.filetransfer.identity.IFileID;
-import org.eclipse.ecf.tests.ContainerAbstractTestCase;
-
-/**
- *
- */
-public class SecureOutgoingTest extends ContainerAbstractTestCase {
-
- private static final String TESTSRCPATH = "test.src";
- private static final String TESTSRCFILE = TESTSRCPATH + "/test.txt";
-
- private static final String TESTTARGETPATH = "test.target";
-
- static final String XMPP_CONTAINER = "ecf.xmpps.smack";
-
- protected ISendFileTransferContainerAdapter adapter0, adapter1 = null;
-
- protected String getClientContainerName() {
- return XMPP_CONTAINER;
- }
-
- protected ISendFileTransferContainerAdapter getOutgoingFileTransfer(int client) {
- final IContainer c = getClient(client);
- if (c != null)
- return (ISendFileTransferContainerAdapter) c.getAdapter(ISendFileTransferContainerAdapter.class);
- else
- return null;
- }
-
- protected IFileTransferListener getFileTransferListener(final String prefix) {
- return new IFileTransferListener() {
- public void handleTransferEvent(IFileTransferEvent event) {
- System.out.println(prefix + ".handleTransferEvent(" + event + ")");
- }
- };
- }
-
- File incomingDirectory = null;
- File incomingFile = null;
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- if (incomingFile != null)
- incomingFile.delete();
- incomingFile = null;
- if (incomingDirectory != null)
- incomingDirectory.delete();
- incomingDirectory = null;
- }
-
- protected IIncomingFileTransferRequestListener requestListener = new IIncomingFileTransferRequestListener() {
-
- public void handleFileTransferRequest(IFileTransferRequestEvent event) {
- System.out.println("receiver.handleFileTransferRequest(" + event + ")");
- incomingDirectory = new File(TESTTARGETPATH);
- incomingDirectory.mkdirs();
- incomingFile = new File(incomingDirectory, event.getFileTransferInfo().getFile().getName());
- try {
- FileOutputStream fos = new FileOutputStream(incomingFile);
- event.accept(fos, receiverTransferListener);
- //event.accept(f);
- } catch (Exception e) {
- e.printStackTrace(System.err);
- fail("exception calling accept for receive file transfer");
- }
- }
-
- };
-
- protected IFileTransferListener senderTransferListener = getFileTransferListener("sender");
- protected IFileTransferListener receiverTransferListener = getFileTransferListener("receiver");
-
- protected ID getServerConnectID(int client) {
- final IContainer container = getClient(client);
- final Namespace connectNamespace = container.getConnectNamespace();
- final String username = getUsername(client);
- try {
- return IDFactory.getDefault().createID(connectNamespace, username);
- } catch (final IDCreateException e) {
- e.printStackTrace(System.err);
- fail("Could not create server connect ID");
- return null;
- }
- }
-
- /*
- public void testOneClientToSend() throws Exception {
- // Setup one client. Client 0 is the sender
- setClientCount(2);
- clients = createClients();
- adapter0 = getOutgoingFileTransfer(0);
- for (int i = 0; i < 1; i++) {
- // Only connect client 0 (not client 1)
- connectClient(i);
- }
-
- adapter0.sendOutgoingRequest(getServerConnectID(1), new File(
- TESTSRCFILE), senderTransferListener, null);
- sleep(200000);
-
- disconnectClients();
-
- }
- */
-
- protected IFileID createFileID(ISendFileTransferContainerAdapter adapter, ID clientID, String filename) throws FileCreateException {
- return FileIDFactory.getDefault().createFileID(adapter.getOutgoingNamespace(), new Object[] {clientID, filename});
- }
-
- public void testTwoClientsToSendAndReceive() throws Exception {
- // Setup two clients. Client 0 is the receiver, client 1 is the sender
- setClientCount(2);
- clients = createClients();
- adapter0 = getOutgoingFileTransfer(0);
- adapter0.addListener(requestListener);
- adapter1 = getOutgoingFileTransfer(1);
- for (int i = 0; i < 2; i++) {
- connectClient(i);
- }
-
- final IFileID targetID = createFileID(adapter1, getServerConnectID(0), TESTSRCFILE);
- adapter1.sendOutgoingRequest(targetID, new File(TESTSRCFILE), senderTransferListener, null);
-
- sleep(10000);
-
- disconnectClients();
-
- }
-
-}
diff --git a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/outgoing/XMPPOutgoingTest.java b/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/outgoing/XMPPOutgoingTest.java
deleted file mode 100755
index 586d2a6ae..000000000
--- a/tests/bundles/org.eclipse.ecf.tests.filetransfer/src/org/eclipse/ecf/tests/filetransfer/outgoing/XMPPOutgoingTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2004 Composent, Inc. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Composent, Inc. - initial API and implementation
- *****************************************************************************/
-
-package org.eclipse.ecf.tests.filetransfer.outgoing;
-
-import java.io.File;
-import java.io.FileOutputStream;
-
-import org.eclipse.ecf.core.IContainer;
-import org.eclipse.ecf.core.identity.ID;
-import org.eclipse.ecf.core.identity.IDCreateException;
-import org.eclipse.ecf.core.identity.IDFactory;
-import org.eclipse.ecf.core.identity.Namespace;
-import org.eclipse.ecf.filetransfer.IFileTransferListener;
-import org.eclipse.ecf.filetransfer.IIncomingFileTransferRequestListener;
-import org.eclipse.ecf.filetransfer.ISendFileTransferContainerAdapter;
-import org.eclipse.ecf.filetransfer.events.IFileTransferEvent;
-import org.eclipse.ecf.filetransfer.events.IFileTransferRequestEvent;
-import org.eclipse.ecf.filetransfer.events.IIncomingFileTransferReceiveDoneEvent;
-import org.eclipse.ecf.filetransfer.identity.FileCreateException;
-import org.eclipse.ecf.filetransfer.identity.FileIDFactory;
-import org.eclipse.ecf.filetransfer.identity.IFileID;
-import org.eclipse.ecf.tests.ContainerAbstractTestCase;
-
-/**
- *
- */
-public class XMPPOutgoingTest extends ContainerAbstractTestCase {
-
- private static final String TESTSRCPATH = "test.src";
- private static final String TESTSRCFILE = TESTSRCPATH + "/test.txt";
-
- private static final String TESTTARGETPATH = "test.target";
-
- static final String XMPP_CONTAINER = "ecf.xmpp.smack";
-
- protected ISendFileTransferContainerAdapter adapter0, adapter1 = null;
-
- protected String getClientContainerName() {
- return XMPP_CONTAINER;
- }
-
- protected ISendFileTransferContainerAdapter getOutgoingFileTransfer(int client) {
- final IContainer c = getClient(client);
- if (c != null)
- return (ISendFileTransferContainerAdapter) c.getAdapter(ISendFileTransferContainerAdapter.class);
- else
- return null;
- }
-
- protected IFileTransferListener getFileTransferListener(final String prefix) {
- return new IFileTransferListener() {
- public void handleTransferEvent(IFileTransferEvent event) {
- System.out.println(prefix + ".handleTransferEvent(" + event + ")");
- if (event instanceof IIncomingFileTransferReceiveDoneEvent) {
-
- }
- }
- };
- }
-
- File incomingDirectory = null;
- File incomingFile = null;
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#tearDown()
- */
- protected void tearDown() throws Exception {
- super.tearDown();
- if (incomingFile != null)
- incomingFile.delete();
- incomingFile = null;
- if (incomingDirectory != null)
- incomingDirectory.delete();
- incomingDirectory = null;
- }
-
- protected IIncomingFileTransferRequestListener requestListener = new IIncomingFileTransferRequestListener() {
-
- public void handleFileTransferRequest(IFileTransferRequestEvent event) {
- System.out.println("receiver.handleFileTransferRequest(" + event + ")");
- incomingDirectory = new File(TESTTARGETPATH);
- incomingDirectory.mkdirs();
- incomingFile = new File(incomingDirectory, event.getFileTransferInfo().getFile().getName());
- try {
- FileOutputStream fos = new FileOutputStream(incomingFile);
- event.accept(fos, receiverTransferListener);
- //event.accept(f);
- } catch (Exception e) {
- e.printStackTrace(System.err);
- fail("exception calling accept for receive file transfer");
- }
- }
-
- };
-
- protected IFileTransferListener senderTransferListener = getFileTransferListener("sender");
- protected IFileTransferListener receiverTransferListener = getFileTransferListener("receiver");
-
- protected ID getServerConnectID(int client) {
- final IContainer container = getClient(client);
- final Namespace connectNamespace = container.getConnectNamespace();
- final String username = getUsername(client);
- try {
- return IDFactory.getDefault().createID(connectNamespace, username);
- } catch (final IDCreateException e) {
- e.printStackTrace(System.err);
- fail("Could not create server connect ID");
- return null;
- }
- }
-
- protected IFileID createFileID(ISendFileTransferContainerAdapter adapter, ID clientID, String filename) throws FileCreateException {
- return FileIDFactory.getDefault().createFileID(adapter.getOutgoingNamespace(), new Object[] {clientID, filename});
- }
-
- public void testTwoClientsToSendAndReceive() throws Exception {
- // Setup two clients. Client 0 is the receiver, client 1 is the sender
- setClientCount(2);
- clients = createClients();
- adapter0 = getOutgoingFileTransfer(0);
- adapter0.addListener(requestListener);
- adapter1 = getOutgoingFileTransfer(1);
- for (int i = 0; i < 2; i++) {
- connectClient(i);
- }
-
- final IFileID targetID = createFileID(adapter1, getServerConnectID(0), TESTSRCFILE);
- adapter1.sendOutgoingRequest(targetID, new File(TESTSRCFILE), senderTransferListener, null);
-
- sleep(20000);
-
- disconnectClients();
-
- }
-
-}

Back to the top