You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2021/04/16 11:30:00 UTC
[camel] branch master updated: CAMEL-16400: split unit and
integration tests for camel-google-mail (#5391)
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 55bb5f1 CAMEL-16400: split unit and integration tests for camel-google-mail (#5391)
55bb5f1 is described below
commit 55bb5f1b557961168e67437b538fe43c6e79b7e7
Author: Otavio Rodolfo Piske <or...@users.noreply.github.com>
AuthorDate: Fri Apr 16 13:29:36 2021 +0200
CAMEL-16400: split unit and integration tests for camel-google-mail (#5391)
---
components/camel-google/camel-google-mail/pom.xml | 38 +++++++---------------
.../google/mail/AbstractGoogleMailTestSupport.java | 30 ++++++++++++-----
.../GmailUsersIT.java} | 10 ++++--
.../GmailUsersLabelsIT.java} | 10 ++++--
.../GmailUsersMessagesConsumerIT.java} | 10 ++++--
.../GmailUsersMessagesIT.java} | 10 ++++--
.../GmailUsersThreadsIT.java} | 10 ++++--
7 files changed, 68 insertions(+), 50 deletions(-)
diff --git a/components/camel-google/camel-google-mail/pom.xml b/components/camel-google/camel-google-mail/pom.xml
index e04e867..884e4f4 100644
--- a/components/camel-google/camel-google-mail/pom.xml
+++ b/components/camel-google/camel-google-mail/pom.xml
@@ -223,6 +223,17 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-failsafe-plugin</artifactId>
+ <configuration>
+ <childDelegation>false</childDelegation>
+ <useFile>true</useFile>
+ <forkCount>1</forkCount>
+ <reuseForks>true</reuseForks>
+ <forkedProcessTimeoutInSeconds>300</forkedProcessTimeoutInSeconds>
+ </configuration>
+ </plugin>
</plugins>
<pluginManagement>
@@ -242,31 +253,4 @@
</pluginManagement>
</build>
-
- <profiles>
- <profile>
- <id>google-mail-test</id>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <childDelegation>false</childDelegation>
- <useFile>true</useFile>
- <forkCount>1</forkCount>
- <reuseForks>true</reuseForks>
- <forkedProcessTimeoutInSeconds>300</forkedProcessTimeoutInSeconds>
- <excludes>
- <exclude>**/*XXXTest.java</exclude>
- </excludes>
- <includes>
- <include>**/*Test.java</include>
- </includes>
- </configuration>
- </plugin>
- </plugins>
- </build>
- </profile>
- </profiles>
-
</project>
diff --git a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/AbstractGoogleMailTestSupport.java b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/AbstractGoogleMailTestSupport.java
index a2ba85f..ca9cd93 100644
--- a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/AbstractGoogleMailTestSupport.java
+++ b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/AbstractGoogleMailTestSupport.java
@@ -16,7 +16,6 @@
*/
package org.apache.camel.component.google.mail;
-import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
@@ -37,18 +36,33 @@ public class AbstractGoogleMailTestSupport extends CamelTestSupport {
protected static final String CURRENT_USERID = "me";
private static final String TEST_OPTIONS_PROPERTIES = "/test-options.properties";
- @Override
- protected CamelContext createCamelContext() throws Exception {
-
- final CamelContext context = super.createCamelContext();
-
+ private static Properties loadProperties() {
// read GoogleMail component configuration from TEST_OPTIONS_PROPERTIES
final Properties properties = new Properties();
try {
- properties.load(getClass().getResourceAsStream(TEST_OPTIONS_PROPERTIES));
+ properties.load(AbstractGoogleMailTestSupport.class.getResourceAsStream(TEST_OPTIONS_PROPERTIES));
} catch (Exception e) {
- throw new IOException(String.format("%s could not be loaded: %s", TEST_OPTIONS_PROPERTIES, e.getMessage()), e);
+ throw new RuntimeException(String.format("%s could not be loaded: %s", TEST_OPTIONS_PROPERTIES, e.getMessage()), e);
}
+ return properties;
+ }
+
+ // Used by JUnit to determine whether or not to run the integration tests
+ @SuppressWarnings("unused")
+ private static boolean hasCredentials() {
+ Properties properties = loadProperties();
+
+ return !properties.getProperty("clientId", "").isEmpty()
+ && !properties.getProperty("clientSecret", "").isEmpty()
+ && !properties.getProperty("accessToken", "").isEmpty();
+ }
+
+ @Override
+ protected CamelContext createCamelContext() throws Exception {
+
+ final CamelContext context = super.createCamelContext();
+
+ final Properties properties = loadProperties();
Map<String, Object> options = new HashMap<>();
for (Map.Entry<Object, Object> entry : properties.entrySet()) {
diff --git a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersIntegrationTest.java b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersIT.java
similarity index 83%
rename from components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersIntegrationTest.java
rename to components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersIT.java
index f0f3f46..85e6448 100644
--- a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersIntegrationTest.java
+++ b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersIT.java
@@ -14,12 +14,14 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.google.mail;
+package org.apache.camel.component.google.mail.integration;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport;
import org.apache.camel.component.google.mail.internal.GmailUsersApiMethod;
import org.apache.camel.component.google.mail.internal.GoogleMailApiCollection;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledIf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,9 +30,11 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
/**
* Test class for {@link com.google.api.services.gmail.Gmail$Users} APIs.
*/
-public class GmailUsersIntegrationTest extends AbstractGoogleMailTestSupport {
+@EnabledIf(value = "org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport#hasCredentials",
+ disabledReason = "Google Mail credentials were not provided")
+public class GmailUsersIT extends AbstractGoogleMailTestSupport {
- private static final Logger LOG = LoggerFactory.getLogger(GmailUsersIntegrationTest.class);
+ private static final Logger LOG = LoggerFactory.getLogger(GmailUsersIT.class);
private static final String PATH_PREFIX
= GoogleMailApiCollection.getCollection().getApiName(GmailUsersApiMethod.class).getName();
diff --git a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersLabelsIntegrationTest.java b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersLabelsIT.java
similarity index 91%
rename from components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersLabelsIntegrationTest.java
rename to components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersLabelsIT.java
index 64358c0..639950c 100644
--- a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersLabelsIntegrationTest.java
+++ b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersLabelsIT.java
@@ -14,16 +14,18 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.google.mail;
+package org.apache.camel.component.google.mail.integration;
import java.util.HashMap;
import java.util.Map;
import com.google.api.services.gmail.model.Label;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport;
import org.apache.camel.component.google.mail.internal.GmailUsersLabelsApiMethod;
import org.apache.camel.component.google.mail.internal.GoogleMailApiCollection;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledIf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -33,10 +35,12 @@ import static org.junit.jupiter.api.Assertions.assertNull;
/**
* Test class for {@link com.google.api.services.gmail.Gmail$Users$Labels} APIs.
*/
-public class GmailUsersLabelsIntegrationTest extends AbstractGoogleMailTestSupport {
+@EnabledIf(value = "org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport#hasCredentials",
+ disabledReason = "Google Mail credentials were not provided")
+public class GmailUsersLabelsIT extends AbstractGoogleMailTestSupport {
private static final String CAMEL_TEST_LABEL = "CamelTestLabel";
- private static final Logger LOG = LoggerFactory.getLogger(GmailUsersLabelsIntegrationTest.class);
+ private static final Logger LOG = LoggerFactory.getLogger(GmailUsersLabelsIT.class);
private static final String PATH_PREFIX
= GoogleMailApiCollection.getCollection().getApiName(GmailUsersLabelsApiMethod.class).getName();
diff --git a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersMessagesConsumerIntegrationTest.java b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersMessagesConsumerIT.java
similarity index 82%
rename from components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersMessagesConsumerIntegrationTest.java
rename to components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersMessagesConsumerIT.java
index c40b7be..424539d 100644
--- a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersMessagesConsumerIntegrationTest.java
+++ b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersMessagesConsumerIT.java
@@ -14,14 +14,16 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.google.mail;
+package org.apache.camel.component.google.mail.integration;
import com.google.api.services.gmail.model.ListMessagesResponse;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport;
import org.apache.camel.component.google.mail.internal.GmailUsersMessagesApiMethod;
import org.apache.camel.component.google.mail.internal.GoogleMailApiCollection;
import org.apache.camel.component.mock.MockEndpoint;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledIf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,11 +32,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* Test class for {@link com.google.api.services.gmail.Gmail$Users$Messages} APIs.
*/
-public class GmailUsersMessagesConsumerIntegrationTest extends AbstractGoogleMailTestSupport {
+@EnabledIf(value = "org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport#hasCredentials",
+ disabledReason = "Google Mail credentials were not provided")
+public class GmailUsersMessagesConsumerIT extends AbstractGoogleMailTestSupport {
// userid of the currently authenticated user
public static final String CURRENT_USERID = "me";
- private static final Logger LOG = LoggerFactory.getLogger(GmailUsersMessagesConsumerIntegrationTest.class);
+ private static final Logger LOG = LoggerFactory.getLogger(GmailUsersMessagesConsumerIT.class);
private static final String PATH_PREFIX
= GoogleMailApiCollection.getCollection().getApiName(GmailUsersMessagesApiMethod.class).getName();
diff --git a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersMessagesIntegrationTest.java b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersMessagesIT.java
similarity index 95%
rename from components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersMessagesIntegrationTest.java
rename to components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersMessagesIT.java
index 6e2ded4..d30d7a4 100644
--- a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersMessagesIntegrationTest.java
+++ b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersMessagesIT.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.google.mail;
+package org.apache.camel.component.google.mail.integration;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -31,9 +31,11 @@ import com.google.api.client.repackaged.org.apache.commons.codec.binary.Base64;
import com.google.api.services.gmail.model.ListMessagesResponse;
import com.google.api.services.gmail.model.Message;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport;
import org.apache.camel.component.google.mail.internal.GmailUsersMessagesApiMethod;
import org.apache.camel.component.google.mail.internal.GoogleMailApiCollection;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledIf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -44,11 +46,13 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* Test class for {@link com.google.api.services.gmail.Gmail$Users$Messages} APIs.
*/
-public class GmailUsersMessagesIntegrationTest extends AbstractGoogleMailTestSupport {
+@EnabledIf(value = "org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport#hasCredentials",
+ disabledReason = "Google Mail credentials were not provided")
+public class GmailUsersMessagesIT extends AbstractGoogleMailTestSupport {
// userid of the currently authenticated user
public static final String CURRENT_USERID = "me";
- private static final Logger LOG = LoggerFactory.getLogger(GmailUsersMessagesIntegrationTest.class);
+ private static final Logger LOG = LoggerFactory.getLogger(GmailUsersMessagesIT.class);
private static final String PATH_PREFIX
= GoogleMailApiCollection.getCollection().getApiName(GmailUsersMessagesApiMethod.class).getName();
diff --git a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersThreadsIntegrationTest.java b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersThreadsIT.java
similarity index 92%
rename from components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersThreadsIntegrationTest.java
rename to components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersThreadsIT.java
index a89e42d..648c09c 100644
--- a/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/GmailUsersThreadsIntegrationTest.java
+++ b/components/camel-google/camel-google-mail/src/test/java/org/apache/camel/component/google/mail/integration/GmailUsersThreadsIT.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.camel.component.google.mail;
+package org.apache.camel.component.google.mail.integration;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
@@ -29,9 +29,11 @@ import javax.mail.internet.MimeMessage;
import com.google.api.client.repackaged.org.apache.commons.codec.binary.Base64;
import com.google.api.services.gmail.model.Message;
import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport;
import org.apache.camel.component.google.mail.internal.GmailUsersThreadsApiMethod;
import org.apache.camel.component.google.mail.internal.GoogleMailApiCollection;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledIf;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -41,9 +43,11 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
/**
* Test class for {@link com.google.api.services.gmail.Gmail$Users$Threads} APIs.
*/
-public class GmailUsersThreadsIntegrationTest extends AbstractGoogleMailTestSupport {
+@EnabledIf(value = "org.apache.camel.component.google.mail.AbstractGoogleMailTestSupport#hasCredentials",
+ disabledReason = "Google Mail credentials were not provided")
+public class GmailUsersThreadsIT extends AbstractGoogleMailTestSupport {
- private static final Logger LOG = LoggerFactory.getLogger(GmailUsersThreadsIntegrationTest.class);
+ private static final Logger LOG = LoggerFactory.getLogger(GmailUsersThreadsIT.class);
private static final String PATH_PREFIX
= GoogleMailApiCollection.getCollection().getApiName(GmailUsersThreadsApiMethod.class).getName();