Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

package gov.va.med.ars.integration;

import static org.junit.Assert.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.TestPropertySource;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.web.WebAppConfiguration;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.ResultActions;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.ObjectWriter;
import com.fasterxml.jackson.databind.SerializationFeature;

import gov.va.med.ars.configuration.AppConfig;
import gov.va.med.ars.configuration.spring.SpringMvcConfig;
import gov.va.med.ars.model.request.Parse277CARequest;
/*
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { AppConfig.class, SpringMvcConfig.class })
@ActiveProfiles("dev")*/


@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { AppConfig.class, SpringMvcConfig.class })
@TestPropertySource(properties = {"arsPropFileLocation = ./src/test/resources/development.properties"})


public class Parse277CAControllerIntegrationTest {

private static final Logger logger = LogManager.getLogger(Parse277CAControllerIntegrationTest.class);

@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;

@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}

@Test

public void test_parseAndgenerate_Success() throws Exception {
Parse277CARequest request=new Parse277CARequest();
//request.setCa277String("ISA*00* *00* *ZZ*VAFSC *ZZ*CLAIMSNET *180618*0610*^*00501*000000767*0*P*:~GS*HN*VAFSC*CLAIMSNET*20180618*0610*302*X*005010X214~ST*277*10001*005010X214~BHT*0085*08*46590065-7c78-9K60-0000-180618060555*20180618*061011*TH~HL*1**20*1~NM1*PR*2*DEPARTMENT OF VETERANS AFFAIRS*****PI*987654~TRN*1*00000000000332~DTP*050*D8*20180616~DTP*009*D8*20180618~HL*2*1*21*1~NM1*41*2*CLAIMSNETTO*****46*6767676~TRN*2*29200057_1~STC*A1:19*20180618*WQ*105368~QTY*90*2~QTY*AA*0~AMT*YU*105368~AMT*YY*0~HL*3*2*19*1~NM1*85*2*SMITH CLINIC*****FI*123456789~HL*4*3*PT~NM1*QC*1*SDHDS*ASDCFD****MI*009876545~TRN*2*SRN99999999~STC*A1:19*20180918*WQ*51919~REF*1K*UB067815EDI0025~REF*D9*20994609~REF*BLT*131~DTP*472*D8*20180509~SVC*HC:22305:22*999*10.00****1~STC*A3:122*20180715*U*******A3:153:82~REF*FJ*11~REF*1K*UB067815EDI0025~DTP*472*RD8*20180401-20180409~SVC*HC:22305:22*888*20.00****1~STC*B3:122*20180717*U*******A3:153:82~REF*FJ*11~REF*1K*UB067815EDI0025~DTP*472*RD8*20180401-20180409~SVC*HC:22305:22*777*30.00****1~STC*C3:122*20180719*U*******A3:153:82~REF*FJ*11~REF*1K*UB067815EDI0025~DTP*472*RD8*20180401-20180409~");
request.setCa277String("ISA*00**00**ZZ*VAFSC*ZZ*CLAIMSNET*"
+ "180618*0610*^*00501*000000767*0*P*:~GS*HN*VAFSC*"
+ "CLAIMSNET*20180618*0610*302*X*005010X214~ST*277*"
+ "10001*005010X214~BHT*0085*08*46590065-7c78-9K60-0000-180618060555*"
+ "20180618*061011*TH~HL*1**20*1~NM1*PR*2*DEPARTMENT OF VETERANS AFFAIRS*****"
+ "PI*987654~TRN*1*00000000000332~DTP*050*D8*20180616~DTP*009*D8*20180618~HL"
+ "*2*1*21*1~NM1*41*2*CLAIMSNETTO*****46*6767676~TRN*2*29200057_1~STC*A1:19"
+ "*20180618*WQ*105368~QTY*90*2~QTY*AA*0~AMT*YU*105368~AMT*YY*0~HL*3*2*19"
+ "*1~NM1*85*2*SMITH CLINIC*****FI*123456789~HL*4*3*PT~NM1*QC*1*SDHDS*ASDCFD"
+ "****MI*009876545~TRN*2*SRN99999999~STC*A1:19*20180918*WQ*51919~REF*1K"
+ "*UB067815EDI0025~REF*D9*20994609~REF*BLT*131~DTP*472*D8*20180509~SVC"
+ "*HC:22305:22*999*10.00****1~STC*A3:122*20180715*U*******A3:153:82~REF"
+ "*FJ*11~REF*1K*UB067815EDI0025~DTP*472*RD8*20180401-20180409~SVC*HC:22305:22"
+ "*888*20.00****1~STC*B3:122*20180717*U*******A3:153:82~REF*FJ*11~REF*1K"
+ "*UB067815EDI0025~DTP*472*RD8*20180401-20180409~SVC*HC:22305:22*777*30.00"
+ "****1~STC*C3:122*20180719*U*******A3:153:82~REF*FJ*11~REF*1K*UB067815EDI0025~DTP"
+ "*472*RD8*20180401-20180409~");
request.setOriginalFileName("test_file_name.txt");

ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
String requestJson = ow.writeValueAsString(request);

ResultActions s =
mockMvc.perform(
post("/api/ca/277CA/parse").contentType(MediaType.APPLICATION_JSON).content(requestJson))
.andDo(print()).andExpect(status().isOk());
assertTrue(HttpStatus.OK.value() == s.andReturn().getResponse().getStatus());
}

@Test

public void test_parseAndgenerate_Partial() throws Exception {
Parse277CARequest request=new Parse277CARequest();
request.setCa277String("ISA*00* *00* *ZZ*VAFSC *ZZ*CLAIMSNET *180618*0610*^*00501*000000767*0*P*:~GS*HN*VAFSC*CLAIMSNET*20180618*0610*302*X*005010X214~ST*277*10001*005010X214~BHT*0085*08*46590065-7c78-9K60-0000-180618060555*20180618*061011*TH~HL*1**20*1~NM1*PR*2*DEPARTMENT OF VETERANS AFFAIRS*****PI*987654~TRN*1*00000000000332~DTP*050*D8*20180616~DTP*009*D8*20180618~HL*2*1*21*1~NM1*41*2*CLAIMSNETTO*****46*6767676~TRN*2*29200057_1~STC*A1:19*20180618*WQ*105368~QTY*90*2~QTY*AA*0~AMT*YU*105368~AMT*YY*0~HL*3*2*19*1~NM1*85*2*SMITH CLINIC*****FI*123456789~HL*4*3*PT~NM1*QC*1*SDHDS*ASDCFD****MI*~TRN*2*SRN99999999~STC*A1:19*20180918*WQ*51919~REF*1K*UB067815EDI0025~REF*D9*20994609~REF*BLT*131~DTP*472*D8*20180509~SVC*HC:22305:22*999*10.00****1~STC*A3:122*20180715*U*******A3:153:82~REF*FJ*11~REF*1K*UB067815EDI0025~DTP*472*RD8*20180401-20180409~SVC*HC:22305:22*888*20.00****1~STC*B3:122*20180717*U*******A3:153:82~REF*FJ*11~REF*1K*UB067815EDI0025~DTP*472*RD8*20180401-20180409~SVC*HC:22305:22*777*30.00****1~STC*C3:122*20180719*U*******A3:153:82~REF*FJ*11~REF*1K*UB067815EDI0025~DTP*472*RD8*20180401-20180409~");


ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
String requestJson = ow.writeValueAsString(request);

ResultActions s =
mockMvc.perform(
post("/api/ca/277CA/parse").contentType(MediaType.APPLICATION_JSON).content(requestJson))
.andDo(print()).andExpect(status().isOk());
assertTrue(HttpStatus.OK.value() == s.andReturn().getResponse().getStatus());
}
}