You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2018/11/16 08:55:45 UTC
[camel] 01/02: Refactor dopbox tests
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 0eb34c9752ddbd3c54d34217c86b926a675aec10
Author: Jan <jb...@redhat.com>
AuthorDate: Tue Nov 13 10:28:39 2018 +0100
Refactor dopbox tests
---
components/camel-dropbox/pom.xml | 32 +++++--
.../component/dropbox/DropboxConsumerTest.java | 16 ++--
.../dropbox/integration/DropboxTestSupport.java | 66 ++++++++++---
.../consumer/DropboxConsumerGetSingleTest.java | 25 ++---
.../consumer/DropboxConsumerSearchQueryTest.java | 23 ++---
.../consumer/DropboxConsumerSearchTest.java | 56 -----------
.../producer/DropboxProducerDelTest.java | 54 ++++-------
.../producer/DropboxProducerGetFolderTest.java | 106 ++++++---------------
.../producer/DropboxProducerGetSingleTest.java | 61 ++++--------
.../producer/DropboxProducerMoveTest.java | 59 ++++--------
.../producer/DropboxProducerPutSingleFileTest.java | 99 +++++++++++--------
...boxProducerPutSingleFileWithRemotePathTest.java | 96 -------------------
.../DropboxProducerPutWithRemotePathTest.java | 95 ------------------
.../producer/DropboxProducerSearchQueryTest.java | 66 +++++--------
.../producer/DropboxProducerSearchTest.java | 92 ------------------
.../src/test/resources/test-options.properties | 3 +-
16 files changed, 268 insertions(+), 681 deletions(-)
diff --git a/components/camel-dropbox/pom.xml b/components/camel-dropbox/pom.xml
index f93165b..dcbdeef 100644
--- a/components/camel-dropbox/pom.xml
+++ b/components/camel-dropbox/pom.xml
@@ -97,27 +97,39 @@
</dependency>
</dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <excludes>
+ <exclude>
+ **/integration/**
+ </exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
<profiles>
<profile>
- <id>no-integration-test</id>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
+ <id>dropbox-test</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <excludes>
- <exclude>
- **/integration/**
- </exclude>
- </excludes>
+ <configuration combine.self="override">
+ <includes>
+ <include>**/*Test.java</include>
+ </includes>
</configuration>
</plugin>
</plugins>
</build>
+
</profile>
</profiles>
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/DropboxConsumerTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/DropboxConsumerTest.java
index 199d5da..6fee8a6 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/DropboxConsumerTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/DropboxConsumerTest.java
@@ -21,22 +21,20 @@ import org.apache.camel.Endpoint;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.integration.consumer.DropboxScheduledPollGetConsumer;
+import org.apache.camel.test.junit4.CamelTestSupport;
import org.junit.Assert;
import org.junit.Test;
-public class DropboxConsumerTest extends DropboxTestSupport {
-
- public DropboxConsumerTest() throws Exception {
- }
+public class DropboxConsumerTest extends CamelTestSupport {
@Override
- protected RouteBuilder createRouteBuilder() throws Exception {
+ protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("dropbox://get?accessToken={{accessToken}}&remotePath=/path").to("mock:test1");
+ from("dropbox://get?accessToken=accessToken&remotePath=/path").to("mock:test1");
- from("dropbox://get?accessToken={{accessToken}}&remotePath=/path with spaces/file").to("mock:test2");
+ from("dropbox://get?accessToken=accessToken&remotePath=/path with spaces/file").to("mock:test2");
}
};
}
@@ -44,7 +42,7 @@ public class DropboxConsumerTest extends DropboxTestSupport {
@Test
public void shouldCreateGetConsumer() throws Exception {
// Given
- Endpoint dropboxEndpoint1 = context.getEndpoint("dropbox://get?accessToken={{accessToken}}&remotePath=/path");
+ Endpoint dropboxEndpoint1 = context.getEndpoint("dropbox://get?accessToken=accessToken&remotePath=/path");
// When
Consumer consumer1 = dropboxEndpoint1.createConsumer(null);
@@ -53,7 +51,7 @@ public class DropboxConsumerTest extends DropboxTestSupport {
Assert.assertTrue(consumer1 instanceof DropboxScheduledPollGetConsumer);
// Given
- Endpoint dropboxEndpoint2 = context.getEndpoint("dropbox://get?accessToken={{accessToken}}&remotePath=/path with spaces/file");
+ Endpoint dropboxEndpoint2 = context.getEndpoint("dropbox://get?accessToken=accessToken&remotePath=/path with spaces/file");
// When
Consumer consumer2 = dropboxEndpoint2.createConsumer(null);
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/DropboxTestSupport.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/DropboxTestSupport.java
index 9636142..ef174b7 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/DropboxTestSupport.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/DropboxTestSupport.java
@@ -16,36 +16,78 @@
*/
package org.apache.camel.component.dropbox.integration;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.net.URL;
import java.util.Properties;
-
+import com.dropbox.core.DbxDownloader;
+import com.dropbox.core.DbxException;
+import com.dropbox.core.DbxRequestConfig;
+import com.dropbox.core.v2.DbxClientV2;
+import com.dropbox.core.v2.files.FileMetadata;
import org.apache.camel.test.junit4.CamelTestSupport;
+import org.junit.Before;
public class DropboxTestSupport extends CamelTestSupport {
+
protected final Properties properties;
+ protected String workdir;
+ protected String token;
+ private DbxClientV2 client;
protected DropboxTestSupport() {
- URL url = getClass().getResource("/test-options.properties");
-
- InputStream inStream;
- try {
- inStream = url.openStream();
+ properties = new Properties();
+ try (InputStream inStream = getClass().getResourceAsStream("/test-options.properties")) {
+ properties.load(inStream);
} catch (IOException e) {
e.printStackTrace();
throw new IllegalAccessError("test-options.properties could not be found");
}
- properties = new Properties();
+ workdir = properties.getProperty("workDir");
+ token = properties.getProperty("accessToken");
+
+ DbxRequestConfig config = DbxRequestConfig.newBuilder(properties.getProperty("clientIdentifier")).build();
+ client = new DbxClientV2(config, token);
+
+ }
+
+ @Before
+ public void setUpWorkingFolder() throws DbxException {
+ createDir(workdir);
+ }
+
+ protected void createDir(String name) throws DbxException {
try {
- properties.load(inStream);
- } catch (IOException e) {
- e.printStackTrace();
- throw new IllegalAccessError("test-options.properties could not be found");
+ removeDir(name);
+ } finally {
+ client.files().createFolder(name);
+ }
+ }
+
+ protected void removeDir(String name) throws DbxException {
+ client.files().delete(name);
+ }
+
+ protected void createFile(String fileName, String content) throws IOException {
+ try {
+ client.files().uploadBuilder(workdir + "/" + fileName).uploadAndFinish(new ByteArrayInputStream(content.getBytes()));
+ } catch (DbxException e) {
+ log.info("folder is already created");
+ }
+
+ }
+
+ protected String getFileContent(String path) throws DbxException, IOException {
+ ByteArrayOutputStream target = new ByteArrayOutputStream();
+ DbxDownloader<FileMetadata> downloadedFile = client.files().download(path);
+ if (downloadedFile != null) {
+ downloadedFile.download(target);
}
+ return new String(target.toByteArray());
}
@Override
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerGetSingleTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerGetSingleTest.java
index b9b340c..c923c68 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerGetSingleTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerGetSingleTest.java
@@ -16,9 +16,6 @@
*/
package org.apache.camel.component.dropbox.integration.consumer;
-import java.util.List;
-
-import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.util.DropboxResultHeader;
@@ -27,29 +24,27 @@ import org.junit.Test;
public class DropboxConsumerGetSingleTest extends DropboxTestSupport {
- public DropboxConsumerGetSingleTest() throws Exception { }
+ public static final String FILE_NAME = "myFile.txt";
@Test
public void testCamelDropbox() throws Exception {
+ final String content = "Hi camels";
+ createFile(FILE_NAME, content);
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
+ context.startRoute("consumer");
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.DOWNLOADED_FILE.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMinimumMessageCount(1);
+ mock.expectedBodiesReceived(content);
+ mock.expectedHeaderReceived(DropboxResultHeader.DOWNLOADED_FILE.name(), String.format("%s/%s", workdir, FILE_NAME));
+ mock.assertIsSatisfied();
}
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() {
- from("dropbox://get?accessToken={{accessToken}}&remotePath=XXX")
- .to("file:XXX")
+ from(String.format("dropbox://get?accessToken={{accessToken}}&remotePath=%s/%s", workdir, FILE_NAME)).autoStartup(false).id("consumer")
.to("mock:result");
}
};
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java
index 253efd1..d343a75 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchQueryTest.java
@@ -16,9 +16,6 @@
*/
package org.apache.camel.component.dropbox.integration.consumer;
-import java.util.List;
-
-import org.apache.camel.Exchange;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.util.DropboxResultHeader;
@@ -27,28 +24,26 @@ import org.junit.Test;
public class DropboxConsumerSearchQueryTest extends DropboxTestSupport {
- public DropboxConsumerSearchQueryTest() throws Exception { }
+ public static final String FILE_NAME = "myTestFile.txt";
@Test
public void testCamelDropbox() throws Exception {
+ final String content = "Hi camels";
+ createFile(FILE_NAME, content);
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
+ context.startRoute("consumer");
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ MockEndpoint mock = getMockEndpoint("mock:result");
+ mock.expectedMinimumMessageCount(1);
+ mock.message(0).header(DropboxResultHeader.FOUND_FILES.name()).contains(String.format("%s/%s", workdir, FILE_NAME));
+ mock.assertIsSatisfied();
}
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
return new RouteBuilder() {
public void configure() {
- from("dropbox://search?accessToken={{accessToken}}&remotePath=/XXX&query=XXX")
+ from(String.format("dropbox://search?accessToken={{accessToken}}&remotePath=%s&query=%s", workdir, FILE_NAME)).id("consumer").autoStartup(false)
.to("mock:result");
}
};
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchTest.java
deleted file mode 100644
index b6f3273..0000000
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/consumer/DropboxConsumerSearchTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.dropbox.integration.consumer;
-
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
-import org.apache.camel.component.dropbox.util.DropboxResultHeader;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Test;
-
-public class DropboxConsumerSearchTest extends DropboxTestSupport {
-
- public DropboxConsumerSearchTest() throws Exception { }
-
- @Test
- public void testCamelDropbox() throws Exception {
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
- }
-
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- public void configure() {
- from("dropbox://search?accessToken={{accessToken}}&remotePath=/XXX")
- .to("mock:result");
- }
- };
- }
-}
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerDelTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerDelTest.java
index 766a22c..1934edb 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerDelTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerDelTest.java
@@ -16,63 +16,41 @@
*/
package org.apache.camel.component.dropbox.integration.producer;
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
+import java.io.IOException;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.util.DropboxConstants;
import org.apache.camel.component.dropbox.util.DropboxResultHeader;
import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Before;
import org.junit.Test;
public class DropboxProducerDelTest extends DropboxTestSupport {
- public DropboxProducerDelTest() throws Exception { }
+ public static final String FILE_NAME = "file.txt";
+
+ @Before
+ public void createFile() throws IOException {
+ createFile(FILE_NAME, "content");
+ }
@Test
public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.DELETED_PATH.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ test("direct:start");
}
@Test
public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
+ test("direct:start2");
+ }
+ private void test(String endpointURI) throws InterruptedException {
+ template.sendBody(endpointURI, null);
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
+ mock.expectedHeaderReceived(DropboxResultHeader.DELETED_PATH.name(), workdir + "/" + FILE_NAME);
assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.DELETED_PATH.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
}
@Override
@@ -80,11 +58,11 @@ public class DropboxProducerDelTest extends DropboxTestSupport {
return new RouteBuilder() {
public void configure() {
from("direct:start")
- .to("dropbox://del?accessToken={{accessToken}}&remotePath=/XXX")
+ .to("dropbox://del?accessToken={{accessToken}}&remotePath=" + workdir + "/" + FILE_NAME)
.to("mock:result");
from("direct:start2")
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/XXX"))
+ .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant(workdir + "/" + FILE_NAME))
.to("dropbox://del?accessToken={{accessToken}}")
.to("mock:result");
}
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerGetFolderTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerGetFolderTest.java
index f39d213..6d8eb82 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerGetFolderTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerGetFolderTest.java
@@ -16,120 +16,74 @@
*/
package org.apache.camel.component.dropbox.integration.producer;
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
+import java.io.IOException;
+import java.util.Map;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.util.DropboxConstants;
import org.apache.camel.component.dropbox.util.DropboxResultHeader;
import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Before;
import org.junit.Test;
public class DropboxProducerGetFolderTest extends DropboxTestSupport {
- public DropboxProducerGetFolderTest() throws Exception { }
+ public static final String FILE_NAME1 = "myFile.txt";
+ public static final String FILE_NAME2 = "myFile2.txt";
+ private static final String CONTENT1 = "content1";
+ private static final String CONTENT2 = "content2";
+
+ @Before
+ public void createFile() throws IOException {
+ createFile(FILE_NAME1, CONTENT1);
+ createFile(FILE_NAME2, CONTENT2);
+ }
@Test
public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.DOWNLOADED_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ test("direct:start");
}
@Test
public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- template.send("direct:start3", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- exchange.getIn().setHeader(DropboxConstants.HEADER_REMOTE_PATH, "/XXX");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(2);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.DOWNLOADED_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
-
- exchange = exchanges.get(1);
- header = exchange.getIn().getHeader(DropboxResultHeader.DOWNLOADED_FILES.name());
- body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ test("direct:start2");
}
@Test
public void testCamelDropboxHeaderHasPriorityOnParameter() throws Exception {
- template.send("direct:start4", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
+ test("direct:start3");
+ }
+ private void test(String endpoint) throws InterruptedException {
+ template.sendBody(endpoint, null);
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
+ mock.message(0).header(DropboxResultHeader.DOWNLOADED_FILES.name()).contains(String.format("%s/%s", workdir, FILE_NAME1));
+ mock.message(0).header(DropboxResultHeader.DOWNLOADED_FILES.name()).contains(String.format("%s/%s", workdir, FILE_NAME2));
+ mock.assertIsSatisfied();
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.DOWNLOADED_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ final Map<String, byte[]> items = mock.getExchanges().get(0).getIn().getBody(Map.class);
+ assertEquals(CONTENT1, new String(items.get(String.format("%s/%s", workdir, FILE_NAME1))));
+ assertEquals(CONTENT2, new String(items.get(String.format("%s/%s", workdir, FILE_NAME2))));
}
@Override
- protected RouteBuilder createRouteBuilder() throws Exception {
+ protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
from("direct:start")
- .to("dropbox://get?accessToken={{accessToken}}&remotePath=/XXX")
+ .to("dropbox://get?accessToken={{accessToken}}&remotePath=" + workdir)
.to("mock:result");
from("direct:start2")
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/XXX"))
+ .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant(workdir))
.to("dropbox://get?accessToken={{accessToken}}")
.to("mock:result");
- from("direct:start3")
- .to("dropbox://get?accessToken={{accessToken}}")
- .to("mock:result");
- from("direct:start4")
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/XXX"))
+ from("direct:start3")
+ .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant(workdir))
.to("dropbox://get?accessToken={{accessToken}}&remotePath=/aWrongPath")
.to("mock:result");
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerGetSingleTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerGetSingleTest.java
index 27f604b..fd4cbc2 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerGetSingleTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerGetSingleTest.java
@@ -16,63 +16,42 @@
*/
package org.apache.camel.component.dropbox.integration.producer;
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
+import java.io.IOException;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.util.DropboxConstants;
import org.apache.camel.component.dropbox.util.DropboxResultHeader;
import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Before;
import org.junit.Test;
public class DropboxProducerGetSingleTest extends DropboxTestSupport {
- public DropboxProducerGetSingleTest() throws Exception { }
+ public static final String FILE_NAME = "myFile.txt";
+ public static final String CONTENT = "Hi camels";
+
+ @Before
+ public void createFile() throws IOException {
+ createFile(FILE_NAME, CONTENT);
+ }
@Test
public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.DOWNLOADED_FILE.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ test("direct:start");
}
@Test
public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
+ test("direct:start2");
+ }
+ private void test(String endpoint) throws InterruptedException {
+ template.sendBody(endpoint, null);
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.DOWNLOADED_FILE.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ mock.message(0).header(DropboxResultHeader.DOWNLOADED_FILE.name()).contains(String.format("%s/%s", workdir, FILE_NAME));
+ mock.message(0).body(String.class).isEqualTo(CONTENT);
+ mock.assertIsSatisfied();
}
@Override
@@ -80,14 +59,12 @@ public class DropboxProducerGetSingleTest extends DropboxTestSupport {
return new RouteBuilder() {
public void configure() {
from("direct:start")
- .to("dropbox://get?accessToken={{accessToken}}&remotePath=/XXX")
- .to("file:///XXX?fileName=XXX")
+ .to("dropbox://get?accessToken={{accessToken}}&remotePath=" + workdir + "/" + FILE_NAME)
.to("mock:result");
from("direct:start2")
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/XXX"))
+ .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant(workdir + "/" + FILE_NAME))
.to("dropbox://get?accessToken={{accessToken}}")
- .to("file:///XXX?fileName=XXX")
.to("mock:result");
}
};
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerMoveTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerMoveTest.java
index f396897..086ab58 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerMoveTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerMoveTest.java
@@ -16,63 +16,44 @@
*/
package org.apache.camel.component.dropbox.integration.producer;
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
+import java.io.IOException;
+import com.dropbox.core.DbxException;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.util.DropboxConstants;
import org.apache.camel.component.dropbox.util.DropboxResultHeader;
import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Before;
import org.junit.Test;
public class DropboxProducerMoveTest extends DropboxTestSupport {
- public DropboxProducerMoveTest() throws Exception { }
+ public static final String COPY_WORKDIR = "/test-workdir";
+ public static final String FILE = "file.txt";
+
+ @Before
+ public void removeDir() throws DbxException, IOException {
+ createDir(COPY_WORKDIR);
+ createFile(FILE, "content");
+ }
@Test
public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.MOVED_PATH.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ test("direct:start");
}
@Test
public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
+ test("direct:start2");
+ }
+ private void test(String endpoint) throws InterruptedException {
+ template.sendBody(endpoint, null);
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
+ mock.expectedHeaderReceived(DropboxResultHeader.MOVED_PATH.name(), workdir + "/" + FILE);
assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.MOVED_PATH.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
}
@Override
@@ -80,12 +61,12 @@ public class DropboxProducerMoveTest extends DropboxTestSupport {
return new RouteBuilder() {
public void configure() {
from("direct:start")
- .to("dropbox://move?accessToken={{accessToken}}&remotePath=/XXX&newRemotePath=/XXX")
+ .to(String.format("dropbox://move?accessToken={{accessToken}}&remotePath=%s&newRemotePath=%s", workdir + "/" + FILE, COPY_WORKDIR + "/" + FILE))
.to("mock:result");
from("direct:start2")
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/XXX"))
- .setHeader(DropboxConstants.HEADER_NEW_REMOTE_PATH, constant("/XXX"))
+ .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant(workdir + "/" + FILE))
+ .setHeader(DropboxConstants.HEADER_NEW_REMOTE_PATH, constant(COPY_WORKDIR + "/" + FILE))
.to("dropbox://move?accessToken={{accessToken}}")
.to("mock:result");
}
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutSingleFileTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutSingleFileTest.java
index a4acea7..a7ba22d 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutSingleFileTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutSingleFileTest.java
@@ -16,64 +16,85 @@
*/
package org.apache.camel.component.dropbox.integration.producer;
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
+import java.io.BufferedWriter;
+import java.io.FileWriter;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.util.DropboxConstants;
+import org.apache.camel.component.dropbox.util.DropboxException;
import org.apache.camel.component.dropbox.util.DropboxResultHeader;
import org.apache.camel.component.dropbox.util.DropboxUploadMode;
import org.apache.camel.component.mock.MockEndpoint;
+import org.hamcrest.core.IsInstanceOf;
+import org.junit.Assert;
+import org.junit.Rule;
import org.junit.Test;
+import org.junit.rules.ExpectedException;
public class DropboxProducerPutSingleFileTest extends DropboxTestSupport {
+ public static final String FILENAME = "newFile.txt";
- public DropboxProducerPutSingleFileTest() throws Exception { }
+ @Rule
+ public ExpectedException thrown = ExpectedException.none();
@Test
- public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
+ public void testCamelDropboxWithOptionInHeader() throws Exception {
+ final Path file = Files.createTempFile("camel", ".txt");
+ final Map<String, Object> headers = new HashMap<>();
+ headers.put(DropboxConstants.HEADER_LOCAL_PATH, file.toAbsolutePath().toString());
+ headers.put(DropboxConstants.HEADER_UPLOAD_MODE, DropboxUploadMode.add);
+ template.sendBodyAndHeaders("direct:start", null, headers);
+ assertFileUploaded();
+ }
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
+ @Test
+ public void uploadBodyTest() throws Exception {
+ template.sendBodyAndHeader("direct:start", "Helo Camels", DropboxConstants.HEADER_UPLOAD_MODE, DropboxUploadMode.add);
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.UPLOADED_FILE.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ assertFileUploaded();
}
@Test
- public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
+ public void uploadIfExistsAddTest() throws Exception {
+ thrown.expectCause(IsInstanceOf.instanceOf(DropboxException.class));
+ createFile(FILENAME, "content");
+ final Path file = Files.createTempFile("camel", ".txt");
+ final Map<String, Object> headers = new HashMap<>();
+ headers.put(DropboxConstants.HEADER_LOCAL_PATH, file.toAbsolutePath().toString());
+ headers.put(DropboxConstants.HEADER_UPLOAD_MODE, DropboxUploadMode.add);
+ template.sendBodyAndHeaders("direct:start", null, headers);
+ }
+
+ @Test
+ public void uploadIfExistsForceTest() throws Exception {
+ final String newContent = UUID.randomUUID().toString();
+ createFile(FILENAME, "Hi camels");
+ final Path file = Files.createTempFile("camel", ".txt");
+ try (BufferedWriter bw = new BufferedWriter(new FileWriter(file.toFile()))) {
+ bw.write(newContent);
+ bw.flush();
+ }
+ final Map<String, Object> headers = new HashMap<>();
+ headers.put(DropboxConstants.HEADER_LOCAL_PATH, file.toAbsolutePath().toString());
+ headers.put(DropboxConstants.HEADER_UPLOAD_MODE, DropboxUploadMode.force);
+ template.sendBodyAndHeaders("direct:start", null, headers);
+ assertFileUploaded();
+ Assert.assertEquals(newContent, getFileContent(workdir + "/" + FILENAME));
+ }
+
+ private void assertFileUploaded() throws InterruptedException {
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
+ mock.expectedHeaderReceived(DropboxResultHeader.UPLOADED_FILE.name(), workdir + "/" + FILENAME);
assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.UPLOADED_FILE.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
}
@Override
@@ -81,13 +102,7 @@ public class DropboxProducerPutSingleFileTest extends DropboxTestSupport {
return new RouteBuilder() {
public void configure() {
from("direct:start")
- .to("dropbox://put?accessToken={{accessToken}}&uploadMode=add&localPath=/XXX")
- .to("mock:result");
-
- from("direct:start2")
- .setHeader(DropboxConstants.HEADER_LOCAL_PATH, constant("/XXX"))
- .setHeader(DropboxConstants.HEADER_UPLOAD_MODE, constant(DropboxUploadMode.add))
- .to("dropbox://put?accessToken={{accessToken}}")
+ .to("dropbox://put?accessToken={{accessToken}}&remotePath=" + workdir + "/" + FILENAME)
.to("mock:result");
}
};
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutSingleFileWithRemotePathTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutSingleFileWithRemotePathTest.java
deleted file mode 100644
index 42bd460..0000000
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutSingleFileWithRemotePathTest.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.dropbox.integration.producer;
-
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
-import org.apache.camel.component.dropbox.util.DropboxConstants;
-import org.apache.camel.component.dropbox.util.DropboxResultHeader;
-import org.apache.camel.component.dropbox.util.DropboxUploadMode;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Test;
-
-public class DropboxProducerPutSingleFileWithRemotePathTest extends DropboxTestSupport {
-
- public DropboxProducerPutSingleFileWithRemotePathTest() throws Exception { }
-
- @Test
- public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.UPLOADED_FILE.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
- }
-
- @Test
- public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.UPLOADED_FILE.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
- }
-
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- public void configure() {
- from("direct:start")
- .to("dropbox://put?accessToken={{accessToken}}&uploadMode=add&localPath=/XXX&remotePath=/XXX")
- .to("mock:result");
-
- from("direct:start2")
- .setHeader(DropboxConstants.HEADER_UPLOAD_MODE, constant(DropboxUploadMode.add))
- .setHeader(DropboxConstants.HEADER_LOCAL_PATH, constant("/tmp/toto.txt"))
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/test"))
- .to("dropbox://put?accessToken={{accessToken}}")
- .to("mock:result");
- }
- };
- }
-}
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutWithRemotePathTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutWithRemotePathTest.java
deleted file mode 100644
index 2de352c..0000000
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerPutWithRemotePathTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.dropbox.integration.producer;
-
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
-import org.apache.camel.component.dropbox.util.DropboxConstants;
-import org.apache.camel.component.dropbox.util.DropboxResultHeader;
-import org.apache.camel.component.dropbox.util.DropboxUploadMode;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Test;
-
-public class DropboxProducerPutWithRemotePathTest extends DropboxTestSupport {
-
- public DropboxProducerPutWithRemotePathTest() throws Exception { }
-
- @Test
- public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.UPLOADED_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
- }
-
- @Test
- public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.UPLOADED_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
- }
-
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- public void configure() {
- from("direct:start")
- .to("dropbox://put?accessToken={{accessToken}}&uploadMode=add&localPath=/XXX&remotePath=/XXX")
- .to("mock:result");
-
- from("direct:start2")
- .setHeader(DropboxConstants.HEADER_LOCAL_PATH, constant("/XXX"))
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/XXX"))
- .setHeader(DropboxConstants.HEADER_UPLOAD_MODE, constant(DropboxUploadMode.add))
- .to("dropbox://put?accessToken={{accessToken}}")
- .to("mock:result");
- }
- };
- }
-}
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java
index 4c8939f..2a541cd 100644
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java
+++ b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchQueryTest.java
@@ -16,79 +16,57 @@
*/
package org.apache.camel.component.dropbox.integration.producer;
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
+import java.io.IOException;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
import org.apache.camel.component.dropbox.util.DropboxConstants;
import org.apache.camel.component.dropbox.util.DropboxResultHeader;
import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Before;
import org.junit.Test;
public class DropboxProducerSearchQueryTest extends DropboxTestSupport {
- public DropboxProducerSearchQueryTest() throws Exception { }
-
- @Test
- public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
+ public static final String FILE_NAME = "myTestFile.txt";
+ @Before
+ public void createFile() throws IOException {
+ final String content = "Hi camels";
+ createFile(FILE_NAME, content);
}
+ @Test
+ public void testCamelDropbox() throws Exception {
+ test("direct:start");
+ }
@Test
public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
+ test("direct:start2");
+ }
+
+ private void test(String endpoint) throws InterruptedException {
+ template.sendBody(endpoint, null);
MockEndpoint mock = getMockEndpoint("mock:result");
mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
-
+ mock.message(0).header(DropboxResultHeader.FOUND_FILES.name()).contains(String.format("%s/%s", workdir, FILE_NAME));
+ mock.assertIsSatisfied();
}
@Override
- protected RouteBuilder createRouteBuilder() throws Exception {
+ protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
public void configure() {
from("direct:start")
- .to("dropbox://search?accessToken={{accessToken}}&remotePath=/XXX&query=XXX")
+ .to(String.format("dropbox://search?accessToken={{accessToken}}&remotePath=%s&query=%s", workdir, FILE_NAME))
.to("mock:result");
from("direct:start2")
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/XXX"))
- .setHeader(DropboxConstants.HEADER_QUERY, constant("/XXX"))
+ .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant(workdir))
+ .setHeader(DropboxConstants.HEADER_QUERY, constant(FILE_NAME))
.to("dropbox://search?accessToken={{accessToken}}")
.to("mock:result");
}
diff --git a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchTest.java b/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchTest.java
deleted file mode 100644
index 38ce2aa..0000000
--- a/components/camel-dropbox/src/test/java/org/apache/camel/component/dropbox/integration/producer/DropboxProducerSearchTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.dropbox.integration.producer;
-
-import java.util.List;
-
-import org.apache.camel.Exchange;
-import org.apache.camel.Processor;
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.dropbox.integration.DropboxTestSupport;
-import org.apache.camel.component.dropbox.util.DropboxConstants;
-import org.apache.camel.component.dropbox.util.DropboxResultHeader;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.junit.Test;
-
-public class DropboxProducerSearchTest extends DropboxTestSupport {
-
- public DropboxProducerSearchTest() throws Exception { }
-
- @Test
- public void testCamelDropbox() throws Exception {
- template.send("direct:start", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
- }
-
- @Test
- public void testCamelDropboxWithOptionInHeader() throws Exception {
- template.send("direct:start2", new Processor() {
- @Override
- public void process(Exchange exchange) throws Exception {
- exchange.getIn().setHeader("test", "test");
- }
- });
-
-
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedMinimumMessageCount(1);
- assertMockEndpointsSatisfied();
-
- List<Exchange> exchanges = mock.getReceivedExchanges();
- Exchange exchange = exchanges.get(0);
- Object header = exchange.getIn().getHeader(DropboxResultHeader.FOUND_FILES.name());
- Object body = exchange.getIn().getBody();
- assertNotNull(header);
- assertNotNull(body);
- }
-
- @Override
- protected RouteBuilder createRouteBuilder() throws Exception {
- return new RouteBuilder() {
- public void configure() {
- from("direct:start")
- .to("dropbox://search?accessToken={{accessToken}}&remotePath=/XXX")
- .to("mock:result");
-
- from("direct:start")
- .setHeader(DropboxConstants.HEADER_REMOTE_PATH, constant("/XXX"))
- .to("dropbox://search?accessToken={{accessToken}}")
- .to("mock:result");
- }
- };
- }
-}
diff --git a/components/camel-dropbox/src/test/resources/test-options.properties b/components/camel-dropbox/src/test/resources/test-options.properties
index 84dfb21..5c07059 100644
--- a/components/camel-dropbox/src/test/resources/test-options.properties
+++ b/components/camel-dropbox/src/test/resources/test-options.properties
@@ -15,5 +15,6 @@
## limitations under the License.
## ---------------------------------------------------------------------------
-accessToken=<access-token>
+accessToken=<api-token>
clientIdentifier=camel-dropbox
+workDir=/camel-test