import org.junit.After;
import org.junit.Before;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.web.client.RestTemplate;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:applicationContext.xml"})
public abstract class BaseControllerTest extends AbstractJUnit4SpringContextTests {
@Autowired
protected RestTemplate restTemplate;
String BASE_URI = "http://localhost:8080/testWeb";
HttpHeaders requestHeaders = new HttpHeaders();
@Before
public void init(){
//requestHeaders.set("authid", "7109923982");
//requestHeaders.set("currid", "1332265025218");
//requestHeaders.set("sghkey", "f7d30182f6918671b6c13bdcef1fd5fc");
System.out.println("init headers ...");
}
protected <T> T httpRequest(String url, HttpMethod method, Class<T> responseType, Object ... uriVariables){
HttpEntity<Object> requestEntity = new HttpEntity<Object>(requestHeaders);
ResponseEntity<T> responseEntity = restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);
return responseEntity.getBody();
}
protected <T> T httpRequest(String url, HttpMethod method, Object data, Class<T> responseType, Object ... uriVariables){
HttpEntity<Object> requestEntity = new HttpEntity<Object>(data, requestHeaders);
ResponseEntity<T> responseEntity = restTemplate.exchange(url, method, requestEntity, responseType, uriVariables);
return responseEntity.getBody();
}
@After
public void destory(){
requestHeaders = null;
restTemplate = null;
System.out.println("release objects ...");
}
}