1919import java .util .concurrent .TimeUnit ;
2020
2121import static org .junit .Assert .assertEquals ;
22+ import static org .junit .Assert .assertTrue ;
23+ import static org .junit .Assert .assertNotNull ;
2224
2325public abstract class AbstractClientTest {
2426
@@ -78,32 +80,27 @@ public void shouldSendGetRequest() throws Exception {
7880 }
7981
8082 @ Test
81- public void shouldSendPostRequestWithEmptyBody () throws Exception {
82- final String expectedResponseBody = "response body for test shouldSendPostRequest" ;
83- final String expectedRequestBody = "" ;
84-
83+ public void shouldSendPostWithApplicationXWwwFormUrlencodedRequestContentTypeHeader () throws Exception {
8584 final MockWebServer server = new MockWebServer ();
86- server .enqueue (new MockResponse (). setBody ( expectedResponseBody ) );
85+ server .enqueue (new MockResponse ());
8786 server .start ();
8887
8988 final HttpUrl baseUrl = server .url ("/testUrl" );
9089
9190 final OAuthRequest request = new OAuthRequest (Verb .POST , baseUrl .toString ());
92- try (Response response = oAuthService .execute (request , null ).get (30 , TimeUnit .SECONDS )) {
93- assertEquals (expectedResponseBody , response .getBody ());
94- }
91+ oAuthService .execute (request , null ).get (30 , TimeUnit .SECONDS ).close ();
9592
9693 final RecordedRequest recordedRequest = server .takeRequest ();
9794 assertEquals ("POST" , recordedRequest .getMethod ());
98- assertEquals (expectedRequestBody , recordedRequest .getBody (). readUtf8 ( ));
95+ assertEquals (HttpClient . DEFAULT_CONTENT_TYPE , recordedRequest .getHeader ( HttpClient . CONTENT_TYPE ));
9996
10097 server .shutdown ();
10198 }
10299
103100 @ Test
104- public void shouldSendPostRequestWithStringBody () throws Exception {
101+ public void shouldSendPostRequestWithEmptyBody () throws Exception {
105102 final String expectedResponseBody = "response body for test shouldSendPostRequest" ;
106- final String expectedRequestBody = "request body " ;
103+ final String expectedRequestBody = "" ;
107104
108105 final MockWebServer server = new MockWebServer ();
109106 server .enqueue (new MockResponse ().setBody (expectedResponseBody ));
@@ -112,22 +109,22 @@ public void shouldSendPostRequestWithStringBody() throws Exception {
112109 final HttpUrl baseUrl = server .url ("/testUrl" );
113110
114111 final OAuthRequest request = new OAuthRequest (Verb .POST , baseUrl .toString ());
115- request .setPayload (expectedRequestBody );
116112 try (Response response = oAuthService .execute (request , null ).get (30 , TimeUnit .SECONDS )) {
117113 assertEquals (expectedResponseBody , response .getBody ());
118114 }
119115
120116 final RecordedRequest recordedRequest = server .takeRequest ();
121117 assertEquals ("POST" , recordedRequest .getMethod ());
122118 assertEquals (expectedRequestBody , recordedRequest .getBody ().readUtf8 ());
119+ assertEquals (HttpClient .DEFAULT_CONTENT_TYPE , recordedRequest .getHeader (HttpClient .CONTENT_TYPE ));
123120
124121 server .shutdown ();
125122 }
126123
127124 @ Test
128- public void shouldSendPostRequestWithStringBodyWithSpecialChars () throws Exception {
125+ public void shouldSendPostRequestWithStringBody () throws Exception {
129126 final String expectedResponseBody = "response body for test shouldSendPostRequest" ;
130- final String expectedRequestBody = "~/!@#$%^&*()_+// \r \n %2F& " ;
127+ final String expectedRequestBody = "request body " ;
131128
132129 final MockWebServer server = new MockWebServer ();
133130 server .enqueue (new MockResponse ().setBody (expectedResponseBody ));
@@ -144,6 +141,9 @@ public void shouldSendPostRequestWithStringBodyWithSpecialChars() throws Excepti
144141 final RecordedRequest recordedRequest = server .takeRequest ();
145142 assertEquals ("POST" , recordedRequest .getMethod ());
146143 assertEquals (expectedRequestBody , recordedRequest .getBody ().readUtf8 ());
144+ final String contentTypeHeader = recordedRequest .getHeader (HttpClient .CONTENT_TYPE );
145+ assertNotNull (contentTypeHeader );
146+ assertTrue (contentTypeHeader .startsWith (HttpClient .DEFAULT_CONTENT_TYPE ));
147147
148148 server .shutdown ();
149149 }
@@ -168,65 +168,16 @@ public void shouldSendPostRequestWithByteBodyBody() throws Exception {
168168 final RecordedRequest recordedRequest = server .takeRequest ();
169169 assertEquals ("POST" , recordedRequest .getMethod ());
170170 assertEquals (expectedRequestBody , recordedRequest .getBody ().readUtf8 ());
171-
172- server .shutdown ();
173- }
174-
175- @ Test
176- public void shouldSendPostRequestWithByteBodyWithSpecialChars () throws Exception {
177- final String expectedResponseBody = "response body for test shouldSendPostRequest" ;
178- final String expectedRequestBody = "~/!@#$%^&*()_+//\r \n %2F&" ;
179-
180- final MockWebServer server = new MockWebServer ();
181- server .enqueue (new MockResponse ().setBody (expectedResponseBody ));
182- server .start ();
183-
184- final HttpUrl baseUrl = server .url ("/testUrl" );
185-
186- final OAuthRequest request = new OAuthRequest (Verb .POST , baseUrl .toString ());
187- request .setPayload (expectedRequestBody .getBytes ());
188- try (Response response = oAuthService .execute (request , null ).get (30 , TimeUnit .SECONDS )) {
189- assertEquals (expectedResponseBody , response .getBody ());
190- }
191-
192- final RecordedRequest recordedRequest = server .takeRequest ();
193- assertEquals ("POST" , recordedRequest .getMethod ());
194- assertEquals (expectedRequestBody , recordedRequest .getBody ().readUtf8 ());
171+ assertEquals (HttpClient .DEFAULT_CONTENT_TYPE , recordedRequest .getHeader (HttpClient .CONTENT_TYPE ));
195172
196173 server .shutdown ();
197174 }
198175
199176 @ Test
200177 public void shouldSendPostRequestWithBodyParamsBody () throws Exception {
201178 final String expectedResponseBody = "response body for test shouldSendPostRequest" ;
202- final String expectedRequestBodyParamName = "request body param name" ;
203- final String expectedRequestBodyParamValue = "request body param value" ;
204- final String expectedRequestBody = expectedRequestBodyParamName + '=' + expectedRequestBodyParamValue ;
205-
206- final MockWebServer server = new MockWebServer ();
207- server .enqueue (new MockResponse ().setBody (expectedResponseBody ));
208- server .start ();
209-
210- final HttpUrl baseUrl = server .url ("/testUrl" );
211-
212- final OAuthRequest request = new OAuthRequest (Verb .POST , baseUrl .toString ());
213- request .addBodyParameter (expectedRequestBodyParamName , expectedRequestBodyParamValue );
214- try (Response response = oAuthService .execute (request , null ).get (30 , TimeUnit .SECONDS )) {
215- assertEquals (expectedResponseBody , response .getBody ());
216- }
217-
218- final RecordedRequest recordedRequest = server .takeRequest ();
219- assertEquals ("POST" , recordedRequest .getMethod ());
220- assertEquals (expectedRequestBody , recordedRequest .getBody ().readUtf8 ());
221-
222- server .shutdown ();
223- }
224-
225- @ Test
226- public void shouldSendPostRequestWithBodyParamsBodyWithSpecialChars () throws Exception {
227- final String expectedResponseBody = "response body for test shouldSendPostRequest" ;
228- final String expectedRequestBodyParamName = "~/!@#$%^&*()_+//\r \n %2F&name" ;
229- final String expectedRequestBodyParamValue = "~/!@#$%^&*()_+//\r \n %2F&value" ;
179+ final String expectedRequestBodyParamName = "request_body_param_name" ;
180+ final String expectedRequestBodyParamValue = "request_body_param_value" ;
230181 final String expectedRequestBody = expectedRequestBodyParamName + '=' + expectedRequestBodyParamValue ;
231182
232183 final MockWebServer server = new MockWebServer ();
@@ -244,6 +195,7 @@ public void shouldSendPostRequestWithBodyParamsBodyWithSpecialChars() throws Exc
244195 final RecordedRequest recordedRequest = server .takeRequest ();
245196 assertEquals ("POST" , recordedRequest .getMethod ());
246197 assertEquals (expectedRequestBody , recordedRequest .getBody ().readUtf8 ());
198+ assertEquals (HttpClient .DEFAULT_CONTENT_TYPE , recordedRequest .getHeader (HttpClient .CONTENT_TYPE ));
247199
248200 server .shutdown ();
249201 }
0 commit comments