Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package gov.bsp.lcmis.internal.report.manager;
- import static org.hamcrest.CoreMatchers.equalTo;
- import static org.junit.Assert.assertNotNull;
- import static org.junit.Assert.assertThat;
- import java.util.Arrays;
- import javax.naming.NamingException;
- import org.junit.BeforeClass;
- import org.junit.Test;
- import org.junit.runner.RunWith;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.jdbc.datasource.DriverManagerDataSource;
- import org.springframework.mock.jndi.SimpleNamingContextBuilder;
- import org.springframework.test.context.ActiveProfiles;
- import org.springframework.test.context.ContextConfiguration;
- import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
- import org.springframework.test.context.web.WebAppConfiguration;
- import gov.bsp.lcmis.internal.report.domain.SapReportPolicy;
- import gov.bsp.lcmis.internal.report.domain.SapReportPolicyFactory;
- import gov.bsp.lcmis.internal.report.domain.SummaryApplicationPayment;
- import gov.bsp.lcmis.internal.report.domain.Transaction;
- import gov.bsp.lcmis.internal.report.repo.RetrieveSummaryApplicationPaymentReportRepo;
- import gov.bsp.lcmis.internal.specs.ProformaEntrySpecification;
- import gov.bsp.lcmis.internal.specs.SummaryApplicationPaymentSpecification;
- import gov.bsp.lcmis.internal.utilities.SpecificationCondition;
- @RunWith(SpringJUnit4ClassRunner.class)
- @WebAppConfiguration
- @ContextConfiguration(value="file:src/main/webapp/WEB-INF/dispatcher-servlet.xml")
- @ActiveProfiles("test")
- public class SAPReporTest{
- private static Logger log = LoggerFactory.getLogger(SAPReporTest.class);
- /**
- * SET THE DATABASE CREDS and URL
- */
- private static String url = "jdbc:db2://localhost:50000/bspdb2";
- private static String username = "db2admin";
- private static String password = "password123";
- @Autowired
- private SapReportPolicyFactory sapReportPolicyFactory;
- @Autowired
- private RetrieveSummaryApplicationPaymentReportRepo retrieveSapReportRepoImpl;
- /**
- * Note to Architect : please setup an environment dependent datasource
- * to remove the need for commenting and uncommenting the @Test method.
- */
- @BeforeClass
- public static void setupClass() {
- //create the datasource
- DriverManagerDataSource datasource = new DriverManagerDataSource(url, username, password);
- datasource.setDriverClassName("com.ibm.db2.jcc.DB2Driver");
- //bind to a jndi string
- SimpleNamingContextBuilder builder = new SimpleNamingContextBuilder();
- builder.bind("lcmisbsp", datasource);
- builder.bind("${cfas.jndi.name}", datasource);
- builder.bind("${ops.jndi.name}", datasource);
- try {
- builder.activate();
- } catch (IllegalStateException | NamingException e) {
- log.error("Error setting up test class, ", e);
- }
- }
- @Test
- public void test(){
- String paymentOrderNumber = "2017123456";
- SummaryApplicationPaymentSpecification sapSpec = SummaryApplicationPaymentSpecification.retrieveSapForCashCheck()
- .where(SpecificationCondition.equal(SummaryApplicationPaymentSpecification.PAYMENT_ORDER_NUMBER, paymentOrderNumber));
- log.debug("sql: "+ sapSpec.flushSql());
- Object[] arr = {"2017123456"};
- assertThat(Arrays.equals(sapSpec.flushInputs(), arr), equalTo(true));
- sapSpec.paymentDetailSpec.where(SpecificationCondition.equal(SummaryApplicationPaymentSpecification.PAYMENT_ORDER_NUMBER, paymentOrderNumber));
- log.debug("payment sql: "+ sapSpec.paymentDetailSpec.flushSql());
- Object[] arr1 = {"2017123456"};
- assertThat(Arrays.equals(sapSpec.paymentDetailSpec.flushInputs(), arr1), equalTo(true));
- sapSpec.proformaEntrySpec
- .and(SpecificationCondition.equal(ProformaEntrySpecification.TRANSACTION_TYPE, "CASH/CHECK"))
- .where(SpecificationCondition.equal(ProformaEntrySpecification.PAYMENT_ORDER_NUMBER, paymentOrderNumber));
- log.debug("proforma sql: "+ sapSpec.proformaEntrySpec.flushSql());
- Object[] arr2 = {"CASH/CHECK", "2017123456"};
- assertThat(Arrays.equals(sapSpec.proformaEntrySpec.flushInputs(), arr2), equalTo(true));
- }
- @Test
- public void testRetrieveCashCheck(){
- String paymentOrderNumber = "2018000001";
- Transaction transaction = new Transaction();
- transaction.setTransactionType("CASH/CHECK");
- transaction.setPaymentOrderNumber(paymentOrderNumber);
- SapReportPolicy policy = sapReportPolicyFactory.getPolicy(transaction);
- assertNotNull(policy);
- SummaryApplicationPaymentSpecification sapSpec = policy.doMethod(transaction);
- SummaryApplicationPayment sap = retrieveSapReportRepoImpl.retrieveSummaryApplicationPayment(sapSpec);
- log.debug("bank name: "+ sap.getNameOfBank());
- log.debug("payment details size: " + sap.getPaymentDetails().size());
- log.debug("proforma entries size: " + sap.getProformaEntries().size());
- log.debug("entries size: " + sap.getProformaEntries().get(0).getEntries().size());
- assertNotNull(sap);
- }
- @Test
- public void testRetrievePnManualCashCheck(){
- String paymentOrderNumber = "2018000001";
- Transaction transaction = new Transaction();
- transaction.setTransactionType("MANUAL CASH/CHECK");
- transaction.setPaymentLevel("PN");
- transaction.setPaymentOrderNumber(paymentOrderNumber);
- SapReportPolicy policy = sapReportPolicyFactory.getPolicy(transaction);
- assertNotNull(policy);
- /*SummaryApplicationPaymentSpecification sapSpec = policy.doMethod(transaction);
- SummaryApplicationPayment sap = retrieveSapReportRepoImpl.retrieveSummaryApplicationPayment(sapSpec);
- log.debug("bank name: "+ sap.getNameOfBank());
- log.debug("payment details size: " + sap.getPaymentDetails().size());
- log.debug("proforma entries size: " + sap.getProformaEntries().size());
- log.debug("entries size: " + sap.getProformaEntries().get(0).getEntries().size());
- assertNotNull(sap);*/
- }
- @Test
- public void testRetrieveLoanManualCashCheck(){
- String paymentOrderNumber = "2018000001";
- Transaction transaction = new Transaction();
- transaction.setTransactionType("MANUAL CASH/CHECK");
- transaction.setPaymentLevel("LOAN");
- transaction.setPaymentOrderNumber(paymentOrderNumber);
- SapReportPolicy policy = sapReportPolicyFactory.getPolicy(transaction);
- assertNotNull(policy);
- /*SummaryApplicationPaymentSpecification sapSpec = policy.doMethod(transaction);
- SummaryApplicationPayment sap = retrieveSapReportRepoImpl.retrieveSummaryApplicationPayment(sapSpec);
- log.debug("bank name: "+ sap.getNameOfBank());
- log.debug("payment details size: " + sap.getPaymentDetails().size());
- log.debug("proforma entries size: " + sap.getProformaEntries().size());
- log.debug("entries size: " + sap.getProformaEntries().get(0).getEntries().size());
- assertNotNull(sap);*/
- }
- @Test
- public void testRetrieveBankManualCashCheck(){
- String paymentOrderNumber = "2018000001";
- Transaction transaction = new Transaction();
- transaction.setTransactionType("MANUAL CASH/CHECK");
- transaction.setPaymentLevel("BANK");
- transaction.setPaymentOrderNumber(paymentOrderNumber);
- SapReportPolicy policy = sapReportPolicyFactory.getPolicy(transaction);
- assertNotNull(policy);
- /*SummaryApplicationPaymentSpecification sapSpec = policy.doMethod(transaction);
- SummaryApplicationPayment sap = retrieveSapReportRepoImpl.retrieveSummaryApplicationPayment(sapSpec);
- log.debug("bank name: "+ sap.getNameOfBank());
- log.debug("payment details size: " + sap.getPaymentDetails().size());
- log.debug("proforma entries size: " + sap.getProformaEntries().size());
- log.debug("entries size: " + sap.getProformaEntries().get(0).getEntries().size());
- assertNotNull(sap);*/
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement