13713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick/* 23713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * Copyright (C) 2011 The Android Open Source Project 33713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * 43713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * Licensed under the Apache License, Version 2.0 (the "License"); 53713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * you may not use this file except in compliance with the License. 63713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * You may obtain a copy of the License at 73713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * 83713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * http://www.apache.org/licenses/LICENSE-2.0 93713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * 103713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * Unless required by applicable law or agreed to in writing, software 113713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * distributed under the License is distributed on an "AS IS" BASIS, 123713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 133713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * See the License for the specific language governing permissions and 143713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick * limitations under the License. 153713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick */ 163713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 173713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickpackage com.android.volley.toolbox; 183713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 193713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport com.android.volley.NetworkResponse; 203713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport com.android.volley.Request; 213713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport com.android.volley.Response; 223713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport com.android.volley.mock.MockHttpStack; 233713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 243713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.ProtocolVersion; 253713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.entity.StringEntity; 263713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.message.BasicHttpResponse; 273713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 283713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport android.test.AndroidTestCase; 29cebf98c8edef6b3506258ddb68266febadd0db1aJeff Sharkeyimport android.test.suitebuilder.annotation.SmallTest; 303713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 313713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport java.util.HashMap; 323713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport java.util.Map; 333713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 34cebf98c8edef6b3506258ddb68266febadd0db1aJeff Sharkey@SmallTest 353713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickpublic class BasicNetworkTest extends AndroidTestCase { 363713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 373713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 383713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick protected void setUp() throws Exception { 393713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick super.setUp(); 403713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mContext = getContext(); 413713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 423713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 433713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public void testHeadersAndPostParams() throws Exception { 443713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick MockHttpStack mockHttpStack = new MockHttpStack(); 453713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick BasicHttpResponse fakeResponse = new BasicHttpResponse(new ProtocolVersion("HTTP", 1, 1), 463713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 200, "OK"); 473713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick fakeResponse.setEntity(new StringEntity("foobar")); 483713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mockHttpStack.setResponseToReturn(fakeResponse); 493713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick BasicNetwork httpNetwork = new BasicNetwork(mockHttpStack); 503713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick Request<String> request = new Request<String>("http://foo", null) { 513713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 523713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 533713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick protected Response<String> parseNetworkResponse(NetworkResponse response) { 543713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return null; 553713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 563713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 573713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 583713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick protected void deliverResponse(String response) { 593713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 603713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 613713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 623713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public Map<String, String> getHeaders() { 633713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick Map<String, String> result = new HashMap<String, String>(); 643713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick result.put("requestheader", "foo"); 653713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return result; 663713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 673713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 683713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 693713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public Map<String, String> getPostParams() { 703713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick Map<String, String> result = new HashMap<String, String>(); 713713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick result.put("requestpost", "foo"); 723713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return result; 733713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 743713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick }; 753713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick httpNetwork.performRequest(request); 763713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick assertEquals("foo", mockHttpStack.getLastHeaders().get("requestheader")); 773713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick assertEquals("requestpost=foo&", new String(mockHttpStack.getLastPostBody())); 783713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 793713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick} 80