Improve testing patterns for funds retrieval
This commit is contained in:
+25
-14
@@ -5,8 +5,10 @@
|
|||||||
*/
|
*/
|
||||||
package org.mifosplatform.integrationtests;
|
package org.mifosplatform.integrationtests;
|
||||||
|
|
||||||
|
import static org.hamcrest.Matchers.*;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
|
|
||||||
|
import com.google.common.reflect.TypeToken;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import org.junit.Assert;
|
import org.junit.Assert;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
@@ -21,9 +23,7 @@ import com.jayway.restassured.http.ContentType;
|
|||||||
import com.jayway.restassured.specification.RequestSpecification;
|
import com.jayway.restassured.specification.RequestSpecification;
|
||||||
import com.jayway.restassured.specification.ResponseSpecification;
|
import com.jayway.restassured.specification.ResponseSpecification;
|
||||||
|
|
||||||
import java.math.BigInteger;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Funds Integration Test for checking Funds Application.
|
* Funds Integration Test for checking Funds Application.
|
||||||
@@ -43,10 +43,13 @@ public class FundsIntegrationTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRetrieveFund() {
|
public void testRetrieveFund() {
|
||||||
FundsHelper fh = FundsHelper.create(Utils.randomNameGenerator("", 10)).build();
|
FundsHelper fh = FundsHelper
|
||||||
|
.create(Utils.randomNameGenerator("", 10))
|
||||||
|
.externalId(Utils.randomNameGenerator("fund-", 5))
|
||||||
|
.build();
|
||||||
String jsonData = fh.toJSON();
|
String jsonData = fh.toJSON();
|
||||||
|
|
||||||
final Integer fundID = createFund(jsonData, this.requestSpec, this.responseSpec);
|
final Long fundID = createFund(jsonData, this.requestSpec, this.responseSpec);
|
||||||
Assert.assertNotNull(fundID);
|
Assert.assertNotNull(fundID);
|
||||||
|
|
||||||
jsonData = FundsResourceHandler.retrieveFund(fundID, this.requestSpec, this.responseSpec);
|
jsonData = FundsResourceHandler.retrieveFund(fundID, this.requestSpec, this.responseSpec);
|
||||||
@@ -57,28 +60,36 @@ public class FundsIntegrationTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testRetrieveAllFunds() {
|
public void testRetrieveAllFunds() {
|
||||||
FundsHelper fh = FundsHelper.create(Utils.randomNameGenerator("", 10)).build();
|
FundsHelper fh = FundsHelper
|
||||||
|
.create(Utils.randomNameGenerator("", 10))
|
||||||
|
.externalId(Utils.randomNameGenerator("fund-", 5))
|
||||||
|
.build();
|
||||||
String jsonData = fh.toJSON();
|
String jsonData = fh.toJSON();
|
||||||
|
|
||||||
final Integer fundID = createFund(jsonData, this.requestSpec, this.responseSpec);
|
final Long fundID = createFund(jsonData, this.requestSpec, this.responseSpec);
|
||||||
Assert.assertNotNull(fundID);
|
Assert.assertNotNull(fundID);
|
||||||
|
|
||||||
List<HashMap> list = FundsResourceHandler.retrieveAllFunds(this.requestSpec, this.responseSpec);
|
List<HashMap<String, Object>> list = FundsResourceHandler.retrieveAllFunds(this.requestSpec, this.responseSpec);
|
||||||
|
|
||||||
Assert.assertNotNull(list);
|
Assert.assertNotNull(list);
|
||||||
|
Assert.assertThat(list.size(), greaterThanOrEqualTo(1));
|
||||||
|
|
||||||
|
jsonData = new Gson().toJson(list);
|
||||||
|
List<FundsHelper> fhList = new Gson().fromJson(jsonData, new TypeToken<List<FundsHelper>>(){}.getType());
|
||||||
|
Assert.assertThat(fhList, hasItem(fh));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testFundUnknown() {
|
public void testFundUnknown() {
|
||||||
String jsonData = FundsResourceHandler.retrieveFund(Integer.MAX_VALUE, this.requestSpec, this.responseSpec);
|
String jsonData = FundsResourceHandler.retrieveFund(Long.MAX_VALUE, this.requestSpec, this.responseSpec);
|
||||||
HashMap<String, String> map = new Gson().fromJson(jsonData, HashMap.class);
|
HashMap<String, String> map = new Gson().fromJson(jsonData, HashMap.class);
|
||||||
assertEquals(map.get("userMessageGlobalisationCode"), "error.msg.resource.not.found");
|
assertEquals(map.get("userMessageGlobalisationCode"), "error.msg.resource.not.found");
|
||||||
}
|
}
|
||||||
|
|
||||||
private Integer createFund(final String fundJSON,
|
private Long createFund(final String fundJSON,
|
||||||
final RequestSpecification requestSpec,
|
final RequestSpecification requestSpec,
|
||||||
final ResponseSpecification responseSpec) {
|
final ResponseSpecification responseSpec) {
|
||||||
System.out.println("------------------ CREATING NEW FUND ------------------");
|
return new Long(String.valueOf(FundsResourceHandler.createFund(fundJSON, requestSpec, responseSpec)));
|
||||||
return FundsResourceHandler.createFund(fundJSON, requestSpec, responseSpec);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+42
-5
@@ -12,34 +12,47 @@ public class FundsHelper {
|
|||||||
public static class Builder {
|
public static class Builder {
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
|
private String externalId;
|
||||||
|
|
||||||
private Builder(final String name) {
|
private Builder(final String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Builder externalId(final String externalId) {
|
||||||
|
this.externalId = externalId;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public FundsHelper build() {
|
public FundsHelper build() {
|
||||||
return new FundsHelper(this.name);
|
return new FundsHelper(this.name, this.externalId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private Integer resourceId;
|
private String externalId;
|
||||||
|
private Long resourceId;
|
||||||
|
|
||||||
public FundsHelper() {
|
FundsHelper() {
|
||||||
super();
|
super();
|
||||||
}
|
}
|
||||||
|
|
||||||
private FundsHelper(final String name) {
|
private FundsHelper(final String name,
|
||||||
|
final String externalId) {
|
||||||
super();
|
super();
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
this.externalId = externalId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Integer getResourceID() {
|
public String getExternalId() {
|
||||||
|
return this.externalId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getResourceId() {
|
||||||
return this.resourceId;
|
return this.resourceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,4 +68,28 @@ public class FundsHelper {
|
|||||||
return new Builder(name);
|
return new Builder(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return this.name.hashCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (o == this) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!(o instanceof FundsHelper)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
FundsHelper fh = (FundsHelper)o;
|
||||||
|
|
||||||
|
if (this.name.equals(fh.name)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -24,13 +24,13 @@ public class FundsResourceHandler {
|
|||||||
return Utils.performServerPost(requestSpec, responseSpec, CREATE_FUNDS_URL, fundJSON, "resourceId");
|
return Utils.performServerPost(requestSpec, responseSpec, CREATE_FUNDS_URL, fundJSON, "resourceId");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static List<HashMap> retrieveAllFunds(final RequestSpecification requestSpec,
|
public static List<HashMap<String, Object>> retrieveAllFunds(final RequestSpecification requestSpec,
|
||||||
final ResponseSpecification responseSpec) {
|
final ResponseSpecification responseSpec) {
|
||||||
final String URL = FUNDS_URL + "?" + Utils.TENANT_IDENTIFIER;
|
final String URL = FUNDS_URL + "?" + Utils.TENANT_IDENTIFIER;
|
||||||
return Utils.performServerGet(requestSpec, responseSpec, URL, "");
|
return Utils.performServerGet(requestSpec, responseSpec, URL, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String retrieveFund(final Integer fundID,
|
public static String retrieveFund(final Long fundID,
|
||||||
final RequestSpecification requestSpec,
|
final RequestSpecification requestSpec,
|
||||||
final ResponseSpecification responseSpec) {
|
final ResponseSpecification responseSpec) {
|
||||||
final String URL = FUNDS_URL + "/" + fundID + "?" + Utils.TENANT_IDENTIFIER;
|
final String URL = FUNDS_URL + "/" + fundID + "?" + Utils.TENANT_IDENTIFIER;
|
||||||
|
|||||||
Reference in New Issue
Block a user