From 268e8b65f90ccdec97bc79851bdd809a50311a2c Mon Sep 17 00:00:00 2001 From: Maria Farooq Date: Thu, 28 Sep 2017 21:23:55 +0500 Subject: [PATCH] tests --- .../testsuite/http/AccountsEndpointTest.java | 51 ++++++++++++++----- .../testsuite/http/RestcommAccountsTool.java | 9 ++-- .../resources/restcomm.script_accounts_test | 1 + 3 files changed, 46 insertions(+), 15 deletions(-) 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 0bb1d2319f..a645c7e751 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 @@ -99,8 +99,14 @@ public class AccountsEndpointTest extends EndpointTest { private String commonAuthToken = "77f8c12cc7b8f8423e5c38b035249166"; - private String organizationSid2 = "ORafbe225ad37541eba518a74248f0ac4d"; private String organizationSid1 = "ORafbe225ad37541eba518a74248f0ac4c"; + private String organizationSid2 = "ORafbe225ad37541eba518a74248f0ac4d"; + private String organizationSid3 = "ORafbe225ad37541eba518a74248f0ac4e"; + + private String organization1DomainName = "127.0.0.1"; + private String organization2DomainName = "org1.restcomm.com"; + private String organization3DomainName = "org2.restcomm.com"; + static SipStackTool tool1; @@ -614,18 +620,39 @@ public void testGetAccountsOfASpecificOrganization() { assertEquals(200, response.getStatus()); //getAccounts with null Filter - String responseStr = RestcommAccountsTool.getInstance().getAccountsWithFilterStringResponse(deploymentUrl.toString(), adminUsername, adminAuthToken, null, null); + JsonArray accountsArray = RestcommAccountsTool.getInstance().getAccountsWithFilterResponse(deploymentUrl.toString(), adminUsername, adminAuthToken, null, null); if(logger.isDebugEnabled()) - 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(); - } + logger.debug("getAccounts With null Filter Response: "+accountsArray); + //should be 6 accounts as these are child accounts only + assertEquals(7, accountsArray.size()); + + //getAccounts with organizationSid Filter + accountsArray = RestcommAccountsTool.getInstance().getAccountsWithFilterResponse(deploymentUrl.toString(), adminUsername, adminAuthToken, organizationSid1, null); + if(logger.isDebugEnabled()) + logger.debug("getAccounts With organizationSid Filter Response: "+accountsArray); + //should be 15 accounts as these are child accounts only + assertEquals(15, accountsArray.size()); + + //getAccounts with organizationSid Filter + accountsArray = RestcommAccountsTool.getInstance().getAccountsWithFilterResponse(deploymentUrl.toString(), adminUsername, adminAuthToken, organizationSid2, null); + if(logger.isDebugEnabled()) + logger.debug("getAccounts With organizationSid Filter Response: "+accountsArray); + //should be 1 account + assertEquals(1, accountsArray.size()); + + //getAccounts with organizationSid Filter + accountsArray = RestcommAccountsTool.getInstance().getAccountsWithFilterResponse(deploymentUrl.toString(), adminUsername, adminAuthToken, organizationSid3, null); + if(logger.isDebugEnabled()) + logger.debug("getAccounts With organizationSid Filter Response: "+accountsArray); + //should be 0 + assertEquals(0, accountsArray.size()); + + //getAccounts with domainName Filter + accountsArray = RestcommAccountsTool.getInstance().getAccountsWithFilterResponse(deploymentUrl.toString(), adminUsername, adminAuthToken, null, organization2DomainName); + if(logger.isDebugEnabled()) + logger.debug("getAccounts With domainName Filter Response: "+accountsArray); + //should be 1 account + assertEquals(1, accountsArray.size()); } @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 60859d61a8..6feb6f77e1 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 @@ -5,6 +5,8 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; +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; @@ -212,15 +214,16 @@ public ClientResponse getAccountsWithFilterClientResponse (String deploymentUrl, * @param authtoken * @param organizationSid * @param domainName - * @return + * @return JsonArray */ - public String getAccountsWithFilterStringResponse (String deploymentUrl, String username, String authtoken, String organizationSid, String domainName) { + public JsonArray getAccountsWithFilterResponse (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; + JsonElement jsonElement = new JsonParser().parse(response); + return jsonElement.getAsJsonArray(); } /** diff --git a/restcomm/restcomm.testsuite/src/test/resources/restcomm.script_accounts_test b/restcomm/restcomm.testsuite/src/test/resources/restcomm.script_accounts_test index 66399d7564..c614333aae 100644 --- a/restcomm/restcomm.testsuite/src/test/resources/restcomm.script_accounts_test +++ b/restcomm/restcomm.testsuite/src/test/resources/restcomm.script_accounts_test @@ -32,6 +32,7 @@ INSERT INTO "restcomm_organizations" VALUES('ORafbe225ad37541eba518a74248f0ac4d' INSERT INTO "restcomm_organizations" VALUES('ORafbe225ad37541eba518a74248f0ac4e', 'org2.restcomm.com', '2017-04-19 00:00:00.000000000','2017-04-19 00:00:00.000000000', 'closed') INSERT INTO "restcomm_accounts" VALUES('ACae6e420f425248d6a26948c17a9e2acf','2012-04-24 22:51:29.372000000','2012-04-24 22:51:29.372000000','administrator@company.com','Default Administrator Account',NULL,'Full','active','77f8c12cc7b8f8423e5c38b035249166','Administrator','/2012-04-24/Accounts/ACae6e420f425248d6a26948c17a9e2acf','ORafbe225ad37541eba518a74248f0ac4c') INSERT INTO "restcomm_accounts" VALUES('AC574d775522c96f9aacacc5ca60c8c74f','2012-04-24 22:51:29.372000000','2012-04-24 22:51:29.372000000','child@company.com','Child Account','ACae6e420f425248d6a26948c17a9e2acf','Full','active','77f8c12cc7b8f8423e5c38b035249166','Developer','/2012-04-24/Accounts/AC574d775522c96f9aacacc5ca60c8c74f','ORafbe225ad37541eba518a74248f0ac4c') +INSERT INTO "restcomm_accounts" VALUES('AC574d775522c96f9aacacc5ca60c8c111','2012-04-24 22:51:29.372000000','2012-04-24 22:51:29.372000000','child2@company.com','Child 2 Account','ACae6e420f425248d6a26948c17a9e2acf','Full','active','77f8c12cc7b8f8423e5c38b035249166','Developer','/2012-04-24/Accounts/AC574d775522c96f9aacacc5ca60c8c74f','ORafbe225ad37541eba518a74248f0ac4d') INSERT INTO "restcomm_accounts" VALUES('AC574d775522c96f9aacacc5ca60c8c74g','2012-04-24 22:51:29.372000000','2012-04-24 22:51:29.372000000','admin@company.com','Admin Account','ACae6e420f425248d6a26948c17a9e2acf','Full','active','77f8c12cc7b8f8423e5c38b035249166','Administrator','/2012-04-24/Accounts/AC574d775522c96f9aacacc5ca60c8c74g','ORafbe225ad37541eba518a74248f0ac4c') INSERT INTO "restcomm_accounts" VALUES('AC55555555555555555555555555555555','2012-04-24 22:51:29.372000000','2012-04-24 22:51:29.372000000','grandchild@company.com','Grant Child Account','AC574d775522c96f9aacacc5ca60c8c74f','Full','active','77f8c12cc7b8f8423e5c38b035249166','Administrator','/2012-04-24/Accounts/AC574d775522c96f9aacacc5ca60c8c74f','ORafbe225ad37541eba518a74248f0ac4c') INSERT INTO "restcomm_accounts" VALUES('AC00000000000000000000000000000000','2012-04-24 22:51:29.372000000','2012-04-24 22:51:29.372000000','unprivileged@company.com','Unprivileged Account',NULL,'Full','active','77f8c12cc7b8f8423e5c38b035249166','Unprivileged','/2012-04-24/Accounts/AC00000000000000000000000000000000','ORafbe225ad37541eba518a74248f0ac4c')