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
/*
* LookupControllerIntTest.java
* Copyright (c) 2019 Veterans Affairs.
*/
package gov.va.oneconsult.seoc.api.controller;
import static org.assertj.core.api.Assertions.assertThat;
import static org.junit.Assert.assertEquals;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.context.embedded.LocalServerPort;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.web.client.TestRestTemplate;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.junit4.SpringRunner;
import gov.va.oneconsult.seoc.api.Application;
import gov.va.oneconsult.seoc.api.util.Constants;
import gov.va.oneconsult.seoc.api.util.TestUtil;
/**
* Integration Test Cases
*
* @author AbleVets
*/
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class LookupControllerIntTest {
@LocalServerPort
private int port;
private TestRestTemplate restTemplate = new TestRestTemplate();
private HttpHeaders headers = new HttpHeaders();
public static final String ROOT = "/v1/lookup/";
public static final String SERVICE_LINE = "serviceline/";
public static final String CATEGORY_OF_CARE = "categoryofcare/";
public static final String QASP = "qasp/";
public static final String BILLING_CODE = "billingcode/";
@Before
public void setup() {
setHeaders();
}
/**
*
* Description: Set the headers
*/
private void setHeaders() {
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
headers.set(Constants.CLIENT_KEY, TestUtil.CLIENT_KEY);
}
/**
* Description: Test url
*
* @param uri
* @return returns test url
*/
private String createURLWithPort(String uri) {
return "http://localhost:" + port + uri;
}
/**
* Description: Test read all serviceLines successful
*/
@Test
public void readAllServiceLines() {
HttpEntity<String> request = new HttpEntity<String>(null, headers);
ResponseEntity<String> response = restTemplate.exchange(createURLWithPort(ROOT + SERVICE_LINE), HttpMethod.GET, request,
String.class);
assertEquals(HttpStatus.OK, response.getStatusCode());
String responseJson = response.getBody();
assertThat(responseJson).contains("Psychology");
assertThat(responseJson).contains("Dental");
//Excludes discontinued Categories of Care
assertThat(responseJson).contains("Psychology Care");
assertThat(responseJson).doesNotContain("Dental Care");
}
/**
* Description: Test read all categories of care successful
*/
@Test
public void readAllCategoriesOfCare() {
HttpEntity<String> request = new HttpEntity<String>(null, headers);
ResponseEntity<String> response = restTemplate.exchange(createURLWithPort(ROOT + CATEGORY_OF_CARE), HttpMethod.GET, request,
String.class);
assertEquals(HttpStatus.OK, response.getStatusCode());
String responseJson = response.getBody();
//Excludes discontinued Categories of Care
assertThat(responseJson).contains("Psychology Care");
assertThat(responseJson).doesNotContain("Dental Care");
}
/**
* Description: Test read all QASPs successful
*/
@Test
public void readAllQasps() {
HttpEntity<String> request = new HttpEntity<String>(null, headers);
ResponseEntity<String> response = restTemplate.exchange(createURLWithPort(ROOT + QASP), HttpMethod.GET, request,
String.class);
assertEquals(HttpStatus.OK, response.getStatusCode());
String responseJson = response.getBody();
//Excludes discontinued QASPs
assertThat(responseJson).contains("QASP1");
assertThat(responseJson).contains("QASP2");
assertThat(responseJson).contains("QASP3");
assertThat(responseJson).doesNotContain("QASP4");
}
/**
* Description: Test read all Billing Codes successful
*/
@Test
public void readAllBillingCodes() {
HttpEntity<String> request = new HttpEntity<String>(null, headers);
ResponseEntity<String> response = restTemplate.exchange(createURLWithPort(ROOT + BILLING_CODE), HttpMethod.GET, request,
String.class);
assertEquals(HttpStatus.OK, response.getStatusCode());
String responseJson = response.getBody();
//Excludes discontinued QASPs
assertThat(responseJson).contains("code108");
assertThat(responseJson).doesNotContain("code109");
}
}