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.mock; 183713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 193713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.HttpEntity; 203713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.HttpHost; 213713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.HttpRequest; 223713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.HttpResponse; 233713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.HttpStatus; 243713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.ProtocolVersion; 253713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.StatusLine; 263713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.client.HttpClient; 273713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.client.ResponseHandler; 283713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.client.methods.HttpUriRequest; 293713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.conn.ClientConnectionManager; 303713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.message.BasicHttpResponse; 313713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.message.BasicStatusLine; 323713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.params.HttpParams; 333713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickimport org.apache.http.protocol.HttpContext; 343713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 353713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 363713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrickpublic class MockHttpClient implements HttpClient { 373713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick private int mStatusCode = HttpStatus.SC_OK; 383713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick private HttpEntity mResponseEntity = null; 393713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 403713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public void setResponseData(HttpEntity entity) { 413713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mStatusCode = HttpStatus.SC_OK; 423713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mResponseEntity = entity; 433713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 443713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 453713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public void setErrorCode(int statusCode) { 463713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick if (statusCode == HttpStatus.SC_OK) { 473713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new IllegalArgumentException("statusCode cannot be 200 for an error"); 483713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 493713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick mStatusCode = statusCode; 503713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 513713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 523713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public HttpUriRequest requestExecuted = null; 533713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 543713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick // This is the only one we actually use. 553713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 563713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public HttpResponse execute(HttpUriRequest request, HttpContext context) { 573713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick requestExecuted = request; 583713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick StatusLine statusLine = new BasicStatusLine( 593713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick new ProtocolVersion("HTTP", 1, 1), mStatusCode, ""); 603713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick HttpResponse response = new BasicHttpResponse(statusLine); 613713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick response.setEntity(mResponseEntity); 623713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 633713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick return response; 643713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 653713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 663713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 673713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick // Unimplemented methods ahoy 683713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 693713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 703713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public HttpResponse execute(HttpUriRequest request) { 713713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 723713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 733713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 743713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 753713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public HttpResponse execute(HttpHost target, HttpRequest request) { 763713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 773713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 783713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 793713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 803713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public <T> T execute(HttpUriRequest arg0, ResponseHandler<? extends T> arg1) { 813713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 823713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 833713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 843713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 853713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public HttpResponse execute(HttpHost target, HttpRequest request, HttpContext context) { 863713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 873713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 883713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 893713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 903713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public <T> T execute(HttpUriRequest arg0, ResponseHandler<? extends T> arg1, HttpContext arg2) { 913713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 923713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 933713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 943713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 953713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public <T> T execute(HttpHost arg0, HttpRequest arg1, ResponseHandler<? extends T> arg2) { 963713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 973713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 983713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 993713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 1003713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public <T> T execute(HttpHost arg0, HttpRequest arg1, ResponseHandler<? extends T> arg2, 1013713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick HttpContext arg3) { 1023713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 1033713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 1043713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 1053713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 1063713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public ClientConnectionManager getConnectionManager() { 1073713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 1083713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 1093713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick 1103713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick @Override 1113713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick public HttpParams getParams() { 1123713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick throw new UnsupportedOperationException(); 1133713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick } 1143713094c56d25e25df2a508dbee4aea869ffdea1Ficus Kirkpatrick} 115