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 2017/03/27 07:49:26 UTC
[08/20] camel git commit: Refactor com.viwilo to org.apache.camel
http://git-wip-us.apache.org/repos/asf/camel/blob/17d527d1/components/camel-digitalocean/src/test/java/org/apache/camel/component/digitalocean/integration/DigitalOceanComponentIntegrationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-digitalocean/src/test/java/org/apache/camel/component/digitalocean/integration/DigitalOceanComponentIntegrationTest.java b/components/camel-digitalocean/src/test/java/org/apache/camel/component/digitalocean/integration/DigitalOceanComponentIntegrationTest.java
new file mode 100644
index 0000000..e76d516
--- /dev/null
+++ b/components/camel-digitalocean/src/test/java/org/apache/camel/component/digitalocean/integration/DigitalOceanComponentIntegrationTest.java
@@ -0,0 +1,322 @@
+package org.apache.camel.component.digitalocean.integration;
+
+import com.myjeeva.digitalocean.pojo.*;
+import org.apache.camel.component.digitalocean.constants.DigitalOceanHeaders;
+import org.apache.camel.component.digitalocean.constants.DigitalOceanOperations;
+import org.apache.camel.EndpointInject;
+import org.apache.camel.Exchange;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.mock.MockEndpoint;
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+
+//@Ignore("Must be manually tested. Provide your own oAuthToken")
+public class DigitalOceanComponentIntegrationTest extends DigitalOceanTestSupport {
+
+ @Override
+ protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ public void configure() {
+ from("direct:getAccountInfo")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.get))
+ .to("digitalocean:account?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getAccountInfo2")
+ .to("digitalocean:account?operation="+DigitalOceanOperations.get+"&oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getActions")
+ .to("digitalocean:actions?operation=list&oAuthToken={{oAuthToken}}&perPage=30")
+ .to("mock:result");
+
+ from("direct:getActionInfo")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.get))
+ .setHeader(DigitalOceanHeaders.ID, constant(133459716))
+ .to("digitalocean:actions?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+
+ from("direct:getDroplets")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.list))
+ .to("digitalocean:droplets?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getDroplet")
+ .setHeader(DigitalOceanHeaders.ID, constant(5428878))
+ .to("digitalocean:droplets?operation=get&oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getDroplet2")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.get))
+ .setHeader(DigitalOceanHeaders.ID, constant(5428878))
+ .to("digitalocean:droplets?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:createDroplet")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.create))
+ .setHeader(DigitalOceanHeaders.NAME, constant("camel-test"))
+ .setHeader(DigitalOceanHeaders.REGION, constant("fra1"))
+ .setHeader(DigitalOceanHeaders.DROPLET_IMAGE, constant("ubuntu-14-04-x64"))
+ .setHeader(DigitalOceanHeaders.DROPLET_SIZE, constant("512mb"))
+ .process(e -> {
+ Collection<String> tags = new ArrayList<String>();
+ tags.add("tag1");
+ tags.add("tag2");
+ e.getIn().setHeader(DigitalOceanHeaders.DROPLET_TAGS, tags);
+
+ })
+ .to("digitalocean:droplets?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:createMultipleDroplets")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.create))
+ .process(e -> {
+ Collection<String> names = new ArrayList<String>();
+ names.add("droplet1");
+ names.add("droplet2");
+ e.getIn().setHeader(DigitalOceanHeaders.NAMES, names);
+
+ })
+ .setHeader(DigitalOceanHeaders.REGION, constant("fra1"))
+ .setHeader(DigitalOceanHeaders.DROPLET_IMAGE, constant("ubuntu-14-04-x64"))
+ .setHeader(DigitalOceanHeaders.DROPLET_SIZE, constant("512mb"))
+ .process(e -> {
+ Collection<String> tags = new ArrayList<String>();
+ tags.add("tag1");
+ tags.add("tag2");
+ e.getIn().setHeader(DigitalOceanHeaders.DROPLET_TAGS, tags);
+
+ })
+ .to("digitalocean://droplets?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getDropletBackups")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.listBackups))
+ .setHeader(DigitalOceanHeaders.ID, constant(5428878))
+ .to("digitalocean://droplets?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:createTag")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.create))
+ .setHeader(DigitalOceanHeaders.NAME, constant("tag1"))
+ .to("digitalocean://tags?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getTags")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.list))
+ .to("digitalocean://tags?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getImages")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.list))
+ .to("digitalocean://images?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getImage")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.get))
+ .setHeader(DigitalOceanHeaders.DROPLET_IMAGE, constant("ubuntu-14-04-x64"))
+ .to("digitalocean://images?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getSizes")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.list))
+ .to("digitalocean://sizes?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getSize")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.get))
+ .setHeader(DigitalOceanHeaders.NAME, constant("512mb"))
+ .to("digitalocean://sizes?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getRegions")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.list))
+ .to("digitalocean://regions?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+
+ from("direct:getRegion")
+ .setHeader(DigitalOceanHeaders.OPERATION, constant(DigitalOceanOperations.get))
+ .setHeader(DigitalOceanHeaders.NAME, constant("nyc1"))
+ .to("digitalocean://regions?oAuthToken={{oAuthToken}}")
+ .to("mock:result");
+ }
+ };
+ }
+
+ @EndpointInject(uri = "mock:result")
+ protected MockEndpoint mockResultEndpoint;
+
+ @Test
+ public void testGetAccountInfo() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(2);
+
+ Exchange exchange = template.request("direct:getAccountInfo", null);
+ assertTrue(((Account)exchange.getOut().getBody()).isEmailVerified());
+ exchange = template.request("direct:getAccountInfo2", null);
+ assertTrue(((Account)exchange.getOut().getBody()).isEmailVerified());
+
+ assertMockEndpointsSatisfied();
+
+ }
+
+ @Test
+ public void testGetAllActions() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getActions", null);
+
+ assertMockEndpointsSatisfied();
+ assertEquals(((List)exchange.getOut().getBody()).size(), 30);
+ }
+
+ @Test
+ public void testGetActionInfo() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getActionInfo", null);
+
+ assertMockEndpointsSatisfied();
+ assertEquals(((Action)exchange.getOut().getBody()).getId(), new Integer(133459716));
+ }
+
+
+
+ @Test
+ public void testGetDropletInfo() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(2);
+
+ Exchange exchange = template.request("direct:getDroplet", null);
+
+ assertEquals(((Droplet)exchange.getOut().getBody()).getId(), new Integer(5428878));
+
+ exchange = template.request("direct:getDroplet2", null);
+
+ assertMockEndpointsSatisfied();
+ assertEquals(((Droplet)exchange.getOut().getBody()).getId(), new Integer(5428878));
+
+ }
+
+
+ @Test
+ public void testCreateDroplet() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:createDroplet", null);
+
+ assertMockEndpointsSatisfied();
+ Droplet droplet = (Droplet)exchange.getOut().getBody();
+
+ assertNotNull(droplet.getId());
+ assertEquals(droplet.getRegion().getSlug(), "fra1");
+ assertCollectionSize(droplet.getTags(), 2);
+
+ }
+
+ @Test
+ public void testCreateMultipleDroplets() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:createMultipleDroplets", null);
+
+ assertMockEndpointsSatisfied();
+ List<Droplet> droplets = (List<Droplet>)exchange.getOut().getBody();
+
+ assertCollectionSize(droplets, 2);
+ }
+
+
+ @Test
+ public void testGetAllDroplets() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getDroplets", null);
+
+ assertMockEndpointsSatisfied();
+ assertEquals(((List)exchange.getOut().getBody()).size(), 1);
+ }
+
+ @Test
+ public void testGetDropletBackups() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getDropletBackups", null);
+
+ assertMockEndpointsSatisfied();
+ assertCollectionSize(((List)exchange.getOut().getBody()), 0);
+ }
+
+ @Test
+ public void testCreateTag() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:createTag", null);
+
+ assertMockEndpointsSatisfied();
+ assertEquals(((Tag)exchange.getOut().getBody()).getName(), "tag1");
+ }
+
+
+ @Test
+ public void testGetTags() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getTags", null);
+
+ assertMockEndpointsSatisfied();
+ assertEquals(((List<Tag>)exchange.getOut().getBody()).get(0).getName(), "tag1");
+ }
+
+ @Test
+ public void getImages() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getImages", null);
+
+ assertMockEndpointsSatisfied();
+ List<Image> images = (List<Image>)exchange.getOut().getBody();
+ assertNotEquals(images.size(), 1);
+ }
+
+ @Test
+ public void getImage() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getImage", null);
+
+ assertMockEndpointsSatisfied();
+ assertEquals((exchange.getOut().getBody(Image.class)).getSlug(), "ubuntu-14-04-x64");
+
+ }
+
+ @Test
+ public void getSizes() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getSizes", null);
+
+ assertMockEndpointsSatisfied();
+ List<Size> sizes = (List<Size>)exchange.getOut().getBody();
+ System.out.println(sizes);
+ assertNotEquals(sizes.size(), 1);
+ }
+
+
+ @Test
+ public void getRegions() throws Exception {
+ mockResultEndpoint.expectedMinimumMessageCount(1);
+
+ Exchange exchange = template.request("direct:getRegions", null);
+
+ assertMockEndpointsSatisfied();
+ List<Region> regions = (List<Region>)exchange.getOut().getBody();
+ System.out.println(regions);
+ assertNotEquals(regions.size(), 1);
+ }
+
+
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/17d527d1/components/camel-digitalocean/src/test/java/org/apache/camel/component/digitalocean/integration/DigitalOceanTestSupport.java
----------------------------------------------------------------------
diff --git a/components/camel-digitalocean/src/test/java/org/apache/camel/component/digitalocean/integration/DigitalOceanTestSupport.java b/components/camel-digitalocean/src/test/java/org/apache/camel/component/digitalocean/integration/DigitalOceanTestSupport.java
new file mode 100644
index 0000000..3c3ffd8
--- /dev/null
+++ b/components/camel-digitalocean/src/test/java/org/apache/camel/component/digitalocean/integration/DigitalOceanTestSupport.java
@@ -0,0 +1,42 @@
+package org.apache.camel.component.digitalocean.integration;
+
+import java.util.Properties;
+import org.apache.camel.test.junit4.CamelTestSupport;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URL;
+
+/**
+ * Created by thomas on 17/03/2017.
+ */
+public class DigitalOceanTestSupport extends CamelTestSupport {
+
+ protected final Properties properties;
+
+ protected DigitalOceanTestSupport() {
+ URL url = getClass().getResource("/test-options.properties");
+
+ InputStream inStream;
+ try {
+ inStream = url.openStream();
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new IllegalAccessError("test-options.properties could not be found");
+ }
+
+ properties = new Properties();
+ try {
+ properties.load(inStream);
+ } catch (IOException e) {
+ e.printStackTrace();
+ throw new IllegalAccessError("test-options.properties could not be found");
+ }
+ }
+
+ @Override
+ protected Properties useOverridePropertiesWithPropertiesComponent() {
+ return properties;
+ }
+
+}