/* * Copyright (C) 2012 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.android.volley.toolbox; import com.android.volley.Request.Method; import com.android.volley.mock.MockHttpURLConnection; import com.android.volley.mock.TestRequest; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.RobolectricTestRunner; import static org.junit.Assert.*; @RunWith(RobolectricTestRunner.class) public class HurlStackTest { private MockHttpURLConnection mMockConnection; @Before public void setUp() throws Exception { mMockConnection = new MockHttpURLConnection(); } @Test public void connectionForDeprecatedGetRequest() throws Exception { TestRequest.DeprecatedGet request = new TestRequest.DeprecatedGet(); assertEquals(request.getMethod(), Method.DEPRECATED_GET_OR_POST); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("GET", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForDeprecatedPostRequest() throws Exception { TestRequest.DeprecatedPost request = new TestRequest.DeprecatedPost(); assertEquals(request.getMethod(), Method.DEPRECATED_GET_OR_POST); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("POST", mMockConnection.getRequestMethod()); assertTrue(mMockConnection.getDoOutput()); } @Test public void connectionForGetRequest() throws Exception { TestRequest.Get request = new TestRequest.Get(); assertEquals(request.getMethod(), Method.GET); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("GET", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForPostRequest() throws Exception { TestRequest.Post request = new TestRequest.Post(); assertEquals(request.getMethod(), Method.POST); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("POST", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForPostWithBodyRequest() throws Exception { TestRequest.PostWithBody request = new TestRequest.PostWithBody(); assertEquals(request.getMethod(), Method.POST); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("POST", mMockConnection.getRequestMethod()); assertTrue(mMockConnection.getDoOutput()); } @Test public void connectionForPutRequest() throws Exception { TestRequest.Put request = new TestRequest.Put(); assertEquals(request.getMethod(), Method.PUT); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("PUT", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForPutWithBodyRequest() throws Exception { TestRequest.PutWithBody request = new TestRequest.PutWithBody(); assertEquals(request.getMethod(), Method.PUT); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("PUT", mMockConnection.getRequestMethod()); assertTrue(mMockConnection.getDoOutput()); } @Test public void connectionForDeleteRequest() throws Exception { TestRequest.Delete request = new TestRequest.Delete(); assertEquals(request.getMethod(), Method.DELETE); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("DELETE", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForHeadRequest() throws Exception { TestRequest.Head request = new TestRequest.Head(); assertEquals(request.getMethod(), Method.HEAD); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("HEAD", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForOptionsRequest() throws Exception { TestRequest.Options request = new TestRequest.Options(); assertEquals(request.getMethod(), Method.OPTIONS); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("OPTIONS", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForTraceRequest() throws Exception { TestRequest.Trace request = new TestRequest.Trace(); assertEquals(request.getMethod(), Method.TRACE); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("TRACE", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForPatchRequest() throws Exception { TestRequest.Patch request = new TestRequest.Patch(); assertEquals(request.getMethod(), Method.PATCH); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("PATCH", mMockConnection.getRequestMethod()); assertFalse(mMockConnection.getDoOutput()); } @Test public void connectionForPatchWithBodyRequest() throws Exception { TestRequest.PatchWithBody request = new TestRequest.PatchWithBody(); assertEquals(request.getMethod(), Method.PATCH); HurlStack.setConnectionParametersForRequest(mMockConnection, request); assertEquals("PATCH", mMockConnection.getRequestMethod()); assertTrue(mMockConnection.getDoOutput()); } }