updating inetgration tests for changes in journal entries api

This commit is contained in:
Vishwas Babu A J
2013-07-14 18:08:43 +05:30
parent aa8a6873e0
commit 313f8c51a1
2 changed files with 20 additions and 41 deletions
@@ -6,6 +6,8 @@ import static org.hamcrest.Matchers.is;
import static org.junit.Assert.assertThat; import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail; import static org.junit.Assert.fail;
import java.util.Random;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.apache.http.conn.HttpHostConnectException; import org.apache.http.conn.HttpHostConnectException;
@@ -14,18 +16,13 @@ import com.jayway.restassured.path.json.JsonPath;
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.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Random;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public class Utils { public class Utils {
private static final String LOGIN_URL = "/mifosng-provider/api/v1/authentication?username=mifos&password=password&tenantIdentifier=default"; private static final String LOGIN_URL = "/mifosng-provider/api/v1/authentication?username=mifos&password=password&tenantIdentifier=default";
public static void initializeRESTAssured() { public static void initializeRESTAssured() {
RestAssured.baseURI ="https://localhost"; RestAssured.baseURI = "https://localhost";
RestAssured.port = 8443; RestAssured.port = 8443;
RestAssured.keystore("../keystore.jks", "openmf"); RestAssured.keystore("../keystore.jks", "openmf");
} }
@@ -36,11 +33,10 @@ public class Utils {
String json = RestAssured.post(LOGIN_URL).asString(); String json = RestAssured.post(LOGIN_URL).asString();
assertThat("Failed to login into mifosx platform", StringUtils.isBlank(json), is(false)); assertThat("Failed to login into mifosx platform", StringUtils.isBlank(json), is(false));
return JsonPath.with(json).get("base64EncodedAuthenticationKey"); return JsonPath.with(json).get("base64EncodedAuthenticationKey");
} } catch (Exception e) {
catch (Exception e) {
if (e instanceof HttpHostConnectException) { if (e instanceof HttpHostConnectException) {
HttpHostConnectException hh = (HttpHostConnectException) e; HttpHostConnectException hh = (HttpHostConnectException) e;
fail("Failed to connect to mifosx platform:"+hh.getMessage()); fail("Failed to connect to mifosx platform:" + hh.getMessage());
} }
throw new RuntimeException(e); throw new RuntimeException(e);
@@ -49,34 +45,17 @@ public class Utils {
public static <T> T performServerGet(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, public static <T> T performServerGet(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
final String getURL, final String jsonAttributeToGetBack) { final String getURL, final String jsonAttributeToGetBack) {
String json = given().spec(requestSpec) String json = given().spec(requestSpec).expect().spec(responseSpec).log().ifError().when().get(getURL).andReturn().asString();
.expect().spec(responseSpec).log().ifError()
.when().get(getURL).andReturn().asString();
return (T) from(json).get(jsonAttributeToGetBack); return (T) from(json).get(jsonAttributeToGetBack);
} }
public static <T> T performServerPost(final RequestSpecification requestSpec, final ResponseSpecification responseSpec, public static <T> T performServerPost(final RequestSpecification requestSpec, final ResponseSpecification responseSpec,
final String postURL, final String jsonBodyToSend, final String jsonAttributeToGetBack) { final String postURL, final String jsonBodyToSend, final String jsonAttributeToGetBack) {
String json = given().spec(requestSpec).body(jsonBodyToSend) String json = given().spec(requestSpec).body(jsonBodyToSend).expect().spec(responseSpec).log().ifError().when().post(postURL)
.expect().spec(responseSpec).log().ifError()
.when().post(postURL)
.andReturn().asString(); .andReturn().asString();
return (T) from(json).get(jsonAttributeToGetBack); return (T) from(json).get(jsonAttributeToGetBack);
} }
public static String convertDateToURLFormat(String dateToBeConvert){
SimpleDateFormat oldFormat = new SimpleDateFormat("dd MMMMMM yyyy");
SimpleDateFormat newFormat = new SimpleDateFormat("yyyy-MM-dd");
String reformattedStr="";
try {
reformattedStr = newFormat.format(oldFormat.parse(dateToBeConvert));
} catch (ParseException e) {
e.printStackTrace();
}
return reformattedStr;
}
public static String randomStringGenerator(final String prefix, final int len, final String sourceSetString) { public static String randomStringGenerator(final String prefix, final int len, final String sourceSetString) {
int lengthOfSource = sourceSetString.length(); int lengthOfSource = sourceSetString.length();
Random rnd = new Random(); Random rnd = new Random();
@@ -22,30 +22,29 @@ public class JournalEntryHelper {
this.responseSpec = responseSpec; this.responseSpec = responseSpec;
} }
public void checkJournalEntryForExpenseAccount(final Account expenseAccount, final String date, final JournalEntry accountEntries) { public void checkJournalEntryForExpenseAccount(final Account expenseAccount, final String date, final JournalEntry accountEntries) {
checkJournalEntry(expenseAccount, Utils.convertDateToURLFormat(date),accountEntries); checkJournalEntry(expenseAccount, date, accountEntries);
} }
public void checkJournalEntryForAssetAccount(final Account assetAccount, final String date, final JournalEntry... accountEntries) {
public void checkJournalEntryForAssetAccount(final Account assetAccount, final String date, final JournalEntry... accountEntries) { checkJournalEntry(assetAccount, date, accountEntries);
checkJournalEntry(assetAccount,Utils.convertDateToURLFormat(date),accountEntries);
} }
public void checkJournalEntryForIncomeAccount(final Account incomeAccount, final String date, final JournalEntry accountEntries) { public void checkJournalEntryForIncomeAccount(final Account incomeAccount, final String date, final JournalEntry accountEntries) {
checkJournalEntry(incomeAccount, Utils.convertDateToURLFormat(date), accountEntries); checkJournalEntry(incomeAccount, date, accountEntries);
} }
private String getEntryValueFromJournalEntry(final ArrayList<HashMap> entryResponse, final int entryNumber) { private String getEntryValueFromJournalEntry(final ArrayList<HashMap> entryResponse, final int entryNumber) {
HashMap map = (HashMap) entryResponse.get(entryNumber).get("entryType"); HashMap map = (HashMap) entryResponse.get(entryNumber).get("entryType");
return (String) map.get("value"); return (String) map.get("value");
} }
private Float getTransactionAmountFromJournalEntry(final ArrayList<HashMap> entryResponse, final int entryNumber) { private Float getTransactionAmountFromJournalEntry(final ArrayList<HashMap> entryResponse, final int entryNumber) {
return (Float) entryResponse.get(entryNumber).get("amount"); return (Float) entryResponse.get(entryNumber).get("amount");
} }
private void checkJournalEntry(final Account account, final String date, final JournalEntry... accountEntries){ private void checkJournalEntry(final Account account, final String date, final JournalEntry... accountEntries) {
String url = createURLForGettingAccountEntries(account,date); String url = createURLForGettingAccountEntries(account, date);
ArrayList<HashMap> response = Utils.performServerGet(requestSpec, responseSpec, url, "pageItems"); ArrayList<HashMap> response = Utils.performServerGet(requestSpec, responseSpec, url, "pageItems");
for (int i = 0; i < accountEntries.length; i++) { for (int i = 0; i < accountEntries.length; i++) {
assertThat(getEntryValueFromJournalEntry(response, i), equalTo(accountEntries[i].getTransactionType())); assertThat(getEntryValueFromJournalEntry(response, i), equalTo(accountEntries[i].getTransactionType()));
@@ -53,9 +52,10 @@ public class JournalEntryHelper {
} }
} }
private String createURLForGettingAccountEntries (final Account account,final String date){ private String createURLForGettingAccountEntries(final Account account, final String date) {
return new String ("/mifosng-provider/api/v1/journalentries?glAccountId=" + account.getAccountID() + "&type=" +account.getAccountType() return new String("/mifosng-provider/api/v1/journalentries?glAccountId=" + account.getAccountID() + "&type="
+ "&fromDate=" + date + "&toDate=" + date + "&tenantIdentifier=default"+"&orderBy=id&sortOrder=desc"); + account.getAccountType() + "&fromDate=" + date + "&toDate=" + date + "&tenantIdentifier=default"
+ "&orderBy=id&sortOrder=desc&locale=en&dateFormat=dd MMMM yyyy");
} }
} }