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.assertThat;
- import java.sql.Connection;
- import java.sql.SQLException;
- import java.text.DateFormat;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- import javax.naming.NamingException;
- import javax.sql.DataSource;
- 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.context.ApplicationContext;
- import org.springframework.context.ApplicationContextAware;
- import org.springframework.jdbc.datasource.AbstractDataSource;
- 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 com.ibm.icu.impl.Assert;
- import gov.bsp.lcmis.internal.posting.domain.AccrualDetails;
- import gov.bsp.lcmis.internal.posting.domain.AccrualsPromissoryNote;
- import gov.bsp.lcmis.internal.posting.domain.BankType;
- import gov.bsp.lcmis.internal.posting.domain.LoanType;
- import gov.bsp.lcmis.internal.posting.domain.cfassimulator.SpecificationCondition;
- import gov.bsp.lcmis.internal.posting.manager.AccrualsPostingManager;
- import gov.bsp.lcmis.internal.posting.repo.AccrualsRetrievePnDataRepo;
- import gov.bsp.lcmis.internal.posting.service.PostLedgerService;
- import gov.bsp.lcmis.internal.posting.service.SaveComputedAccrualsService;
- import gov.bsp.lcmis.internal.posting.specification.BankAccrualsSpecification;
- import gov.bsp.lcmis.internal.posting.specification.BankTypeSpecification;
- import gov.bsp.lcmis.internal.posting.specification.LedgerCodeSpecification;
- import gov.bsp.lcmis.internal.posting.specification.LedgerEntrySpecification;
- import gov.bsp.lcmis.internal.posting.specification.LoanAccrualsSpecification;
- import gov.bsp.lcmis.internal.posting.specification.LoanLedgerSpecification;
- import gov.bsp.lcmis.internal.posting.specification.PnAccrualsSpecification;
- import gov.bsp.lcmis.internal.report.domain.RvcReport;
- import gov.bsp.lcmis.internal.report.repo.RetrievePnDetailsRepo;
- import gov.bsp.lcmis.internal.report.utils.DetermineDate;
- @RunWith(SpringJUnit4ClassRunner.class)
- @WebAppConfiguration
- @ContextConfiguration(value="file:src/main/webapp/WEB-INF/dispatcher-servlet.xml")
- @ActiveProfiles("test")
- public class AccrualBatchTest implements ApplicationContextAware {
- @Autowired
- private PostLedgerService postLedgerService;
- @Autowired
- private AccrualsRetrievePnDataRepo accrualsRetrievePnDataRepo;
- @Autowired
- private DetermineDate determineDate;
- private ApplicationContext applicationContext;
- private static Logger logger = LoggerFactory.getLogger(AccrualBatchTest.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";
- /**
- * 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) {
- logger.error("Error setting up test class, ", e);
- }
- }
- @Test
- public void testRetrieveDetailedAccruals() {
- PnAccrualsSpecification pnAccrualSpec = PnAccrualsSpecification.retrieveSpec()
- .includeAllColumns();
- LoanAccrualsSpecification loanAccrualSpec = LoanAccrualsSpecification.retrieveWithPnAccrualSpec(pnAccrualSpec)
- .includeAllColumns();
- BankAccrualsSpecification bankAccrualSpec = BankAccrualsSpecification.retrieveWithLoanAccrualSpec(loanAccrualSpec)
- .includeAllColumns()
- .where(SpecificationCondition.equal(BankAccrualsSpecification.TRANSACTION_ID, 63));
- logger.debug(bankAccrualSpec.flushSql());
- Object[] arr = {63};
- assertThat(Arrays.equals(bankAccrualSpec.flushInputs(), arr), equalTo(true));
- }
- public void setApplicationContext(ApplicationContext applicationContext) {
- this.applicationContext = applicationContext;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement