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.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
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 java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
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.CodeAndModifierRequest;
import gov.va.med.ars.model.request.GenericRequest;
import gov.va.med.ars.model.request.JsonArrayModel;
@WebAppConfiguration
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { AppConfig.class, SpringMvcConfig.class })
@TestPropertySource(properties = {"arsPropFileLocation = ./src/test/resources/development.properties"})
public class CodeAndModifierIntegrationTest {
private static final Logger logger = LogManager.getLogger(CodeAndModifierIntegrationTest.class);
@Autowired
private WebApplicationContext wac;
private MockMvc mockMvc;
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}
public void getLoincCodesTest_success() throws Exception {
List<String> codesToProcess = new ArrayList<>();
codesToProcess.add("Y");
codesToProcess.add("N");
JsonArrayModel acceptedValues = new JsonArrayModel(codesToProcess);
HttpServletRequest request = mock(HttpServletRequest.class);
when(request.getRequestURI()).thenReturn("/api/v1/populate/loinc");
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
String requestBodyJson = ow.writeValueAsString(acceptedValues);
ResultActions result = mockMvc
.perform(
post("/api/v1/populate/loinc").contentType(MediaType.APPLICATION_JSON).content(requestBodyJson))
.andDo(print()).andExpect(status().isOk());
logger.info("getLoincCodesTest_success:" + result.andReturn().getResponse().getStatus());
assertTrue(HttpStatus.OK.value() == result.andReturn().getResponse().getStatus());
}
@Test
public void getLoincModCodesTest_success() throws Exception {
List<String> codesToProcess = new ArrayList<>();
codesToProcess.add("Y");
codesToProcess.add("N");
JsonArrayModel acceptedValues = new JsonArrayModel(codesToProcess);
HttpServletRequest request = mock(HttpServletRequest.class);
when(request.getRequestURI()).thenReturn("/api/v1/populate/loincMod");
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
String requestBodyJson = ow.writeValueAsString(acceptedValues);
ResultActions result = mockMvc.perform(
post("/api/v1/populate/loincMod").contentType(MediaType.APPLICATION_JSON).content(requestBodyJson))
.andDo(print()).andExpect(status().isOk());
logger.info("getLoincModCodesTest_success:" + result.andReturn().getResponse().getStatus());
assertTrue(HttpStatus.OK.value() == result.andReturn().getResponse().getStatus());
}
@Test
public void getHccsCodesTest_success() throws Exception {
List<String> codesToProcess = new ArrayList<>();
codesToProcess.add("Y");
codesToProcess.add("N");
JsonArrayModel acceptedValues = new JsonArrayModel(codesToProcess);
HttpServletRequest request = mock(HttpServletRequest.class);
when(request.getRequestURI()).thenReturn("/api/v1/populate/hccs");
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
String requestBodyJson = ow.writeValueAsString(acceptedValues);
ResultActions result = mockMvc
.perform(post("/api/v1/populate/hccs").contentType(MediaType.APPLICATION_JSON).content(requestBodyJson))
.andDo(print()).andExpect(status().isOk());
logger.info("getHccsCodesTest_success:" + result.andReturn().getResponse().getStatus());
assertTrue(HttpStatus.OK.value() == result.andReturn().getResponse().getStatus());
}
@Test
public void addOrModifyCodes_success() throws Exception {
/*CodeAndModifierRequest loinc = new CodeAndModifierRequest();
loinc.setCd(130l);
loinc.setStcCd("2018");
loinc.setStcCdDesc("aaa");
loinc.setFlag(false);
loinc.setStartDate("04/17/2018");
loinc.setEndDate("04/17/2018");
List<CodeAndModifierRequest> loincList = new ArrayList<>();
loincList.add(loinc);*/
/*CodeAndModifierRequest loincMod = new CodeAndModifierRequest();
loincMod.setCd(100001l);
loincMod.setStcCd("2018");
loincMod.setStcCdDesc("aaa");
loincMod.setFlag(false);
loincMod.setStartDate("04/17/2018");
loincMod.setEndDate("04/17/2018");
List<CodeAndModifierRequest> loincModList = new ArrayList<>();
loincModList.add(loincMod);*/
/*CodeAndModifierRequest hccsCd = new CodeAndModifierRequest();
hccsCd.setCd(1000l);
hccsCd.setStcCd("2018");
hccsCd.setStcCdDesc("aaa");
hccsCd.setFlag(false);
hccsCd.setStartDate("04/17/2018");
hccsCd.setEndDate("04/17/2018");
List<CodeAndModifierRequest> hccList = new ArrayList<>();
hccList.add(hccsCd);*/
GenericRequest codeAndModifierRequest = new GenericRequest();
//codeAndModifierRequest.setHccList(hccList);
//codeAndModifierRequest.setLoincList(loincList);
//codeAndModifierRequest.setLoincModList(loincModList);
ObjectMapper mapper = new ObjectMapper();
mapper.configure(SerializationFeature.WRAP_ROOT_VALUE, false);
ObjectWriter ow = mapper.writer().withDefaultPrettyPrinter();
String requestJson = ow.writeValueAsString(codeAndModifierRequest);
logger.info("requestJson:" + requestJson);
ResultActions result = mockMvc
.perform(post("/api/v1/populate/add").contentType(MediaType.APPLICATION_JSON).content(requestJson))
.andExpect(status()
.isOk())
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8_VALUE));
logger.info("getCodesTest_success:" + result.andReturn().getResponse().getStatus());
assertTrue(HttpStatus.OK.value() == result.andReturn().getResponse().getStatus());
}
}