Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

prevent abuse of mock #951

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
import org.junit.Before;
import org.junit.Test;

import static org.mockito.Mockito.mock;

public class CommonResponseTest {
private CommonResponse response;

Expand All @@ -25,14 +23,14 @@ public void getSetTest() {
response.setHttpStatus(200);
Assert.assertEquals(200, response.getHttpStatus());

HttpResponse httpResponse = mock(HttpResponse.class);
HttpResponse httpResponse = new HttpResponse();
response.setHttpResponse(httpResponse);
Assert.assertTrue(httpResponse == response.getHttpResponse());
}

@Test
public void getInstanceTest() throws ClientException {
UnmarshallerContext context = mock(UnmarshallerContext.class);
UnmarshallerContext context = new UnmarshallerContext();
Assert.assertNull(response.getInstance(context));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,30 +43,32 @@ public void testHttpDebug() {
}

@Test
public void testDebugHttpRequest() throws ClientException {
HttpRequest request = mock(HttpRequest.class);
Mockito.when(request.getSysMethod()).thenReturn(MethodType.GET);
Mockito.when(request.getSysUrl()).thenReturn("http://test.domain");
public void testDebugHttpRequest() {
Map<String, String> requestHeaders = new HashMap<String, String>();
Mockito.when(request.getHttpContentString()).thenReturn("request body");
requestHeaders.put("test1", "test1");
requestHeaders.put("test2", "test2");
Mockito.when(request.getSysHeaders()).thenReturn(requestHeaders);
String exceptString = "> GET HTTP/1.1\n> Host : test.domain\n> test2 : test2\n> test1 : test1\n> "
HttpRequest request = new HttpRequest("http://test.domain", requestHeaders);
request.setSysMethod(MethodType.POST);
request.setSysReadTimeout(0);
request.setSysConnectTimeout(0);
request.setHttpContent("request body".getBytes(), "utf-8", null);
String exceptString = "> POST HTTP/1.1\n> Host : test.domain\n> test2 : test2\n> Content-Length : 12\n"
+ "> test1 : test1\n> Content-MD5 : YhZ08xUv78xtnjbDzSonAQ==\n> "
+ "Request URL : http://test.domain\n> " + "Request string to sign: [null]\n> "
+ "Request isIgnoreSSLCerts : false\n> " + "Request connect timeout : 0\n> "
+ "Request read timeout : 0\n> " + "Encoding : null\n> " + "\n" + "request body";
+ "Request read timeout : 0\n> " + "Encoding : utf-8\n> " + "\n" + "request body";

HttpUtil.setIsHttpDebug(true);
HttpUtil.setIsHttpContentDebug(true);
Assert.assertEquals(HttpUtil.debugHttpRequest(request), exceptString);
Assert.assertEquals(exceptString, HttpUtil.debugHttpRequest(request));

HttpUtil.setIsHttpContentDebug(false);
exceptString = "> GET HTTP/1.1\n> Host : test.domain\n> test2 : test2\n> test1 : test1\n> "
exceptString = "> POST HTTP/1.1\n> Host : test.domain\n> test2 : test2\n> Content-Length : 12\n"
+ "> test1 : test1\n> Content-MD5 : YhZ08xUv78xtnjbDzSonAQ==\n> "
+ "Request URL : http://test.domain\n> " + "Request string to sign: [null]\n> "
+ "Request isIgnoreSSLCerts : false\n> " + "Request connect timeout : 0\n> "
+ "Request read timeout : 0\n> " + "Encoding : null\n> ";
Assert.assertEquals(HttpUtil.debugHttpRequest(request), exceptString);
+ "Request read timeout : 0\n> " + "Encoding : utf-8\n> ";
Assert.assertEquals(exceptString, HttpUtil.debugHttpRequest(request));

HttpUtil.setIsHttpDebug(false);
Assert.assertNull(HttpUtil.debugHttpRequest(request));
Expand Down Expand Up @@ -110,7 +112,7 @@ public void testDebugHttpResponse() throws ClientException {

@Test
public void testDebugHttpRquestException() throws ClientException {
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
Mockito.when(request.getSysMethod()).thenReturn(MethodType.GET);
Mockito.when(request.getSysUrl()).thenReturn("httpss://test.domain/jdj");
Map<String, String> requestHeaders = new HashMap<String, String>();
Expand Down Expand Up @@ -163,44 +165,44 @@ public void testDebugHttpResponseException() throws ClientException {

@Test
public void testGetJDKProxyException() throws ClientException {
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
thrown.expect(ClientException.class);
Proxy proxy = HttpUtil.getJDKProxy("http0://www.aliyun.com", null, request);
Assert.assertNotNull(proxy);
}

@Test
public void testGetJDKProxyEnvProxyHasUserInfo() throws ClientException {
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
Proxy proxy = HttpUtil.getJDKProxy(null, "http://user:[email protected]", request);
Assert.assertNotNull(proxy);
}

@Test
public void testGetJDKProxyEnvProxyNoUserInfo() throws ClientException {
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
Proxy proxy = HttpUtil.getJDKProxy(null, "http://www.aliyun.com:80", request);
Assert.assertNotNull(proxy);
}

@Test
public void testGetApacheProxyException() throws ClientException {
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
thrown.expect(ClientException.class);
HttpHost proxy = HttpUtil.getApacheProxy("http0://www.aliyun.com", null, request);
Assert.assertNotNull(proxy);
}

@Test
public void testGetApacheProxyEnvProxyHasUserInfo() throws ClientException {
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
HttpHost proxy = HttpUtil.getApacheProxy(null, "http://user:[email protected]", request);
Assert.assertNotNull(proxy);
}

@Test
public void testGetApacheProxyEnvProxyNoUserInfo() throws ClientException {
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
HttpHost proxy = HttpUtil.getApacheProxy(null, "http://www.aliyun.com:80", request);
Assert.assertNotNull(proxy);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public void asyncInvokeTest() throws ClientException, IOException {
when(config.getSslSocketFactory()).thenReturn(sslSocketFactory);
when(config.isIgnoreSSLCerts()).thenReturn(false);
CompatibleUrlConnClient client = new CompatibleUrlConnClient(config);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mockurl");
CallBack callback = mock(CallBack.class);
client.asyncInvoke(request, callback);
client.close();
Expand Down Expand Up @@ -121,7 +121,7 @@ public void buildHttpConnectionNullSysUrlTest() throws Exception {
when(config.isIgnoreSSLCerts()).thenReturn(true);
CompatibleUrlConnClient client = new CompatibleUrlConnClient(config);
thrown.expect(IllegalArgumentException.class);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
Whitebox.invokeMethod(client, "buildHttpConnection", request);
}

Expand All @@ -133,7 +133,7 @@ public void buildHttpConnectionNullSysMethodTest() throws Exception {
when(config.isIgnoreSSLCerts()).thenReturn(true);
CompatibleUrlConnClient client = new CompatibleUrlConnClient(config);
thrown.expect(IllegalArgumentException.class);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getSysUrl()).thenReturn("sysUrl");
Whitebox.invokeMethod(client, "buildHttpConnection", request);
}
Expand All @@ -148,7 +148,7 @@ public void buildHttpConnectionPOSTMethodAndNullContentAndHttpsTest() throws Exc
CompatibleUrlConnClient client = PowerMockito.spy(client0);
Proxy proxy = Proxy.NO_PROXY;
PowerMockito.doReturn(proxy).when(client, "calcProxy", any(URL.class), any(HttpRequest.class));
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getSysMethod()).thenReturn(MethodType.POST);
when(request.getSysUrl()).thenReturn("https://www.aliyun.com");
when(request.getSysConnectTimeout()).thenReturn(120);
Expand Down Expand Up @@ -178,7 +178,7 @@ public void buildHttpConnectionPOSTMethodAndHttpTest() throws Exception {
CompatibleUrlConnClient client = PowerMockito.spy(client0);
Proxy proxy = Proxy.NO_PROXY;
PowerMockito.doReturn(proxy).when(client, "calcProxy", any(URL.class), any(HttpRequest.class));
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getHttpContent()).thenReturn("content".getBytes());
when(request.getSysMethod()).thenReturn(MethodType.POST);
when(request.getSysUrl()).thenReturn("http://www.aliyun.com");
Expand All @@ -196,7 +196,7 @@ public void buildHttpConnectionGETMethodAndHttpsTest() throws Exception {
CompatibleUrlConnClient client = PowerMockito.spy(client0);
Proxy proxy = Proxy.NO_PROXY;
PowerMockito.doReturn(proxy).when(client, "calcProxy", any(URL.class), any(HttpRequest.class));
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getHttpContent()).thenReturn("content".getBytes());
when(request.getSysMethod()).thenReturn(MethodType.POST);
when(request.getSysUrl()).thenReturn("https://www.aliyun.com");
Expand All @@ -216,7 +216,7 @@ public void buildHttpConnectionGETMethodAndNullContentTest() throws Exception {
CompatibleUrlConnClient client = PowerMockito.spy(client0);
Proxy proxy = Proxy.NO_PROXY;
PowerMockito.doReturn(proxy).when(client, "calcProxy", any(URL.class), any(HttpRequest.class));
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getHttpContent()).thenReturn(null);
when(request.getSysMethod()).thenReturn(MethodType.GET);
when(request.getSysUrl()).thenReturn("http://www.aliyun.com");
Expand Down Expand Up @@ -271,7 +271,7 @@ public void syncInvokeIOExceptionTest() throws Exception {
when(config.isIgnoreSSLCerts()).thenReturn(true);
CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
CompatibleUrlConnClient client = PowerMockito.spy(client0);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
HttpURLConnection connection = mock(HttpURLConnection.class);
doThrow(new IOException()).when(connection).connect();
PowerMockito.doReturn(connection).when(client, "buildHttpConnection", request);
Expand All @@ -292,7 +292,7 @@ public void syncInvokeNormalAndNoneMethodAndContentIsNotEmptyTest() throws Excep
when(config.isIgnoreSSLCerts()).thenReturn(true);
CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
CompatibleUrlConnClient client = PowerMockito.spy(client0);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getHttpContent()).thenReturn("http content".getBytes());
HttpURLConnection connection = mock(HttpURLConnection.class);
doNothing().when(connection).connect();
Expand All @@ -316,7 +316,7 @@ public void syncInvokeNormalAndGetMethodAndContentIsNotEmptyTest() throws Except
when(config.isIgnoreSSLCerts()).thenReturn(true);
CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
CompatibleUrlConnClient client = PowerMockito.spy(client0);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getSysMethod()).thenReturn(MethodType.GET);
when(request.getHttpContent()).thenReturn("http content".getBytes());
HttpURLConnection connection = mock(HttpURLConnection.class);
Expand Down Expand Up @@ -345,7 +345,7 @@ public void syncInvokeNormalAndPostMethodAndContentIsNotEmptyTest() throws Excep
when(config.isIgnoreSSLCerts()).thenReturn(true);
CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
CompatibleUrlConnClient client = PowerMockito.spy(client0);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getSysMethod()).thenReturn(MethodType.POST);
when(request.getHttpContent()).thenReturn("http content".getBytes());
HttpURLConnection connection = mock(HttpURLConnection.class);
Expand Down Expand Up @@ -373,7 +373,7 @@ public void syncInvokeNormalAndContentIsEmptyTest() throws Exception {
when(config.isIgnoreSSLCerts()).thenReturn(true);
CompatibleUrlConnClient client0 = new CompatibleUrlConnClient(config);
CompatibleUrlConnClient client = PowerMockito.spy(client0);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
when(request.getSysMethod()).thenReturn(MethodType.GET);
when(request.getHttpContent()).thenReturn("".getBytes());
HttpURLConnection connection = mock(HttpURLConnection.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public void retryTest() throws InterruptedException {
.build();

String coordinate = "nanhe:test";
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
RetryPolicyContext context = RetryPolicyContext.builder()
.coordinate(coordinate)
.httpRequest(request)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ public void logUnitGetSetTest() throws ClientException {
null, resHeaders);
mockLogUtils();
LogUtils.LogUnit logUnit = new LogUtils.LogUnit(httpRequest, httpResponse);
HttpRequest request = mock(HttpRequest.class);
HttpRequest request = new HttpRequest("mock url");
logUnit.setHttpRequest(request);
Assert.assertEquals(request, logUnit.getHttpRequest());

Expand Down
Loading