You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2019/05/03 12:09:02 UTC
[camel] branch master updated: camel-box,
revalidated ignored tests for BoxUsersManagerIntegrationTest
This is an automated email from the ASF dual-hosted git repository.
davsclaus 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 aec78be camel-box, revalidated ignored tests for BoxUsersManagerIntegrationTest
aec78be is described below
commit aec78be72ebcc758dda4ce086fa88148ca4933f4
Author: JiriOndrusek <jo...@redhat.com>
AuthorDate: Thu May 2 17:43:16 2019 +0200
camel-box, revalidated ignored tests for BoxUsersManagerIntegrationTest
---
.../component/box/AbstractBoxTestSupport.java | 8 +-
.../box/BoxUsersManagerIntegrationTest.java | 85 +++++++++++++++++-----
.../src/test/resources/test-options.properties | 8 ++
3 files changed, 83 insertions(+), 18 deletions(-)
diff --git a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/AbstractBoxTestSupport.java b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/AbstractBoxTestSupport.java
index ccec2d8..44a2c4a 100644
--- a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/AbstractBoxTestSupport.java
+++ b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/AbstractBoxTestSupport.java
@@ -37,6 +37,8 @@ public class AbstractBoxTestSupport extends CamelTestSupport {
protected BoxFolder testFolder;
protected BoxFile testFile;
+ protected boolean jwtAuthentoication;
+ protected Map<String, Object> options;
@Override
protected CamelContext createCamelContext() throws Exception {
@@ -52,7 +54,7 @@ public class AbstractBoxTestSupport extends CamelTestSupport {
e);
}
- Map<String, Object> options = new HashMap<>();
+ options = new HashMap<>();
for (Map.Entry<Object, Object> entry : properties.entrySet()) {
options.put(entry.getKey().toString(), entry.getValue());
}
@@ -65,6 +67,10 @@ public class AbstractBoxTestSupport extends CamelTestSupport {
component.setConfiguration(configuration);
context.addComponent("box", component);
+ //initialize flag, whether is box configuration JWT
+ String authenticationType = properties.getProperty("authenticationType");
+ jwtAuthentoication = !BoxConfiguration.STANDARD_AUTHENTICATION.equals(authenticationType);
+
return context;
}
diff --git a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxUsersManagerIntegrationTest.java b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxUsersManagerIntegrationTest.java
index 0e13b0c..157b702 100644
--- a/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxUsersManagerIntegrationTest.java
+++ b/components/camel-box/camel-box-component/src/test/java/org/apache/camel/component/box/BoxUsersManagerIntegrationTest.java
@@ -31,6 +31,7 @@ import org.apache.camel.component.box.api.BoxUsersManager;
import org.apache.camel.component.box.internal.BoxApiCollection;
import org.apache.camel.component.box.internal.BoxUsersManagerApiMethod;
import org.junit.After;
+import org.junit.Assume;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -50,9 +51,9 @@ public class BoxUsersManagerIntegrationTest extends AbstractBoxTestSupport {
private static final String CAMEL_TEST_USER_JOB_TITLE = "Camel Tester";
private static final String CAMEL_TEST_CREATE_APP_USER_NAME = "Wilma";
private static final String CAMEL_TEST_CREATE_ENTERPRISE_USER_NAME = "fred";
- private static final String CAMEL_TEST_CREATE_ENTERPRISE_USER_LOGIN = "fred@example.com";
private static final String CAMEL_TEST_CREATE_ENTERPRISE_USER2_NAME = "gregory";
- private static final String CAMEL_TEST_CREATE_ENTERPRISE_USER2_LOGIN = "gregory@example.com";
+ private static final String CAMEL_TEST_ENTERPRISE_USER_LOGIN_KEY = "enterpriseUser1Login";
+ private static final String CAMEL_TEST_ENTERPRISE_USER2_LOGIN_KEY = "enterpriseUser2Login";
private BoxUser testUser;
@@ -79,9 +80,11 @@ public class BoxUsersManagerIntegrationTest extends AbstractBoxTestSupport {
}
}
- @Ignore //creation of app users could be used only with JWT authentication, which is not possible in this time
@Test
public void testCreateAppUser() throws Exception {
+ //This test makes sense only with JWT authentication. With standard (OAuth) it will always fail.
+ Assume.assumeTrue("Test has to be executed with standard authentication.", jwtAuthentoication);
+
com.box.sdk.BoxUser result = null;
try {
@@ -108,9 +111,18 @@ public class BoxUsersManagerIntegrationTest extends AbstractBoxTestSupport {
}
}
- @Ignore //newly created user has to have unique and existing email address to be created. In manual execution, test could be un-ignored, but value for the "CamelBox.login" has to be changed.
@Test
public void testCreateEnterpriseUser() throws Exception {
+ //This test makes sense only with standard (OAuth) authentication, with JWT it will always fail with return code 403
+ Assume.assumeFalse("Test has to be executed with standard authentication.", jwtAuthentoication);
+
+ String enterpriseUser1Login = (String)options.get(CAMEL_TEST_ENTERPRISE_USER_LOGIN_KEY);
+ if (enterpriseUser1Login != null && "".equals(enterpriseUser1Login.trim())) {
+ enterpriseUser1Login = null;
+ }
+
+ assertNotNull("Email for enterprise user has to be defined in test-options.properties for this test to succeed.", enterpriseUser1Login);
+
com.box.sdk.BoxUser result = null;
try {
@@ -119,7 +131,7 @@ public class BoxUsersManagerIntegrationTest extends AbstractBoxTestSupport {
final Map<String, Object> headers = new HashMap<>();
// parameter type is String
- headers.put("CamelBox.login", CAMEL_TEST_CREATE_ENTERPRISE_USER_LOGIN);
+ headers.put("CamelBox.login", enterpriseUser1Login);
// parameter type is String
headers.put("CamelBox.name", CAMEL_TEST_CREATE_ENTERPRISE_USER_NAME);
// parameter type is com.box.sdk.CreateUserParams
@@ -139,9 +151,11 @@ public class BoxUsersManagerIntegrationTest extends AbstractBoxTestSupport {
}
}
- @Ignore //creation of app users could be used only with JWT authentication, which is not possible in this time
@Test
public void testDeleteUser() throws Exception {
+ //This test makes sense only with JWT authentication. With standard (OAuth) it will always fail.
+ Assume.assumeTrue("Test has to be executed with standard authentication.", jwtAuthentoication);
+
BoxUser.Info info = BoxUser.createAppUser(getConnection(), CAMEL_TEST_CREATE_APP_USER_NAME);
final Map<String, Object> headers = new HashMap<>();
@@ -151,6 +165,8 @@ public class BoxUsersManagerIntegrationTest extends AbstractBoxTestSupport {
headers.put("CamelBox.force", Boolean.FALSE);
requestBodyAndHeaders("direct://DELETEUSER", null, headers);
+ //give some time to delete task to be finished
+ Thread.sleep(2000);
Iterable<BoxUser.Info> it = BoxUser.getAllEnterpriseUsers(getConnection(), CAMEL_TEST_CREATE_APP_USER_NAME);
int searchResults = sizeOfIterable(it);
@@ -226,6 +242,9 @@ public class BoxUsersManagerIntegrationTest extends AbstractBoxTestSupport {
@Test
public void testUpdateUserInfo() throws Exception {
+ //This test makes sense only with standard (OAuth) authentication, with JWT it will always fail with return code 403
+ Assume.assumeFalse("Test has to be executed with standard authentication.", jwtAuthentoication);
+
BoxUser.Info info = testUser.getInfo();
info.setJobTitle(CAMEL_TEST_USER_JOB_TITLE);
@@ -245,21 +264,53 @@ public class BoxUsersManagerIntegrationTest extends AbstractBoxTestSupport {
}
}
- @Ignore //newly created user has to have unique and existing email address to be created. In manual execution, test could be un-ignored, but values for emails have to be changed.
+
@Test
public void testmMoveFolderToUser() throws Exception {
- BoxUser.Info user1 = BoxUser.createEnterpriseUser(getConnection(),
- CAMEL_TEST_CREATE_ENTERPRISE_USER_LOGIN, CAMEL_TEST_CREATE_ENTERPRISE_USER_NAME);
- BoxUser.Info user2 = BoxUser.createEnterpriseUser(getConnection(),
- CAMEL_TEST_CREATE_ENTERPRISE_USER2_LOGIN, CAMEL_TEST_CREATE_ENTERPRISE_USER2_NAME);
+ //This test makes sense only with standard (OAuth) authentication, with JWT it will always fail with return code 403
+ Assume.assumeFalse("Test has to be executed with standard authentication.", jwtAuthentoication);
- final Map<String, Object> headers = new HashMap<>();
- // parameter type is String
- headers.put("CamelBox.userId", user1.getID());
- headers.put("CamelBox.sourceUserId", user2.getID());
+ String enterpriseUser1Login = (String)options.get(CAMEL_TEST_ENTERPRISE_USER_LOGIN_KEY);
+ String enterpriseUser2Login = (String)options.get(CAMEL_TEST_ENTERPRISE_USER2_LOGIN_KEY);
+ if (enterpriseUser1Login != null && "".equals(enterpriseUser1Login.trim())) {
+ enterpriseUser1Login = null;
+ }
+ if (enterpriseUser2Login != null && "".equals(enterpriseUser2Login.trim())) {
+ enterpriseUser2Login = null;
+ }
+
+ assertNotNull("Email for enterprise user has to be defined in test-options.properties for this test to succeed.", enterpriseUser1Login);
+ assertNotNull("Email for enterprise user2 has to be defined in test-options.properties for this test to succeed.", enterpriseUser2Login);
+
+ BoxUser.Info user1 = null;
+ BoxUser.Info user2 = null;
+ try {
+ user1 = BoxUser.createEnterpriseUser(getConnection(),
+ enterpriseUser1Login, CAMEL_TEST_CREATE_ENTERPRISE_USER_NAME);
+ user2 = BoxUser.createEnterpriseUser(getConnection(),
+ enterpriseUser2Login, CAMEL_TEST_CREATE_ENTERPRISE_USER2_NAME);
+
+ final Map<String, Object> headers = new HashMap<>();
+ // parameter type is String
+ headers.put("CamelBox.userId", user1.getID());
+ headers.put("CamelBox.sourceUserId", user2.getID());
- final com.box.sdk.BoxFolder.Info result = requestBodyAndHeaders("direct://MOVEFOLDERTOUSER", null, headers);
- assertNotNull("moveFolderToUser result", result);
+ final com.box.sdk.BoxFolder.Info result = requestBodyAndHeaders("direct://MOVEFOLDERTOUSER", null, headers);
+ assertNotNull("moveFolderToUser result", result);
+ } finally {
+ if (user1 != null) {
+ try {
+ user1.getResource().delete(false, true);
+ } catch (Throwable t) {
+ }
+ }
+ if (user2 != null) {
+ try {
+ user2.getResource().delete(false, true);
+ } catch (Throwable t) {
+ }
+ }
+ }
}
@Override
diff --git a/components/camel-box/camel-box-component/src/test/resources/test-options.properties b/components/camel-box/camel-box-component/src/test/resources/test-options.properties
index 900a0f6..504f6bc 100644
--- a/components/camel-box/camel-box-component/src/test/resources/test-options.properties
+++ b/components/camel-box/camel-box-component/src/test/resources/test-options.properties
@@ -31,3 +31,11 @@ userPassword=
## Create a test Box.com application and provide its clientId and clientSecret
clientId=
clientSecret=
+
+
+## Properties for BoxUsersManagerIntegrationTest (if stays blank, 2 tests from BoxUsersManagerIntegrationTest will fail, other will be fine)
+## for creation of enterprise user, you has to fill existing unique email (which will receive notification email after creation of user) as a login
+## for example: you can use gmail account with different suffix (after +)
+## "[name]+1@gmail.com", "[name]+2@gmail.com" are unique and both notification emails will be delivered to "[name]@gmail.com"
+enterpriseUser1Login=
+enterpriseUser2Login=