diff --git a/restcomm/restcomm.dao/src/main/java/org/restcomm/connect/dao/entities/Account.java b/restcomm/restcomm.dao/src/main/java/org/restcomm/connect/dao/entities/Account.java index 52814c2c8d..da72b58e44 100644 --- a/restcomm/restcomm.dao/src/main/java/org/restcomm/connect/dao/entities/Account.java +++ b/restcomm/restcomm.dao/src/main/java/org/restcomm/connect/dao/entities/Account.java @@ -146,11 +146,6 @@ public Account setRole(final String role) { role, uri, organizationSid); } - public Account setOrganization(final Sid organizationSid) { - return new Account(sid, dateCreated, DateTime.now(), emailAddress, friendlyName, parentSid, type, status, authToken, - role, uri, organizationSid); - } - public enum Status { ACTIVE("active"), CLOSED("closed"), SUSPENDED("suspended"), INACTIVE("inactive"), UNINITIALIZED("uninitialized"); diff --git a/restcomm/restcomm.testsuite/src/test/java/org/restcomm/connect/testsuite/http/AccountsEndpointTest.java b/restcomm/restcomm.testsuite/src/test/java/org/restcomm/connect/testsuite/http/AccountsEndpointTest.java index d812b12609..0bb1d2319f 100644 --- a/restcomm/restcomm.testsuite/src/test/java/org/restcomm/connect/testsuite/http/AccountsEndpointTest.java +++ b/restcomm/restcomm.testsuite/src/test/java/org/restcomm/connect/testsuite/http/AccountsEndpointTest.java @@ -31,6 +31,8 @@ import org.junit.runner.RunWith; import org.restcomm.connect.commons.Version; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParser; import com.sun.jersey.api.client.Client; @@ -612,12 +614,18 @@ public void testGetAccountsOfASpecificOrganization() { assertEquals(200, response.getStatus()); //getAccounts with null Filter - response = RestcommAccountsTool.getInstance().getAccountsWithFilterResponse(deploymentUrl.toString(), adminUsername, adminAuthToken, null, null, null); + String responseStr = RestcommAccountsTool.getInstance().getAccountsWithFilterStringResponse(deploymentUrl.toString(), adminUsername, adminAuthToken, null, null); if(logger.isDebugEnabled()) - logger.debug("getAccounts With null Filter Response: "+response); - assertEquals(200, response.getStatus()); - - + logger.debug("getAccounts With null Filter Response: "+responseStr); + //should be 6 accounts + JsonElement jsonElement = new JsonParser().parse(responseStr); + if(jsonElement.isJsonArray()) { + JsonArray accountsArray = jsonElement.getAsJsonArray(); + assertEquals(6, accountsArray.size()); + } else { + logger.info("JsonElement: " + jsonElement.toString()); + Assert.fail(); + } } @Deployment(name = "ClientsEndpointTest", managed = true, testable = false) diff --git a/restcomm/restcomm.testsuite/src/test/java/org/restcomm/connect/testsuite/http/RestcommAccountsTool.java b/restcomm/restcomm.testsuite/src/test/java/org/restcomm/connect/testsuite/http/RestcommAccountsTool.java index e748a0ac5b..60859d61a8 100644 --- a/restcomm/restcomm.testsuite/src/test/java/org/restcomm/connect/testsuite/http/RestcommAccountsTool.java +++ b/restcomm/restcomm.testsuite/src/test/java/org/restcomm/connect/testsuite/http/RestcommAccountsTool.java @@ -1,5 +1,7 @@ package org.restcomm.connect.testsuite.http; +import java.util.logging.Logger; + import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; @@ -12,8 +14,6 @@ import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter; import com.sun.jersey.core.util.MultivaluedMapImpl; -import java.util.logging.Logger; - /** * @author gvagenas * @author Thinh Ly @@ -181,29 +181,73 @@ public ClientResponse getAccountsResponse (String deploymentUrl, String username return response; } - public ClientResponse getAccountsWithFilterResponse (String deploymentUrl, String username, String authtoken, String organizationSid, String domainName, String baseAccount) { + public ClientResponse removeAccountResponse (String deploymentUrl, String operatingUsername, String operatingAuthToken, String removedAccountSid) { Client jerseyClient = Client.create(); - jerseyClient.addFilter(new HTTPBasicAuthFilter(username, authtoken)); + jerseyClient.addFilter(new HTTPBasicAuthFilter(operatingUsername, operatingAuthToken)); WebResource webResource = jerseyClient.resource(getAccountsUrl(deploymentUrl)); - - MultivaluedMap params = new MultivaluedMapImpl(); - if(organizationSid != null && !(organizationSid.trim().isEmpty())) - params.add("OrganizationSid", organizationSid); - if(domainName != null && !(domainName.trim().isEmpty())) - params.add("DomainName", domainName); - if(baseAccount != null && !(baseAccount.trim().isEmpty())) - params.add("BaseAccount", baseAccount); + ClientResponse response = webResource.path(removedAccountSid).delete(ClientResponse.class); + return response; + } - ClientResponse response = webResource.queryParams(params).accept(MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML) + /** + * @param deploymentUrl + * @param username + * @param authtoken + * @param organizationSid + * @param domainName + * @return + */ + public ClientResponse getAccountsWithFilterClientResponse (String deploymentUrl, String username, String authtoken, String organizationSid, String domainName) { + WebResource webResource = prepareAccountListWebResource(deploymentUrl, username, authtoken); + + ClientResponse response = webResource.queryParams(prepareAccountListFilter(organizationSid, domainName)) + .accept(MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML) .get(ClientResponse.class); return response; } - public ClientResponse removeAccountResponse (String deploymentUrl, String operatingUsername, String operatingAuthToken, String removedAccountSid) { + /** + * @param deploymentUrl + * @param username + * @param authtoken + * @param organizationSid + * @param domainName + * @return + */ + public String getAccountsWithFilterStringResponse (String deploymentUrl, String username, String authtoken, String organizationSid, String domainName) { + WebResource webResource = prepareAccountListWebResource(deploymentUrl, username, authtoken); + + String response = webResource.queryParams(prepareAccountListFilter(organizationSid, domainName)) + .accept(MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML) + .get(String.class); + return response; + } + + /** + * @param deploymentUrl + * @param username + * @param authtoken + * @return + */ + private WebResource prepareAccountListWebResource(String deploymentUrl, String username, String authtoken){ Client jerseyClient = Client.create(); - jerseyClient.addFilter(new HTTPBasicAuthFilter(operatingUsername, operatingAuthToken)); + jerseyClient.addFilter(new HTTPBasicAuthFilter(username, authtoken)); WebResource webResource = jerseyClient.resource(getAccountsUrl(deploymentUrl)); - ClientResponse response = webResource.path(removedAccountSid).delete(ClientResponse.class); - return response; + return webResource; + } + + /** + * @param organizationSid + * @param domainName + * @return + */ + private MultivaluedMap prepareAccountListFilter(String organizationSid, String domainName){ + MultivaluedMap params = new MultivaluedMapImpl(); + if(organizationSid != null && !(organizationSid.trim().isEmpty())) + params.add("OrganizationSid", organizationSid); + if(domainName != null && !(domainName.trim().isEmpty())) + params.add("DomainName", domainName); + + return params; } }