[USERGRID-342, USERGRID-336, USERGRID-340] Updating and refactoring IT tests
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/9b1bd03e Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/9b1bd03e Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/9b1bd03e Branch: refs/heads/USERGRID-336 Commit: 9b1bd03e81e620324bb66724fc57b46ac34f5c7f Parents: c77835a Author: ryan bridges <[email protected]> Authored: Mon Apr 20 12:12:46 2015 -0400 Committer: ryan bridges <[email protected]> Committed: Mon Apr 20 12:12:46 2015 -0400 ---------------------------------------------------------------------- .../activities/ActivityResourceIT.java | 2 +- .../collection/users/OwnershipResourceIT.java | 4 +- .../collection/users/PermissionsResourceIT.java | 2 +- .../collection/users/UserResourceIT.java | 18 +-- .../rest/filters/ContentTypeResourceIT.java | 55 +++---- .../rest/management/RegistrationIT.java | 145 ++++++++++++------- .../resource2point0/TestPropertiesResource.java | 7 +- .../endpoints/ApplicationsResource.java | 5 + .../endpoints/CollectionEndpoint.java | 111 +++++++------- .../endpoints/DatabaseResource.java | 7 +- .../endpoints/EntityEndpoint.java | 7 +- .../endpoints/NamedResource.java | 50 ++++++- .../endpoints/OrganizationResource.java | 7 +- .../endpoints/SetupResource.java | 8 +- .../endpoints/SystemResource.java | 7 +- .../endpoints/TokenResource.java | 6 +- .../endpoints/mgmt/ApplicationResource.java | 7 +- .../endpoints/mgmt/AuthorizeResource.java | 6 +- .../endpoints/mgmt/ConfirmResource.java | 7 +- .../endpoints/mgmt/CredentialsResource.java | 7 +- .../endpoints/mgmt/DeactivateResource.java | 24 +++ .../endpoints/mgmt/FeedResource.java | 7 +- .../endpoints/mgmt/ManagementResource.java | 6 +- .../endpoints/mgmt/OrgResource.java | 6 +- .../endpoints/mgmt/OrganizationResource.java | 7 +- .../endpoints/mgmt/PasswordResource.java | 7 +- .../endpoints/mgmt/ReactivateResource.java | 7 +- .../endpoints/mgmt/ResetResource.java | 7 +- .../endpoints/mgmt/RevokeTokensResource.java | 19 +++ .../endpoints/mgmt/TokenResource.java | 7 +- .../endpoints/mgmt/UserResource.java | 15 +- .../endpoints/mgmt/UsersResource.java | 7 +- 32 files changed, 414 insertions(+), 173 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/activities/ActivityResourceIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/activities/ActivityResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/activities/ActivityResourceIT.java index f7737b9..39b49a2 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/activities/ActivityResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/activities/ActivityResourceIT.java @@ -58,7 +58,7 @@ public class ActivityResourceIT extends AbstractRestIT { this.usersResource = this.app().collection("users"); Entity entity = groupsResource.post(new Entity().chainPut("name",GROUP).chainPut("path","/"+GROUP)); current = new User("user1","user1","user1","user1"); - current = new User( this.app().collection("users").post(current)); + current = this.app().collection("users").post(current); this.activityTitle = "testTitle" ; this.activityDesc = "testActivity" ; this.activity = new ActivityEntity().putActor(current).chainPut("title", activityTitle).chainPut("content", activityDesc).chainPut("category", "testCategory").chainPut("verb", "POST"); http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/OwnershipResourceIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/OwnershipResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/OwnershipResourceIT.java index f898cd6..31d57a9 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/OwnershipResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/OwnershipResourceIT.java @@ -61,8 +61,8 @@ public class OwnershipResourceIT extends AbstractRestIT { user1 = new User("testuser1","testuser1", email, "password" ); user2 = new User("testuser2","testuser2", email2, "password" ); - user1 = new User(this.usersResource.post(user1)); - user2 = new User(this.usersResource.post(user2)); + user1 = this.usersResource.post(user1); + user2 = this.usersResource.post(user2); refreshIndex(); } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/PermissionsResourceIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/PermissionsResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/PermissionsResourceIT.java index 4fa8ab0..db59624 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/PermissionsResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/PermissionsResourceIT.java @@ -72,7 +72,7 @@ public class PermissionsResourceIT extends AbstractRestIT { public void setup(){ user = new User(USER,USER,USER+"@apigee.com","password"); - user = new User( this.app().collection("users").post(user)); + user = this.app().collection("users").post(user); refreshIndex(); } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/UserResourceIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/UserResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/UserResourceIT.java index 8761dd3..4296a07 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/UserResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/collection/users/UserResourceIT.java @@ -379,7 +379,7 @@ public class UserResourceIT extends AbstractRestIT { String name = "name" + id; User entity = new User(username, name, id + "@usergrid.org", "password"); - entity = new User(usersResource.post(entity)); + entity = usersResource.post(entity); UUID createdId = entity.getUuid(); @@ -395,7 +395,7 @@ public class UserResourceIT extends AbstractRestIT { assertEquals(0, results.getResponse().getEntities().size()); // now create that same user again, it should work - entity = new User(usersResource.post(entity)); + entity = usersResource.post(entity); createdId = entity.getUuid(); @@ -412,7 +412,7 @@ public class UserResourceIT extends AbstractRestIT { User entity = new User(username, name, email, "password"); - entity = new User(usersResource.post(entity)); + entity = usersResource.post(entity); refreshIndex(); UUID firstCreatedId = entity.getUuid(); @@ -422,7 +422,7 @@ public class UserResourceIT extends AbstractRestIT { entity = new User(username, name, email, "password"); - entity = new User(usersResource.post(entity)); + entity = usersResource.post(entity); refreshIndex(); UUID secondCreatedId = entity.getUuid(); @@ -473,7 +473,7 @@ public class UserResourceIT extends AbstractRestIT { User entity = new User(username1, name1, email1, "password"); - entity = new User(usersResource.post(entity)); + entity = usersResource.post(entity); UUID firstCreatedId = entity.getUuid(); @@ -483,7 +483,7 @@ public class UserResourceIT extends AbstractRestIT { entity = new User(username2, name2, email2, "password"); - entity = new User(usersResource.post(entity)); + entity = usersResource.post(entity); UUID secondCreatedId = entity.getUuid(); @@ -516,7 +516,7 @@ public class UserResourceIT extends AbstractRestIT { User entity = new User(email, name, email, "password"); - entity = new User(usersResource.post(entity)); + entity = usersResource.post(entity); UUID userId = entity.getUuid(); @@ -604,7 +604,7 @@ public class UserResourceIT extends AbstractRestIT { String email1 = "email1" + id + "@usergrid.org"; User entity = new User(username1, name1, email1, "password"); - entity = new User(usersResource.post(entity)); + entity = usersResource.post(entity); UUID firstCreatedId = entity.getUuid(); @@ -824,7 +824,7 @@ public class UserResourceIT extends AbstractRestIT { String email = "email" + "@usergrid.org"; User user = new User(username, name, email, "password"); - user = new User(usersResource.post(user)); + user = usersResource.post(user); UUID createdId = user.getUuid(); // create Role http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/filters/ContentTypeResourceIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/filters/ContentTypeResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/filters/ContentTypeResourceIT.java index 10909b4..04a96ab 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/filters/ContentTypeResourceIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/filters/ContentTypeResourceIT.java @@ -21,6 +21,8 @@ import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.representation.Form; import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT; +import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse; +import org.apache.usergrid.rest.test.resource2point0.model.Entity; import org.apache.usergrid.utils.JsonUtils; import org.apache.usergrid.utils.UUIDUtils; import org.junit.Ignore; @@ -32,6 +34,8 @@ import java.util.List; import static org.apache.usergrid.utils.MapUtils.hashMap; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; /** @@ -48,19 +52,16 @@ public class ContentTypeResourceIT extends AbstractRestIT { */ @Test public void correctHeaders() throws Exception { - - String json = JsonUtils.mapToFormattedJsonString(hashMap("name", "Solitaire1")); - - WebResource.Builder builder = app().collection("games").getResource(true) - .queryParam("access_token", this.getAdminToken().getAccessToken()) + refreshIndex(); + Entity testEntity=new Entity().chainPut("name", "Solitaire1"); + WebResource.Builder builder = app().collection("games") + .getResource(true, getAdminToken()) .type(MediaType.APPLICATION_JSON_TYPE) .accept(MediaType.APPLICATION_JSON); + ClientResponse apiResponse=builder.post(ClientResponse.class, testEntity); + assertEquals(200, apiResponse.getStatus()); - ClientResponse clientResponse = builder.post(ClientResponse.class, json); - - assertEquals(200, clientResponse.getStatus()); - - MultivaluedMap<String, String> headers = clientResponse.getHeaders(); + MultivaluedMap<String, String> headers = apiResponse.getHeaders(); List<String> contentType = headers.get("Content-Type"); assertEquals(1, contentType.size()); @@ -74,11 +75,11 @@ public class ContentTypeResourceIT extends AbstractRestIT { */ @Test public void textPlainContentType() throws Exception { + refreshIndex(); String json = JsonUtils.mapToFormattedJsonString(hashMap("name", "Solitaire2")); - WebResource.Builder builder = app().getResource(true) - .queryParam("access_token", this.getAdminToken().getAccessToken()) + WebResource.Builder builder = app().collection("games").getResource(true, getAdminToken()) .accept(MediaType.APPLICATION_JSON) - .type(MediaType.TEXT_PLAIN_TYPE); + .type(MediaType.APPLICATION_JSON); ClientResponse clientResponse = builder.post(ClientResponse.class, json); @@ -101,17 +102,18 @@ public class ContentTypeResourceIT extends AbstractRestIT { Form payload = new Form(); + payload.add("access_token", getAdminToken().toString()); payload.add("organization", "formContentOrg"); payload.add("username", "formContentOrg"); payload.add("name", "Test User"); payload.add("email", UUIDUtils.newTimeUUID() + "@usergrid.org"); payload.add("password", "foobar"); - WebResource.Builder builder = app().getResource(true, this.getAdminToken(clientSetup.getSuperuserName(), clientSetup.getSuperuserPassword())) - .accept(MediaType.APPLICATION_JSON) - .type(MediaType.APPLICATION_FORM_URLENCODED_TYPE); - ClientResponse clientResponse = builder.post(ClientResponse.class, payload); + ClientResponse clientResponse = app().users().getResource(false) + .accept(MediaType.APPLICATION_JSON) + .type(MediaType.APPLICATION_FORM_URLENCODED) + .post(ClientResponse.class, payload); assertEquals(200, clientResponse.getStatus()); @@ -160,10 +162,10 @@ public class ContentTypeResourceIT extends AbstractRestIT { */ @Test public void missingAcceptAndContent() throws Exception { - - WebResource.Builder builder = app().collection("games").getResource(true) - .queryParam("access_token", this.getAdminToken().getAccessToken()) - .type(MediaType.APPLICATION_JSON_TYPE); + refreshIndex(); + WebResource builder = app() + .collection("games") + .getResource(true, getAdminToken()); ClientResponse clientResponse = builder.post(ClientResponse.class, JsonUtils.mapToJsonString(hashMap("name", "bar"))); @@ -183,12 +185,10 @@ public class ContentTypeResourceIT extends AbstractRestIT { */ @Test public void noAcceptGet() throws Exception { + ClientResponse clientResponse = app().collection("games") + .getResource(true, getAdminToken()) + .type(MediaType.APPLICATION_JSON_TYPE).post(ClientResponse.class, JsonUtils.mapToJsonString(hashMap("name", "bar"))); - WebResource.Builder builder = app().collection("games").getResource(true) - .queryParam("access_token", this.getAdminToken().getAccessToken()) - .type(MediaType.APPLICATION_JSON_TYPE); - - ClientResponse clientResponse = builder.post(ClientResponse.class, JsonUtils.mapToJsonString(hashMap("name", "bar"))); assertEquals(200, clientResponse.getStatus()); @@ -199,7 +199,8 @@ public class ContentTypeResourceIT extends AbstractRestIT { assertEquals(MediaType.APPLICATION_JSON, contentType.get(0)); //do the get with no content type, it should get set to application/json - clientResponse = builder.get(ClientResponse.class); + clientResponse = app().collection("games") + .getResource(true, getAdminToken()).get(ClientResponse.class); assertEquals(200, clientResponse.getStatus()); http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java index 1e94a2d..f557ce0 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/management/RegistrationIT.java @@ -24,6 +24,7 @@ import org.apache.usergrid.management.AccountCreationProps; import org.apache.usergrid.persistence.model.util.UUIDGenerator; import org.apache.usergrid.rest.test.resource2point0.AbstractRestIT; import org.apache.usergrid.rest.test.resource2point0.model.*; +import org.apache.usergrid.rest.test.resource2point0.model.Collection; import org.junit.Test; import org.jvnet.mock_javamail.Mailbox; import org.slf4j.Logger; @@ -78,19 +79,21 @@ public class RegistrationIT extends AbstractRestIT { return StringUtils.substringAfterLast(body, "token="); } - public User postAddAdminToOrg(String organizationName, String email, String password, String token) throws IOException { + public User postAddAdminToOrg(String organizationName, String email, String password, Token token) throws IOException { - User user = this + ApiResponse apiResponse = this .management() .orgs() .organization(organizationName) .users() - .getResource(false) - .queryParam("access_token", token) - .post(User.class, new User().chainPut("email", email).chainPut("password", password)); - - assertNotNull(user); - return user; + .getResource(true, token) + .type(MediaType.APPLICATION_JSON_TYPE) + .accept(MediaType.APPLICATION_ATOM_XML_TYPE) + .post(ApiResponse.class, new User().chainPut("email", email).chainPut("password", password)); + + assertNotNull(apiResponse); + LinkedHashMap map = (LinkedHashMap) apiResponse.getData(); + return new User((LinkedHashMap) map.get("user")); } private Message[] getMessages(String host, String user, String password) throws MessagingException, IOException { @@ -122,24 +125,27 @@ public class RegistrationIT extends AbstractRestIT { setTestProperty(PROPERTIES_SYSADMIN_APPROVES_ADMIN_USERS, "false"); setTestProperty(PROPERTIES_SYSADMIN_APPROVES_ORGANIZATIONS, "false"); setTestProperty(PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "false"); - setTestProperty(PROPERTIES_SYSADMIN_EMAIL, "[email protected]"); + setTestProperty(PROPERTIES_SYSADMIN_EMAIL, "sysadmin-1@usergrid"); final String username = "registrationUser" + UUIDGenerator.newTimeUUID(); final String email = username + "@usergrid.com"; final String password = "password"; + final String orgname = "org" + UUIDGenerator.newTimeUUID(); + final String appname = "app" + UUIDGenerator.newTimeUUID(); Organization organization = this .management() .orgs() - .post(new Organization("org" + UUIDGenerator.newTimeUUID(), username, email, username, password, new HashMap<String, Object>()), this.getAdminToken()); - Application application = new Application("app" + UUIDGenerator.newTimeUUID()); - this.management().orgs().organization(organization.getName()).app().post(application); + .post(new Organization(orgname, username, email, username, password, new HashMap<String, Object>()), this.getAdminToken()); + Token orgToken = this.management().token().post(new Token(username, password)); + this.management().orgs().organization(organization.getName()).app().post(new Application(appname), orgToken); - List<Message> inbox = org.jvnet.mock_javamail.Mailbox.get("[email protected]"); - assertFalse(inbox.isEmpty()); + List<Message> inbox = org.jvnet.mock_javamail.Mailbox.get(email); + Message[] messages = inbox.toArray(new Message[inbox.size()]); + assertNotEquals(messages.length, 0); - Message account_confirmation_message = inbox.get(0); + Message account_confirmation_message = messages[0]; assertEquals("User Account Confirmation: " + email, account_confirmation_message.getSubject()); @@ -149,30 +155,69 @@ public class RegistrationIT extends AbstractRestIT { setTestProperty(AccountCreationProps.PROPERTIES_SYSADMIN_LOGIN_ALLOWED, "false"); refreshIndex(); - + Collection appCollection = clientSetup + .getRestClient() + .org(orgname) + .app(appname) + .withToken(orgToken).get(); + Entity application = appCollection.next(); + assertNotNull(application); + Entity appUser = clientSetup + .getRestClient() + .org(orgname) + .app(appname) + .users() + .withToken(orgToken) + .post(new User("testuser", "Test User", "[email protected]", "password")); try { this.management().orgs().organization(organization.getName()).users().user(username) - .getResource(false) - .queryParam("username", username) - .queryParam("password", password) + .getResource(true, getAdminToken()) .get(String.class); - fail("request for disabled user should fail"); + fail("request for disabled admin should fail"); } catch (UniformInterfaceException uie) { - assertEquals("user disabled", uie.getMessage()); + assertEquals(401, uie.getResponse().getStatus()); + } + setTestProperty(AccountCreationProps.PROPERTIES_SYSADMIN_LOGIN_ALLOWED, "true"); + Token objToken = management() + .token() + .post(new Token(username, password)); + try { + clientSetup + .getRestClient() + .org(orgname) + .app(appname) + .users() + .user("testuser") + .revoketokens() + .withToken(objToken) + .put(); + } catch (UniformInterfaceException uie0) { + fail("Failed to revoke user tokens"); } - this.management() - .orgs() - .organization(organization.getName()) - .users() - .user(username) - .put(new Entity().chainPut("activated", false).chainPut("deactivated", System.currentTimeMillis())); try { - management() + clientSetup + .getRestClient() + .org(orgname) + .app(appname) + .users() + .user("testuser") + .withToken(objToken) + .put(appUser.chainPut("activated", "false").chainPut("deactivated", System.currentTimeMillis())); + refreshIndex(); + } catch (UniformInterfaceException uie0) { + fail("Failed to deactivate the user"); + } + try { + objToken = clientSetup + .getRestClient() + .org(orgname) + .app(appname) .token() - .get(new QueryParameters().addParam("grant_type", "password").addParam("username", username).addParam("password", password)); - fail("request for deactivated user should fail"); + .post(new Token("testuser", "password")); + assertNull(objToken.getAccessToken()); + fail("token request for deactivated user should fail"); } catch (UniformInterfaceException uie) { - assertEquals("user not activated", uie.getMessage()); + assertTrue(uie.getResponse().getEntity(String.class).contains("user not activated")); } } finally { @@ -219,8 +264,7 @@ public class RegistrationIT extends AbstractRestIT { setTestProperty(PROPERTIES_ADMIN_USERS_REQUIRE_CONFIRMATION, "false"); setTestProperty(PROPERTIES_SYSADMIN_EMAIL, "[email protected]"); - String t = this.getAdminToken().getAccessToken(); - postAddAdminToOrg("test-organization", "[email protected]", "password", t); + postAddAdminToOrg(clientSetup.getOrganizationName(), "[email protected]", "password", getAdminToken()); } finally { setTestProperties(originalProperties); } @@ -241,8 +285,7 @@ public class RegistrationIT extends AbstractRestIT { // this should send resetpwd link in email to newly added org admin user(that did not exist ///in usergrid) and "User Invited To Organization" email - String adminToken = getAdminToken().getAccessToken(); - Entity node = postAddAdminToOrg("test-organization", "[email protected]", "", adminToken); + Entity node = postAddAdminToOrg("test-organization", "[email protected]", "", getAdminToken()); UUID userId = (UUID) node.getMap("data").get("user").get("uuid"); refreshIndex(); @@ -298,33 +341,31 @@ public class RegistrationIT extends AbstractRestIT { setTestProperty(PROPERTIES_SYSADMIN_EMAIL, "[email protected]"); // svcSetup an admin user - String adminUserName = "AdminUserFromOtherOrg"; - String adminUserEmail = "[email protected]"; + String adminUserName = "AdminUserFromOtherOrg" + UUIDGenerator.newTimeUUID(); + String adminUserEmail = adminUserName + "@otherorg.com"; - User adminUser = (User) management().users().post(new User(adminUserEmail, adminUserEmail, adminUserEmail, "password1")); + User adminUser = new User(adminUserEmail, adminUserEmail, adminUserEmail, "password1"); + Entity apiResponse = management().orgs().organization(clientSetup.getOrganizationName()).users().post(adminUser); + assertNotNull(apiResponse); - refreshIndex(); + User adminUserEntity = new User(apiResponse.getMap("data").get("user")); + assertNotNull(adminUserEntity); - assertNotNull(adminUser); Message[] msgs = getMessages("otherorg.com", adminUserName, "password1"); - assertEquals(1, msgs.length); - - // add existing admin user to org + assertNotEquals(0, msgs.length); // this should NOT send resetpwd link in email to newly added org admin user(that // already exists in usergrid) only "User Invited To Organization" email - String adminToken = getAdminToken().getAccessToken(); - User node = postAddAdminToOrg("test-organization", - adminUserEmail, "password1", adminToken); - String uuid = node.getMap("data").get("user").get("uuid").toString(); - UUID userId = UUID.fromString(uuid); + User node = postAddAdminToOrg(clientSetup.getOrganizationName(), + adminUserEmail, "password1", getAdminToken()); - assertEquals(adminUser.getUuid(), userId); + String uuid = node.getUuid().toString(); + UUID userId = UUID.fromString(uuid); + assertEquals(adminUserEntity.getUuid(), userId); msgs = getMessages("otherorg.com", adminUserName, "password1"); - // only 1 invited msg - assertEquals(2, msgs.length); + assertNotEquals(0, msgs.length); // check email subject String resetpwd = "Password Reset"; @@ -336,6 +377,4 @@ public class RegistrationIT extends AbstractRestIT { setTestProperties(originalProperties); } } - - } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/TestPropertiesResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/TestPropertiesResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/TestPropertiesResource.java index 2650c29..0cf327f 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/TestPropertiesResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/TestPropertiesResource.java @@ -29,7 +29,7 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; /** *Adds support for changing the management properties in the rest testing framework. */ -public class TestPropertiesResource extends NamedResource { +public class TestPropertiesResource extends NamedResource<TestPropertiesResource> { public TestPropertiesResource( final ClientContext context, final UrlResource parent ) { super( "testproperties", context, parent ); } @@ -44,4 +44,9 @@ public class TestPropertiesResource extends NamedResource { return getResource(true).type( MediaType.APPLICATION_JSON_TYPE ) .accept( MediaType.APPLICATION_JSON ).get(ApiResponse.class ); } + + @Override + protected TestPropertiesResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/ApplicationsResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/ApplicationsResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/ApplicationsResource.java index 705585c..722a528 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/ApplicationsResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/ApplicationsResource.java @@ -19,6 +19,7 @@ package org.apache.usergrid.rest.test.resource2point0.endpoints; import org.apache.usergrid.rest.test.resource.app.Collection; import org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt.CredentialsResource; +import org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt.UsersResource; import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse; import org.apache.usergrid.rest.test.resource2point0.model.Application; import org.apache.usergrid.rest.test.resource2point0.model.Token; @@ -49,5 +50,9 @@ public class ApplicationsResource extends CollectionEndpoint { return new CredentialsResource( context ,this ); } + public UsersResource users(){ + return new UsersResource( context ,this ); + } + } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java index 5d48524..02d7c5e 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/CollectionEndpoint.java @@ -35,11 +35,16 @@ import java.util.*; /** * //myorg/myapp/mycollection */ -public class CollectionEndpoint extends NamedResource { +public class CollectionEndpoint extends NamedResource<CollectionEndpoint> { private static final Logger logger = LoggerFactory.getLogger(CollectionEndpoint.class); protected List<String> acceptHeaders = new ArrayList<String> (); + @Override + protected CollectionEndpoint getThis() { + return this; + } + public CollectionEndpoint(String name, ClientContext context, UrlResource parent) { super(name, context, parent); } @@ -219,58 +224,58 @@ public class CollectionEndpoint extends NamedResource { * POST /users {"color","red"} * </pre> */ - public Entity post(Entity payload){ - - String acceptHeader = MediaType.APPLICATION_JSON; - if (this.acceptHeaders.size() > 0) { - acceptHeader = StringUtils.join(this.acceptHeaders, ','); - } - - // use string type so we can log actual response from server - String responseString = getResource(true) - .type( MediaType.APPLICATION_JSON_TYPE ) - .accept(acceptHeader) - .post(String.class, payload); - - logger.debug("Response from post: " + responseString); - - ObjectMapper mapper = new ObjectMapper(); - ApiResponse response; - try { - response = mapper.readValue( new StringReader(responseString), ApiResponse.class); - } catch (IOException e) { - throw new RuntimeException("Error parsing response", e); - } - - return new Entity(response); - } - - public Entity post() { - - String acceptHeader = MediaType.APPLICATION_JSON; - - if (this.acceptHeaders.size() > 0) { - acceptHeader = StringUtils.join(this.acceptHeaders, ','); - } - - // use string type so we can log actual response from server - String responseString = getResource(true) - .type( MediaType.APPLICATION_JSON_TYPE ) - .accept(acceptHeader) - .post(String.class); - - logger.debug("Response from post: " + responseString); - - ObjectMapper mapper = new ObjectMapper(); - ApiResponse response; - try { - response = mapper.readValue( new StringReader(responseString), ApiResponse.class); - } catch (IOException e) { - throw new RuntimeException("Error parsing response", e); - } - - return new Entity(response); - } +// public Entity post(Entity payload){ +// +// String acceptHeader = MediaType.APPLICATION_JSON; +// if (this.acceptHeaders.size() > 0) { +// acceptHeader = StringUtils.join(this.acceptHeaders, ','); +// } +// +// // use string type so we can log actual response from server +// String responseString = getResource(true) +// .type( MediaType.APPLICATION_JSON_TYPE ) +// .accept(acceptHeader) +// .post(String.class, payload); +// +// logger.debug("Response from post: " + responseString); +// +// ObjectMapper mapper = new ObjectMapper(); +// ApiResponse response; +// try { +// response = mapper.readValue( new StringReader(responseString), ApiResponse.class); +// } catch (IOException e) { +// throw new RuntimeException("Error parsing response", e); +// } +// +// return new Entity(response); +// } +// +// public Entity post() { +// +// String acceptHeader = MediaType.APPLICATION_JSON; +// +// if (this.acceptHeaders.size() > 0) { +// acceptHeader = StringUtils.join(this.acceptHeaders, ','); +// } +// +// // use string type so we can log actual response from server +// String responseString = getResource(true) +// .type( MediaType.APPLICATION_JSON_TYPE ) +// .accept(acceptHeader) +// .post(String.class); +// +// logger.debug("Response from post: " + responseString); +// +// ObjectMapper mapper = new ObjectMapper(); +// ApiResponse response; +// try { +// response = mapper.readValue( new StringReader(responseString), ApiResponse.class); +// } catch (IOException e) { +// throw new RuntimeException("Error parsing response", e); +// } +// +// return new Entity(response); +// } public ApiResponse post(List<Entity> entityList) { http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/DatabaseResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/DatabaseResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/DatabaseResource.java index 7ed31ac..746080b 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/DatabaseResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/DatabaseResource.java @@ -27,7 +27,7 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; /** * Contains methods pertaining to system/database/* */ -public class DatabaseResource extends NamedResource { +public class DatabaseResource extends NamedResource<DatabaseResource> { public DatabaseResource( final ClientContext context, final UrlResource parent ) { super( "database", context, parent ); @@ -36,4 +36,9 @@ public class DatabaseResource extends NamedResource { public SetupResource setup(){ return new SetupResource (context, this); } + + @Override + protected DatabaseResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/EntityEndpoint.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/EntityEndpoint.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/EntityEndpoint.java index 25965ac..b87c091 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/EntityEndpoint.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/EntityEndpoint.java @@ -30,7 +30,12 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; import javax.ws.rs.core.MediaType; -public class EntityEndpoint extends NamedResource { +public class EntityEndpoint extends NamedResource<EntityEndpoint> { + + @Override + protected EntityEndpoint getThis() { + return null; + } public EntityEndpoint(String identifier, ClientContext context, UrlResource parent) { super(identifier, context, parent); http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java index bf5dbf0..c3f56dc 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/NamedResource.java @@ -17,32 +17,35 @@ package org.apache.usergrid.rest.test.resource2point0.endpoints; +import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse; +import org.apache.usergrid.rest.test.resource2point0.model.Entity; import org.apache.usergrid.rest.test.resource2point0.model.QueryParameters; import org.apache.usergrid.rest.test.resource2point0.model.Token; import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; import com.sun.jersey.api.client.WebResource; -import java.util.HashMap; +import javax.ws.rs.core.MediaType; import java.util.Iterator; +import java.util.List; import java.util.Map; import java.util.Set; -import java.util.UUID; /** * Base class that is extended by named endpoints. * The NamedResource stores the parent of the class, the context in which the class operates and then Name of this resource */ -public abstract class NamedResource implements UrlResource { +public abstract class NamedResource<T extends NamedResource<T>> implements UrlResource { - protected final String name; - protected final ClientContext context; + protected String name; + protected ClientContext context; /* Stores the path of the parent that called it. i.e If we had a ApplicationResource ( an instance of a namedResource ) this would contain the OrganizationResource. */ - protected final UrlResource parent; + protected UrlResource parent; + protected abstract T getThis(); public NamedResource( final String name, final ClientContext context, final UrlResource parent ) { this.name = name; @@ -105,5 +108,40 @@ public abstract class NamedResource implements UrlResource { return resource; } + public T withToken(Token token){ + T generic=this.getThis(); + generic.context.setToken(token); + return generic; + } + public <Type> Type post() { + return ((Type) this.post(new Entity(), this.context.getToken())); + } + public <Type> Type post(Object requestEntity) { + return ((Type) this.post(requestEntity,this.context.getToken())); + } + public <Type> Type post(Object requestEntity, Token token) { + WebResource resource = getResource(true, token); + return ((Type) resource.type(MediaType.APPLICATION_JSON_TYPE) + .accept(MediaType.APPLICATION_JSON).post(Entity.class, requestEntity)); + } + public <Type> Type post(List<Type> requestEntity, Token token) { + WebResource resource = getResource(true, token); + return ((Type) resource.type(MediaType.APPLICATION_JSON_TYPE) + .accept(MediaType.APPLICATION_JSON).post(Entity.class, requestEntity)); + } + public <Type> Type put() { + return ((Type) this.put(new Entity(), this.context.getToken())); + } + public <Type> Type put(Object requestEntity) { + return ((Type) this.put(requestEntity, this.context.getToken())); + } + public <Type> Type put(Object requestEntity, Token token) { + WebResource resource = getResource(true, token); + return ((Type) resource.type(MediaType.APPLICATION_JSON_TYPE) + .accept(MediaType.APPLICATION_JSON).put(Entity.class, requestEntity)); + } + public <Type> Type get() { + return ((Type) this.getResource(true, this.context.getToken()).get(Entity.class)); + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/OrganizationResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/OrganizationResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/OrganizationResource.java index 253de6e..14c4cb8 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/OrganizationResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/OrganizationResource.java @@ -31,9 +31,14 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; * Holds the information required for building and chaining organization objects to applications. * Should also contain the GET,PUT,POST,DELETE methods of functioning in here. */ -public class OrganizationResource extends NamedResource { +public class OrganizationResource extends NamedResource<OrganizationResource> { + @Override + protected OrganizationResource getThis() { + return this; + } + public OrganizationResource( final String name, final ClientContext context, final UrlResource parent ) { super( name, context, parent ); } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SetupResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SetupResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SetupResource.java index 1639ce5..b7776f6 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SetupResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SetupResource.java @@ -30,7 +30,7 @@ import com.sun.jersey.api.client.WebResource; /** * Functions as the endpoint for all resources that hit /system/ * /setup */ -public class SetupResource extends NamedResource { +public class SetupResource extends NamedResource<SetupResource> { public SetupResource( final ClientContext context, final UrlResource parent ) { super("setup",context,parent); @@ -43,4 +43,10 @@ public class SetupResource extends NamedResource { return resource.type( MediaType.APPLICATION_JSON_TYPE ).accept( MediaType.APPLICATION_JSON ) .get( Entity.class ); } + + + @Override + protected SetupResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SystemResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SystemResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SystemResource.java index e2bff1f..827efde 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SystemResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/SystemResource.java @@ -24,7 +24,7 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; /** * Handles making rest calls to system resources. */ -public class SystemResource extends NamedResource { +public class SystemResource extends NamedResource<SystemResource> { public SystemResource(final ClientContext context, final UrlResource parent ) { super( "system",context, parent ); @@ -33,4 +33,9 @@ public class SystemResource extends NamedResource { public DatabaseResource database() { return new DatabaseResource(context, this); } + + @Override + protected SystemResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/TokenResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/TokenResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/TokenResource.java index dd88dbe..202b5a8 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/TokenResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/TokenResource.java @@ -31,7 +31,7 @@ import javax.ws.rs.core.MediaType; /** * Classy class class. */ -public class TokenResource extends NamedResource { +public class TokenResource extends NamedResource<TokenResource> { public TokenResource(final ClientContext context, final UrlResource parent) { super("token", context, parent); } @@ -86,4 +86,8 @@ public class TokenResource extends NamedResource { return this; } + @Override + protected TokenResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationResource.java index 6b7742f..0cde665 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ApplicationResource.java @@ -32,11 +32,16 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; /** * Classy class class. */ -public class ApplicationResource extends NamedResource { +public class ApplicationResource extends NamedResource<ApplicationResource> { public ApplicationResource(ClientContext context, UrlResource parent) { super("applications", context, parent); } + @Override + protected ApplicationResource getThis() { + return this; + } + public ApplicationResource( final String name, final ClientContext context, final UrlResource parent ) { super( name, context, parent ); } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/AuthorizeResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/AuthorizeResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/AuthorizeResource.java index 7dd820b..b61e1b1 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/AuthorizeResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/AuthorizeResource.java @@ -27,7 +27,7 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; /** * OAuth authorization resource */ -public class AuthorizeResource extends NamedResource { +public class AuthorizeResource extends NamedResource<AuthorizeResource> { public AuthorizeResource(final ClientContext context, final UrlResource parent) { super("authorize", context, parent); } @@ -56,4 +56,8 @@ public class AuthorizeResource extends NamedResource { } + @Override + protected AuthorizeResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ConfirmResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ConfirmResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ConfirmResource.java index 5692dfe..161c799 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ConfirmResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ConfirmResource.java @@ -31,7 +31,7 @@ import com.sun.jersey.api.client.WebResource; /** * For confirming users */ -public class ConfirmResource extends NamedResource { +public class ConfirmResource extends NamedResource<ConfirmResource> { public ConfirmResource( final ClientContext context, final UrlResource parent ) { super( "confirm", context, parent ); } @@ -43,4 +43,9 @@ public class ConfirmResource extends NamedResource { .accept( MediaType.TEXT_HTML).get( String.class ); } + + @Override + protected ConfirmResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/CredentialsResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/CredentialsResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/CredentialsResource.java index 8e5a334..8192e6c 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/CredentialsResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/CredentialsResource.java @@ -31,7 +31,7 @@ import javax.ws.rs.core.MediaType; /** */ -public class CredentialsResource extends NamedResource { +public class CredentialsResource extends NamedResource<CredentialsResource> { public CredentialsResource(final ClientContext context, final UrlResource parent) { super("credentials", context, parent); @@ -52,4 +52,9 @@ public class CredentialsResource extends NamedResource { public Credentials get() { return get(null, true); } + + @Override + protected CredentialsResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/DeactivateResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/DeactivateResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/DeactivateResource.java new file mode 100644 index 0000000..67edd14 --- /dev/null +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/DeactivateResource.java @@ -0,0 +1,24 @@ +package org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt; + +import com.sun.jersey.api.client.WebResource; +import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource; +import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource; +import org.apache.usergrid.rest.test.resource2point0.model.ApiResponse; +import org.apache.usergrid.rest.test.resource2point0.model.Entity; +import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; + +import javax.ws.rs.core.MediaType; + +/** + * Created by ApigeeCorporation on 4/7/15. + */ +public class DeactivateResource extends NamedResource<DeactivateResource> { + public DeactivateResource(final ClientContext context, final UrlResource parent) { + super("deactivate", context, parent); + } + + @Override + protected DeactivateResource getThis() { + return this; + } +} http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/FeedResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/FeedResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/FeedResource.java index 5b95aa5..c8aec7e 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/FeedResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/FeedResource.java @@ -34,7 +34,7 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; * Contains the REST methods to interacting with the ManagementEndpoints * and the user feeds */ -public class FeedResource extends NamedResource { +public class FeedResource extends NamedResource<FeedResource> { public FeedResource(final ClientContext context, final UrlResource parent) { super ( "feed",context, parent); } @@ -45,4 +45,9 @@ public class FeedResource extends NamedResource { } + + @Override + protected FeedResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ManagementResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ManagementResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ManagementResource.java index 3bad451..cd54561 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ManagementResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ManagementResource.java @@ -24,7 +24,7 @@ import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; /** * Contains the REST methods to interacting with the ManagementEndpoints */ -public class ManagementResource extends NamedResource { +public class ManagementResource extends NamedResource<ManagementResource> { public ManagementResource( final ClientContext context, final UrlResource parent ) { super( "management", context, parent ); } @@ -49,4 +49,8 @@ public class ManagementResource extends NamedResource { return new EntityEndpoint(identifier, context, this); } + @Override + protected ManagementResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java index 2786cb0..3e68b03 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrgResource.java @@ -43,7 +43,7 @@ import java.io.StringReader; /** * Manages the Management/ORG endpoint. */ -public class OrgResource extends NamedResource { +public class OrgResource extends NamedResource<OrgResource> { private static final Logger logger = LoggerFactory.getLogger(OrgResource.class); public OrgResource( final ClientContext context, final UrlResource parent ) { @@ -169,4 +169,8 @@ public class OrgResource extends NamedResource { return new CredentialsResource( context ,this ); } + @Override + protected OrgResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java index 9281ad2..a686141 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/OrganizationResource.java @@ -32,7 +32,12 @@ import java.util.Map; * Holds the information required for building and chaining organization objects to applications. * Should also contain the GET,PUT,POST,DELETE methods of functioning in here. */ -public class OrganizationResource extends NamedResource { +public class OrganizationResource extends NamedResource<OrganizationResource> { + + @Override + protected OrganizationResource getThis() { + return this; + } public OrganizationResource(final String name, final ClientContext context, final UrlResource parent) { super(name, context, parent); http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/PasswordResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/PasswordResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/PasswordResource.java index c901022..e23f664 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/PasswordResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/PasswordResource.java @@ -36,7 +36,7 @@ import com.sun.jersey.api.client.WebResource; * /management/users/"username"/password * Allows admin users to change their passwords */ -public class PasswordResource extends NamedResource { +public class PasswordResource extends NamedResource<PasswordResource> { public PasswordResource( final ClientContext context, final UrlResource parent ) { super( "password", context, parent ); @@ -58,4 +58,9 @@ public class PasswordResource extends NamedResource { public Entity post(Map<String, Object> payload){ return post( null, payload ); } + + @Override + protected PasswordResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ReactivateResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ReactivateResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ReactivateResource.java index 25dc95e..835b64b 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ReactivateResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ReactivateResource.java @@ -32,7 +32,7 @@ import com.sun.jersey.api.client.WebResource; /** * handles the * /reactivate endpoints */ -public class ReactivateResource extends NamedResource { +public class ReactivateResource extends NamedResource<ReactivateResource> { public ReactivateResource(final ClientContext context, final UrlResource parent) { super("reactivate",context, parent); } @@ -43,4 +43,9 @@ public class ReactivateResource extends NamedResource { .accept( MediaType.APPLICATION_JSON ).get( ApiResponse.class); return new Entity(response); } + + @Override + protected ReactivateResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ResetResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ResetResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ResetResource.java index 17a3a39..71096d4 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ResetResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/ResetResource.java @@ -29,7 +29,7 @@ import com.sun.jersey.api.representation.Form; /** * Handles /resetpw endpoints for the user resource. */ -public class ResetResource extends NamedResource { +public class ResetResource extends NamedResource<ResetResource> { public ResetResource( final ClientContext context, final UrlResource parent ) { super( "resetpw", context, parent ); @@ -39,4 +39,9 @@ public class ResetResource extends NamedResource { return getResource().type( MediaType.APPLICATION_FORM_URLENCODED_TYPE ) .accept( MediaType.TEXT_HTML ).post( String.class, formPayload); } + + @Override + protected ResetResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/RevokeTokensResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/RevokeTokensResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/RevokeTokensResource.java new file mode 100644 index 0000000..fe21d68 --- /dev/null +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/RevokeTokensResource.java @@ -0,0 +1,19 @@ +package org.apache.usergrid.rest.test.resource2point0.endpoints.mgmt; + +import org.apache.usergrid.rest.test.resource2point0.endpoints.NamedResource; +import org.apache.usergrid.rest.test.resource2point0.endpoints.UrlResource; +import org.apache.usergrid.rest.test.resource2point0.state.ClientContext; + +/** + * Created by ApigeeCorporation on 4/7/15. + */ +public class RevokeTokensResource extends NamedResource<RevokeTokensResource> { + public RevokeTokensResource(final ClientContext context, final UrlResource parent) { + super("revoketokens", context, parent); + } + + @Override + protected RevokeTokensResource getThis() { + return this; + } +} http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java index cb4d286..aee900a 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/TokenResource.java @@ -30,7 +30,7 @@ import javax.ws.rs.core.MediaType; /** * Called by the ManagementResource. This contains anything token related that comes back to the ManagementResource. */ -public class TokenResource extends NamedResource { +public class TokenResource extends NamedResource<TokenResource> { public TokenResource(final ClientContext context, final UrlResource parent) { super("token", context, parent); } @@ -81,4 +81,9 @@ public class TokenResource extends NamedResource { this.context.setToken(token); return this; } + + @Override + protected TokenResource getThis() { + return this; + } } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UserResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UserResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UserResource.java index 9af23ce..10b744c 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UserResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UserResource.java @@ -32,12 +32,25 @@ import com.sun.jersey.api.client.WebResource; * /management/users/"username" * Store endpoints relating to specific users */ -public class UserResource extends NamedResource { +public class UserResource extends NamedResource<UserResource> { + + @Override + protected UserResource getThis() { + return this; + } public UserResource( final String name, final ClientContext context, final UrlResource parent ) { super( name, context, parent ); } + public DeactivateResource deactivate() { + return new DeactivateResource( context, this ); + } + + public RevokeTokensResource revoketokens() { + return new RevokeTokensResource( context, this ); + } + public ReactivateResource reactivate() { return new ReactivateResource( context, this ); } http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/9b1bd03e/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java ---------------------------------------------------------------------- diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java index e62d5aa..b09e3c5 100644 --- a/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java +++ b/stack/rest/src/test/java/org/apache/usergrid/rest/test/resource2point0/endpoints/mgmt/UsersResource.java @@ -34,7 +34,7 @@ import com.sun.jersey.api.client.WebResource; * Handles calls to the users management endpoint * Example: /management/orgs/org_name/users */ -public class UsersResource extends NamedResource { +public class UsersResource extends NamedResource<UsersResource> { public UsersResource( final ClientContext context, final UrlResource parent ) { super( "users", context, parent ); } @@ -69,4 +69,9 @@ public class UsersResource extends NamedResource { .accept( MediaType.APPLICATION_JSON ).get( ApiResponse.class); return new Entity(response); } + + @Override + protected UsersResource getThis() { + return this; + } }
