SLING-875: New Bundle for a ResourceProvider and Sling Post Operations for interacting with the jackrabbit UserManager
https://issues.apache.org/jira/browse/SLING-875
git-svn-id: https://svn.apache.org/repos/asf/incubator/sling/trunk@756191 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/AbstractUserManagerTest.java b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/AbstractUserManagerTest.java
index 2a85006..0dd0ce5 100644
--- a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/AbstractUserManagerTest.java
+++ b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/AbstractUserManagerTest.java
@@ -55,6 +55,7 @@
URL baseUrl = new URL(HTTP_BASE_URL);
AuthScope authScope = new AuthScope(baseUrl.getHost(), baseUrl.getPort(), AuthScope.ANY_REALM);
post.setDoAuthentication(true);
+ Credentials oldCredentials = httpClient.getState().getCredentials(authScope);
try {
httpClient.getState().setCredentials(authScope, creds);
@@ -70,7 +71,7 @@
assertEquals(assertMessage, expectedStatusCode, status);
}
} finally {
- httpClient.getState().setCredentials(authScope, null);
+ httpClient.getState().setCredentials(authScope, oldCredentials);
}
}
@@ -81,6 +82,7 @@
AuthScope authScope = new AuthScope(baseUrl.getHost(), baseUrl.getPort(), AuthScope.ANY_REALM);
GetMethod getMethod = new GetMethod(urlString);
getMethod.setDoAuthentication(true);
+ Credentials oldCredentials = httpClient.getState().getCredentials(authScope);
try {
httpClient.getState().setCredentials(authScope, creds);
@@ -91,7 +93,7 @@
assertEquals(assertMessage, expectedStatusCode, status);
}
} finally {
- httpClient.getState().setCredentials(authScope, null);
+ httpClient.getState().setCredentials(authScope, oldCredentials);
}
}
@@ -106,6 +108,7 @@
URL baseUrl = new URL(HTTP_BASE_URL);
AuthScope authScope = new AuthScope(baseUrl.getHost(), baseUrl.getPort(), AuthScope.ANY_REALM);
get.setDoAuthentication(true);
+ Credentials oldCredentials = httpClient.getState().getCredentials(authScope);
try {
httpClient.getState().setCredentials(authScope, creds);
@@ -146,7 +149,7 @@
return content.toString();
} finally {
- httpClient.getState().setCredentials(authScope, null);
+ httpClient.getState().setCredentials(authScope, oldCredentials);
}
}
@@ -154,11 +157,10 @@
protected static int counter = 1;
protected String createTestUser() throws IOException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user.create.html";
String testUserId = "testUser" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createUser"));
postParams.add(new NameValuePair(":name", testUserId));
postParams.add(new NameValuePair("pwd", "testPwd"));
postParams.add(new NameValuePair("pwdConfirm", "testPwd"));
@@ -168,11 +170,10 @@
}
protected String createTestGroup() throws IOException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group.create.html";
String testGroupId = "testGroup" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createGroup"));
postParams.add(new NameValuePair(":name", testGroupId));
//success would be a redirect to the welcome page of the webapp
diff --git a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/CreateGroupTest.java b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/CreateGroupTest.java
index 63b7f3f..3075211 100644
--- a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/CreateGroupTest.java
+++ b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/CreateGroupTest.java
@@ -39,9 +39,8 @@
protected void tearDown() throws Exception {
if (testGroupId != null) {
//remove the test group if it exists.
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + testGroupId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + testGroupId + ".delete.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "deleteAuthorizable"));
assertAuthenticatedAdminPostStatus(postUrl, HttpServletResponse.SC_OK, postParams, null);
}
@@ -49,11 +48,10 @@
}
public void testCreateGroup() throws IOException, JSONException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group.create.html";
testGroupId = "testGroup" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createGroup"));
postParams.add(new NameValuePair(":name", testGroupId));
assertAuthenticatedAdminPostStatus(postUrl, HttpServletResponse.SC_OK, postParams, null);
@@ -67,19 +65,17 @@
}
public void testCreateGroupMissingGroupId() throws IOException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group.create.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createGroup"));
assertAuthenticatedAdminPostStatus(postUrl, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, postParams, null);
}
public void testCreateGroupAlreadyExists() throws IOException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group.create.html";
testGroupId = "testGroup" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createGroup"));
postParams.add(new NameValuePair(":name", testGroupId));
assertAuthenticatedAdminPostStatus(postUrl, HttpServletResponse.SC_OK, postParams, null);
@@ -88,11 +84,10 @@
}
public void testCreateGroupWithExtraProperties() throws IOException, JSONException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group.create.html";
testGroupId = "testGroup" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createGroup"));
postParams.add(new NameValuePair(":name", testGroupId));
postParams.add(new NameValuePair("displayName", "My Test Group"));
postParams.add(new NameValuePair("url", "http://www.apache.org"));
diff --git a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/CreateUserTest.java b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/CreateUserTest.java
index 890797e..2fcdc93 100644
--- a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/CreateUserTest.java
+++ b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/CreateUserTest.java
@@ -39,17 +39,15 @@
protected void tearDown() throws Exception {
if (testUserId != null) {
//remove the test user if it exists.
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId + ".delete.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "deleteAuthorizable"));
assertAuthenticatedAdminPostStatus(postUrl, HttpServletResponse.SC_OK, postParams, null);
}
super.tearDown();
}
/*
- <form action="/system/userManager/createUser.html" method="POST">
- <input type="hidden" name=":operation" value="creteUser" />
+ <form action="/system/userManager/user.create.html" method="POST">
<div>Name: <input type="text" name=":name" value="testUser" /></div>
<div>Password: <input type="text" name="pwd" value="testUser" /></div>
<div>Password Confirm: <input type="text" name="pwdConfirm" value="testUser" /></div>
@@ -57,11 +55,10 @@
</form>
*/
public void testCreateUser() throws IOException, JSONException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user.create.html";
testUserId = "testUser" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createUser"));
postParams.add(new NameValuePair(":name", testUserId));
postParams.add(new NameValuePair("pwd", "testPwd"));
postParams.add(new NameValuePair("pwdConfirm", "testPwd"));
@@ -77,33 +74,29 @@
assertFalse(jsonObj.has(":name"));
assertFalse(jsonObj.has("pwd"));
assertFalse(jsonObj.has("pwdConfirm"));
- assertFalse(jsonObj.has(":operation"));
}
public void testCreateUserMissingUserId() throws IOException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user.create.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createUser"));
assertPostStatus(postUrl, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, postParams, null);
}
public void testCreateUserMissingPwd() throws IOException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user.create.html";
String userId = "testUser" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createUser"));
postParams.add(new NameValuePair(":name", userId));
assertPostStatus(postUrl, HttpServletResponse.SC_INTERNAL_SERVER_ERROR, postParams, null);
}
public void testCreateUserWrongConfirmPwd() throws IOException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user.create.html";
String userId = "testUser" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createUser"));
postParams.add(new NameValuePair(":name", userId));
postParams.add(new NameValuePair("pwd", "testPwd"));
postParams.add(new NameValuePair("pwdConfirm", "testPwd2"));
@@ -111,11 +104,10 @@
}
public void testCreateUserUserAlreadyExists() throws IOException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user.create.html";
testUserId = "testUser" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createUser"));
postParams.add(new NameValuePair(":name", testUserId));
postParams.add(new NameValuePair("pwd", "testPwd"));
postParams.add(new NameValuePair("pwdConfirm", "testPwd"));
@@ -126,8 +118,7 @@
}
/*
- <form action="/system/userManager/createUser.html" method="POST">
- <input type="hidden" name=":operation" value="creteUser" />
+ <form action="/system/userManager/user.create.html" method="POST">
<div>Name: <input type="text" name=":name" value="testUser" /></div>
<div>Password: <input type="text" name="pwd" value="testUser" /></div>
<div>Password Confirm: <input type="text" name="pwdConfirm" value="testUser" /></div>
@@ -137,11 +128,10 @@
</form>
*/
public void testCreateUserWithExtraProperties() throws IOException, JSONException {
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/";
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user.create.html";
testUserId = "testUser" + (counter++);
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "createUser"));
postParams.add(new NameValuePair(":name", testUserId));
postParams.add(new NameValuePair("pwd", "testPwd"));
postParams.add(new NameValuePair("pwdConfirm", "testPwd"));
@@ -161,6 +151,5 @@
assertFalse(jsonObj.has(":name"));
assertFalse(jsonObj.has("pwd"));
assertFalse(jsonObj.has("pwdConfirm"));
- assertFalse(jsonObj.has(":operation"));
}
}
diff --git a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/RemoveAuthorizablesTest.java b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/RemoveAuthorizablesTest.java
index 843f070..35b7172 100644
--- a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/RemoveAuthorizablesTest.java
+++ b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/RemoveAuthorizablesTest.java
@@ -39,9 +39,8 @@
String getUrl = HTTP_BASE_URL + "/system/userManager/user/" + userId + ".json";
assertAuthenticatedHttpStatus(creds, getUrl, HttpServletResponse.SC_OK, null); //make sure the profile request returns some data
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + userId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + userId + ".delete.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "deleteAuthorizable"));
assertAuthenticatedPostStatus(creds, postUrl, HttpServletResponse.SC_OK, postParams, null);
getUrl = HTTP_BASE_URL + "/system/userManager/user/" + userId + ".json";
@@ -56,9 +55,8 @@
String getUrl = HTTP_BASE_URL + "/system/userManager/group/" + groupId + ".json";
assertAuthenticatedHttpStatus(creds, getUrl, HttpServletResponse.SC_OK, null); //make sure the profile request returns some data
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + groupId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + groupId + ".delete.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "deleteAuthorizable"));
assertAuthenticatedPostStatus(creds, postUrl, HttpServletResponse.SC_OK, postParams, null);
getUrl = HTTP_BASE_URL + "/system/userManager/group/" + groupId + ".json";
@@ -77,9 +75,8 @@
getUrl = HTTP_BASE_URL + "/system/userManager/group/" + groupId + ".json";
assertAuthenticatedHttpStatus(creds, getUrl, HttpServletResponse.SC_OK, null); //make sure the profile request returns some data
- String postUrl = HTTP_BASE_URL + "/system/userManager";
+ String postUrl = HTTP_BASE_URL + "/system/userManager.delete.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "deleteAuthorizable"));
postParams.add(new NameValuePair(":applyTo", "group/" + groupId));
postParams.add(new NameValuePair(":applyTo", "user/" + userId));
assertAuthenticatedPostStatus(creds, postUrl, HttpServletResponse.SC_OK, postParams, null);
diff --git a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/UpdateGroupTest.java b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/UpdateGroupTest.java
index c9b7617..41f9d71 100644
--- a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/UpdateGroupTest.java
+++ b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/UpdateGroupTest.java
@@ -40,9 +40,8 @@
protected void tearDown() throws Exception {
if (testGroupId != null) {
//remove the test user if it exists.
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + testGroupId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + testGroupId + ".delete.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "deleteAuthorizable"));
assertAuthenticatedAdminPostStatus(postUrl, HttpServletResponse.SC_OK, postParams, null);
}
@@ -52,10 +51,9 @@
public void testUpdateGroup() throws IOException, JSONException {
testGroupId = createTestGroup();
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + testGroupId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + testGroupId + ".update.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "updateAuthorizable"));
postParams.add(new NameValuePair("displayName", "My Updated Test Group"));
postParams.add(new NameValuePair("url", "http://www.apache.org/updated"));
@@ -70,17 +68,15 @@
JSONObject jsonObj = new JSONObject(json);
assertEquals("My Updated Test Group", jsonObj.getString("displayName"));
assertEquals("http://www.apache.org/updated", jsonObj.getString("url"));
- assertFalse(jsonObj.has(":operation"));
}
public void testUpdateGroupMembers() throws IOException, JSONException {
testGroupId = createTestGroup();
- String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + testGroupId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/group/" + testGroupId + ".update.html";
//TODO: verify this works....
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "updateAuthorizable"));
postParams.add(new NameValuePair(":member", "../user/testUser"));
postParams.add(new NameValuePair(":member@Delete", "testGroup"));
diff --git a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/UpdateUserTest.java b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/UpdateUserTest.java
index 2686adb..cd40386 100644
--- a/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/UpdateUserTest.java
+++ b/src/test/java/org/apache/sling/launchpad/webapp/integrationtest/userManager/UpdateUserTest.java
@@ -40,9 +40,8 @@
protected void tearDown() throws Exception {
if (testUserId != null) {
//remove the test user if it exists.
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId + ".delete.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "updateAuthorizable"));
assertAuthenticatedAdminPostStatus(postUrl, HttpServletResponse.SC_OK, postParams, null);
}
@@ -52,10 +51,9 @@
public void testUpdateUser() throws IOException, JSONException {
testUserId = createTestUser();
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId + ".update.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "updateAuthorizable"));
postParams.add(new NameValuePair("displayName", "My Updated Test User"));
postParams.add(new NameValuePair("url", "http://www.apache.org/updated"));
Credentials creds = new UsernamePasswordCredentials(testUserId, "testPwd");
@@ -69,16 +67,14 @@
JSONObject jsonObj = new JSONObject(json);
assertEquals("My Updated Test User", jsonObj.getString("displayName"));
assertEquals("http://www.apache.org/updated", jsonObj.getString("url"));
- assertFalse(jsonObj.has(":operation"));
}
public void testChangeUserPassword() throws IOException {
testUserId = createTestUser();
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId + ".changePassword.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "changePassword"));
postParams.add(new NameValuePair("oldPwd", "testPwd"));
postParams.add(new NameValuePair("newPwd", "testNewPwd"));
postParams.add(new NameValuePair("newPwdConfirm", "testNewPwd"));
@@ -90,10 +86,9 @@
public void testChangeUserPasswordWrongOldPwd() throws IOException {
testUserId = createTestUser();
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId + ".changePassword.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "changePassword"));
postParams.add(new NameValuePair("oldPwd", "wrongTestPwd"));
postParams.add(new NameValuePair("newPwd", "testNewPwd"));
postParams.add(new NameValuePair("newPwdConfirm", "testNewPwd"));
@@ -106,10 +101,9 @@
public void testChangeUserPasswordWrongConfirmPwd() throws IOException {
testUserId = createTestUser();
- String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId;
+ String postUrl = HTTP_BASE_URL + "/system/userManager/user/" + testUserId + ".changePassword.html";
List<NameValuePair> postParams = new ArrayList<NameValuePair>();
- postParams.add(new NameValuePair(":operation", "changePassword"));
postParams.add(new NameValuePair("oldPwd", "testPwd"));
postParams.add(new NameValuePair("newPwd", "testNewPwd"));
postParams.add(new NameValuePair("newPwdConfirm", "wrongTestNewPwd"));