Advertisement
Guest User

Untitled

a guest
Jan 18th, 2018
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.13 KB | None | 0 0
  1. package gov.bsp.lcmis.internal.report.manager;
  2.  
  3. import static org.hamcrest.CoreMatchers.equalTo;
  4. import static org.junit.Assert.assertNotNull;
  5. import static org.junit.Assert.assertThat;
  6.  
  7. import java.util.Arrays;
  8. import javax.naming.NamingException;
  9. import org.junit.BeforeClass;
  10. import org.junit.Test;
  11. import org.junit.runner.RunWith;
  12. import org.slf4j.Logger;
  13. import org.slf4j.LoggerFactory;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.jdbc.datasource.DriverManagerDataSource;
  16. import org.springframework.mock.jndi.SimpleNamingContextBuilder;
  17. import org.springframework.test.context.ActiveProfiles;
  18. import org.springframework.test.context.ContextConfiguration;
  19. import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
  20. import org.springframework.test.context.web.WebAppConfiguration;
  21.  
  22. import gov.bsp.lcmis.internal.report.domain.SapReportPolicy;
  23. import gov.bsp.lcmis.internal.report.domain.SapReportPolicyFactory;
  24. import gov.bsp.lcmis.internal.report.domain.SummaryApplicationPayment;
  25. import gov.bsp.lcmis.internal.report.domain.Transaction;
  26. import gov.bsp.lcmis.internal.report.repo.RetrieveSummaryApplicationPaymentReportRepo;
  27. import gov.bsp.lcmis.internal.specs.ProformaEntrySpecification;
  28. import gov.bsp.lcmis.internal.specs.SummaryApplicationPaymentSpecification;
  29. import gov.bsp.lcmis.internal.utilities.SpecificationCondition;
  30.  
  31. @RunWith(SpringJUnit4ClassRunner.class)
  32. @WebAppConfiguration
  33. @ContextConfiguration(value="file:src/main/webapp/WEB-INF/dispatcher-servlet.xml")
  34. @ActiveProfiles("test")
  35. public class SAPReporTest{
  36.  
  37.  
  38. private static Logger log = LoggerFactory.getLogger(SAPReporTest.class);
  39.  
  40. /**
  41. * SET THE DATABASE CREDS and URL
  42. */
  43. private static String url = "jdbc:db2://localhost:50000/bspdb2";
  44.  
  45. private static String username = "db2admin";
  46.  
  47. private static String password = "password123";
  48.  
  49. @Autowired
  50. private SapReportPolicyFactory sapReportPolicyFactory;
  51.  
  52. @Autowired
  53. private RetrieveSummaryApplicationPaymentReportRepo retrieveSapReportRepoImpl;
  54.  
  55. /**
  56. * Note to Architect : please setup an environment dependent datasource
  57. * to remove the need for commenting and uncommenting the @Test method.
  58. */
  59. @BeforeClass
  60. public static void setupClass() {
  61. //create the datasource
  62. DriverManagerDataSource datasource = new DriverManagerDataSource(url, username, password);
  63. datasource.setDriverClassName("com.ibm.db2.jcc.DB2Driver");
  64.  
  65. //bind to a jndi string
  66. SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();
  67. builder.bind("lcmisbsp", datasource);
  68. builder.bind("${cfas.jndi.name}", datasource);
  69. builder.bind("${ops.jndi.name}", datasource);
  70.  
  71. try {
  72. builder.activate();
  73. } catch (IllegalStateException | NamingException e) {
  74. log.error("Error setting up test class, ", e);
  75. }
  76. }
  77.  
  78.  
  79. @Test
  80. public void test(){
  81.  
  82. String paymentOrderNumber = "2017123456";
  83.  
  84. SummaryApplicationPaymentSpecification sapSpec = SummaryApplicationPaymentSpecification.retrieveSapForCashCheck()
  85. .where(SpecificationCondition.equal(SummaryApplicationPaymentSpecification.PAYMENT_ORDER_NUMBER, paymentOrderNumber));
  86.  
  87. log.debug("sql: "+ sapSpec.flushSql());
  88.  
  89. Object[] arr = {"2017123456"};
  90. assertThat(Arrays.equals(sapSpec.flushInputs(), arr), equalTo(true));
  91.  
  92. sapSpec.paymentDetailSpec.where(SpecificationCondition.equal(SummaryApplicationPaymentSpecification.PAYMENT_ORDER_NUMBER, paymentOrderNumber));
  93. log.debug("payment sql: "+ sapSpec.paymentDetailSpec.flushSql());
  94. Object[] arr1 = {"2017123456"};
  95. assertThat(Arrays.equals(sapSpec.paymentDetailSpec.flushInputs(), arr1), equalTo(true));
  96.  
  97. sapSpec.proformaEntrySpec
  98. .and(SpecificationCondition.equal(ProformaEntrySpecification.TRANSACTION_TYPE, "CASH/CHECK"))
  99. .where(SpecificationCondition.equal(ProformaEntrySpecification.PAYMENT_ORDER_NUMBER, paymentOrderNumber));
  100. log.debug("proforma sql: "+ sapSpec.proformaEntrySpec.flushSql());
  101. Object[] arr2 = {"CASH/CHECK", "2017123456"};
  102. assertThat(Arrays.equals(sapSpec.proformaEntrySpec.flushInputs(), arr2), equalTo(true));
  103. }
  104.  
  105. @Test
  106. public void testRetrieveCashCheck(){
  107.  
  108. String paymentOrderNumber = "2018000001";
  109.  
  110. Transaction transaction = new Transaction();
  111. transaction.setTransactionType("CASH/CHECK");
  112. transaction.setPaymentOrderNumber(paymentOrderNumber);
  113.  
  114. SapReportPolicy policy = sapReportPolicyFactory.getPolicy(transaction);
  115. assertNotNull(policy);
  116. SummaryApplicationPaymentSpecification sapSpec = policy.doMethod(transaction);
  117.  
  118. SummaryApplicationPayment sap = retrieveSapReportRepoImpl.retrieveSummaryApplicationPayment(sapSpec);
  119. log.debug("bank name: "+ sap.getNameOfBank());
  120. log.debug("payment details size: " + sap.getPaymentDetails().size());
  121. log.debug("proforma entries size: " + sap.getProformaEntries().size());
  122. log.debug("entries size: " + sap.getProformaEntries().get(0).getEntries().size());
  123. assertNotNull(sap);
  124.  
  125. }
  126.  
  127. @Test
  128. public void testRetrievePnManualCashCheck(){
  129.  
  130. String paymentOrderNumber = "2018000001";
  131.  
  132. Transaction transaction = new Transaction();
  133. transaction.setTransactionType("MANUAL CASH/CHECK");
  134. transaction.setPaymentLevel("PN");
  135. transaction.setPaymentOrderNumber(paymentOrderNumber);
  136.  
  137. SapReportPolicy policy = sapReportPolicyFactory.getPolicy(transaction);
  138. assertNotNull(policy);
  139. /*SummaryApplicationPaymentSpecification sapSpec = policy.doMethod(transaction);
  140.  
  141. SummaryApplicationPayment sap = retrieveSapReportRepoImpl.retrieveSummaryApplicationPayment(sapSpec);
  142. log.debug("bank name: "+ sap.getNameOfBank());
  143. log.debug("payment details size: " + sap.getPaymentDetails().size());
  144. log.debug("proforma entries size: " + sap.getProformaEntries().size());
  145. log.debug("entries size: " + sap.getProformaEntries().get(0).getEntries().size());
  146. assertNotNull(sap);*/
  147.  
  148. }
  149.  
  150. @Test
  151. public void testRetrieveLoanManualCashCheck(){
  152.  
  153. String paymentOrderNumber = "2018000001";
  154.  
  155. Transaction transaction = new Transaction();
  156. transaction.setTransactionType("MANUAL CASH/CHECK");
  157. transaction.setPaymentLevel("LOAN");
  158. transaction.setPaymentOrderNumber(paymentOrderNumber);
  159.  
  160. SapReportPolicy policy = sapReportPolicyFactory.getPolicy(transaction);
  161. assertNotNull(policy);
  162. /*SummaryApplicationPaymentSpecification sapSpec = policy.doMethod(transaction);
  163.  
  164. SummaryApplicationPayment sap = retrieveSapReportRepoImpl.retrieveSummaryApplicationPayment(sapSpec);
  165. log.debug("bank name: "+ sap.getNameOfBank());
  166. log.debug("payment details size: " + sap.getPaymentDetails().size());
  167. log.debug("proforma entries size: " + sap.getProformaEntries().size());
  168. log.debug("entries size: " + sap.getProformaEntries().get(0).getEntries().size());
  169. assertNotNull(sap);*/
  170.  
  171. }
  172.  
  173. @Test
  174. public void testRetrieveBankManualCashCheck(){
  175.  
  176. String paymentOrderNumber = "2018000001";
  177.  
  178. Transaction transaction = new Transaction();
  179. transaction.setTransactionType("MANUAL CASH/CHECK");
  180. transaction.setPaymentLevel("BANK");
  181. transaction.setPaymentOrderNumber(paymentOrderNumber);
  182.  
  183. SapReportPolicy policy = sapReportPolicyFactory.getPolicy(transaction);
  184. assertNotNull(policy);
  185. /*SummaryApplicationPaymentSpecification sapSpec = policy.doMethod(transaction);
  186.  
  187. SummaryApplicationPayment sap = retrieveSapReportRepoImpl.retrieveSummaryApplicationPayment(sapSpec);
  188. log.debug("bank name: "+ sap.getNameOfBank());
  189. log.debug("payment details size: " + sap.getPaymentDetails().size());
  190. log.debug("proforma entries size: " + sap.getProformaEntries().size());
  191. log.debug("entries size: " + sap.getProformaEntries().get(0).getEntries().size());
  192. assertNotNull(sap);*/
  193.  
  194. }
  195.  
  196.  
  197.  
  198.  
  199. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement