You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2006/07/02 17:57:47 UTC
svn commit: r418609 - in /jakarta/httpcomponents/httpcore/trunk/src:
java/org/apache/http/message/ test/org/apache/http/message/
Author: olegk
Date: Sun Jul 2 08:57:46 2006
New Revision: 418609
URL: http://svn.apache.org/viewvc?rev=418609&view=rev
Log:
[HTTPCORE-1] 100% test coverage in the o.a.http.message package
Added:
jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAbstractMessage.java (with props)
jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestBasicMessages.java (with props)
Modified:
jakarta/httpcomponents/httpcore/trunk/src/java/org/apache/http/message/AbstractHttpMessage.java
jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAllMessage.java
Modified: jakarta/httpcomponents/httpcore/trunk/src/java/org/apache/http/message/AbstractHttpMessage.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/src/java/org/apache/http/message/AbstractHttpMessage.java?rev=418609&r1=418608&r2=418609&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/src/java/org/apache/http/message/AbstractHttpMessage.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/src/java/org/apache/http/message/AbstractHttpMessage.java Sun Jul 2 08:57:46 2006
@@ -90,9 +90,6 @@
}
public void setHeader(final Header header) {
- if (header == null) {
- return;
- }
this.headergroup.updateHeader(header);
}
Added: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAbstractMessage.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAbstractMessage.java?rev=418609&view=auto
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAbstractMessage.java (added)
+++ jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAbstractMessage.java Sun Jul 2 08:57:46 2006
@@ -0,0 +1,160 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
+ * Copyright 1999-2006 The Apache Software Foundation
+ *
+ * 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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.http.message;
+
+import org.apache.http.Header;
+import org.apache.http.HttpMessage;
+import org.apache.http.impl.DefaultHttpParams;
+import org.apache.http.mockup.HttpMessageMockup;
+import org.apache.http.params.HttpParams;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+/**
+ * Unit tests for {@link Header}.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ */
+public class TestAbstractMessage extends TestCase {
+
+ public TestAbstractMessage(String testName) {
+ super(testName);
+ }
+
+ public static void main(String args[]) {
+ String[] testCaseName = { TestAbstractMessage.class.getName() };
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ public static Test suite() {
+ return new TestSuite(TestAbstractMessage.class);
+ }
+
+ public void testBasicProperties() {
+ HttpMessage message = new HttpMessageMockup();
+ assertNotNull(message.getParams());
+ assertNotNull(message.headerIterator());
+ Header[] headers = message.getAllHeaders();
+ assertNotNull(headers);
+ assertEquals(0, headers.length);
+ }
+
+ public void testBasicHeaderOps() {
+ HttpMessage message = new HttpMessageMockup();
+ assertFalse(message.containsHeader("whatever"));
+
+ message.addHeader("name", "1");
+ message.addHeader("name", "2");
+
+ Header[] headers = message.getAllHeaders();
+ assertNotNull(headers);
+ assertEquals(2, headers.length);
+
+ Header h = message.getFirstHeader("name");
+ assertNotNull(h);
+ assertEquals("1", h.getValue());
+
+ message.setHeader("name", "3");
+ h = message.getFirstHeader("name");
+ assertNotNull(h);
+ assertEquals("3", h.getValue());
+ h = message.getLastHeader("name");
+ assertNotNull(h);
+ assertEquals("2", h.getValue());
+
+ // Should have no effect
+ message.addHeader(null);
+ message.setHeader(null);
+
+ headers = message.getHeaders("name");
+ assertNotNull(headers);
+ assertEquals(2, headers.length);
+ assertEquals("3", headers[0].getValue());
+ assertEquals("2", headers[1].getValue());
+
+ message.addHeader("name", "4");
+
+ headers[1] = new BasicHeader("name", "5");
+ message.setHeaders(headers);
+
+ headers = message.getHeaders("name");
+ assertNotNull(headers);
+ assertEquals(2, headers.length);
+ assertEquals("3", headers[0].getValue());
+ assertEquals("5", headers[1].getValue());
+
+ message.setHeader("whatever", null);
+ message.removeHeaders("name");
+ message.removeHeaders(null);
+ headers = message.getAllHeaders();
+ assertNotNull(headers);
+ assertEquals(1, headers.length);
+ assertEquals(null, headers[0].getValue());
+
+ message.removeHeader(message.getFirstHeader("whatever"));
+ headers = message.getAllHeaders();
+ assertNotNull(headers);
+ assertEquals(0, headers.length);
+ }
+
+ public void testParameters() {
+ HttpMessage message = new HttpMessageMockup();
+ assertNotNull(message.getParams());
+ HttpParams params = new DefaultHttpParams();
+ message.setParams(params);
+ assertTrue(params == message.getParams());
+ }
+
+ public void testInvalidInput() {
+ HttpMessage message = new HttpMessageMockup();
+ try {
+ message.setParams(null);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ try {
+ message.addHeader(null, null);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ try {
+ message.setHeader(null, null);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ }
+
+}
+
Propchange: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAbstractMessage.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAbstractMessage.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAbstractMessage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAllMessage.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAllMessage.java?rev=418609&r1=418608&r2=418609&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAllMessage.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestAllMessage.java Sun Jul 2 08:57:46 2006
@@ -44,6 +44,8 @@
suite.addTest(TestStatusLine.suite());
suite.addTest(TestRequestLine.suite());
suite.addTest(TestHttpVersion.suite());
+ suite.addTest(TestAbstractMessage.suite());
+ suite.addTest(TestBasicMessages.suite());
return suite;
}
Added: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestBasicMessages.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestBasicMessages.java?rev=418609&view=auto
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestBasicMessages.java (added)
+++ jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestBasicMessages.java Sun Jul 2 08:57:46 2006
@@ -0,0 +1,221 @@
+/*
+ * $HeadURL$
+ * $Revision$
+ * $Date$
+ *
+ * ====================================================================
+ *
+ * Copyright 1999-2006 The Apache Software Foundation
+ *
+ * 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.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.http.message;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.apache.http.Header;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpEntityEnclosingRequest;
+import org.apache.http.HttpRequest;
+import org.apache.http.HttpResponse;
+import org.apache.http.HttpStatus;
+import org.apache.http.HttpVersion;
+import org.apache.http.entity.BasicHttpEntity;
+import org.apache.http.params.HttpProtocolParams;
+
+/**
+ * Unit tests for {@link Header}.
+ *
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
+ */
+public class TestBasicMessages extends TestCase {
+
+ public TestBasicMessages(String testName) {
+ super(testName);
+ }
+
+ public static void main(String args[]) {
+ String[] testCaseName = { TestBasicMessages.class.getName() };
+ junit.textui.TestRunner.main(testCaseName);
+ }
+
+ public static Test suite() {
+ return new TestSuite(TestBasicMessages.class);
+ }
+
+ public void testDefaultResponseConstructors() {
+ HttpResponse response = new BasicHttpResponse();
+ assertNotNull(response.getHttpVersion());
+ assertNotNull(response.getStatusLine());
+ assertEquals(200, response.getStatusLine().getStatusCode());
+
+ response = new BasicHttpResponse(HttpVersion.HTTP_1_0, HttpStatus.SC_BAD_REQUEST);
+ assertNotNull(response.getHttpVersion());
+ assertEquals(HttpVersion.HTTP_1_0, response.getHttpVersion());
+ assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatusLine().getStatusCode());
+
+ response = new BasicHttpResponse(new BasicStatusLine(
+ HttpVersion.HTTP_1_1, HttpStatus.SC_INTERNAL_SERVER_ERROR, "whatever"));
+ assertNotNull(response.getHttpVersion());
+ assertEquals(HttpVersion.HTTP_1_1, response.getHttpVersion());
+ assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.getStatusLine().getStatusCode());
+ assertEquals("whatever", response.getStatusLine().getReasonPhrase());
+ }
+
+ public void testSetResponseStatus() {
+ HttpResponse response = new BasicHttpResponse();
+ response.setStatusCode(200);
+ assertNotNull(response.getHttpVersion());
+ assertNotNull(response.getStatusLine());
+ assertEquals(200, response.getStatusLine().getStatusCode());
+
+ response = new BasicHttpResponse();
+ response.setStatusLine(HttpVersion.HTTP_1_0, HttpStatus.SC_BAD_REQUEST);
+ assertNotNull(response.getHttpVersion());
+ assertEquals(HttpVersion.HTTP_1_0, response.getHttpVersion());
+ assertEquals(HttpStatus.SC_BAD_REQUEST, response.getStatusLine().getStatusCode());
+
+ response = new BasicHttpResponse();
+ response.setStatusLine(new BasicStatusLine(
+ HttpVersion.HTTP_1_1, HttpStatus.SC_INTERNAL_SERVER_ERROR, "whatever"));
+ assertNotNull(response.getHttpVersion());
+ assertEquals(HttpVersion.HTTP_1_1, response.getHttpVersion());
+ assertEquals(HttpStatus.SC_INTERNAL_SERVER_ERROR, response.getStatusLine().getStatusCode());
+ assertEquals("whatever", response.getStatusLine().getReasonPhrase());
+
+ response = new BasicHttpResponse();
+ try {
+ response.setStatusCode(-23);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ response = new BasicHttpResponse();
+ try {
+ response.setStatusLine(null, 200);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ response = new BasicHttpResponse();
+ try {
+ response.setStatusLine(null);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ }
+
+ public void testSetResponseEntity() {
+ BasicHttpResponse response = new BasicHttpResponse();
+ assertNull(response.getEntity());
+
+ HttpEntity entity = new BasicHttpEntity();
+ response.setEntity(entity);
+ assertTrue(entity == response.getEntity());
+ }
+
+ public void testDefaultRequestConstructors() {
+ HttpRequest request = new BasicHttpRequest("WHATEVER", "/");
+ assertNotNull(request.getHttpVersion());
+ assertEquals("WHATEVER", request.getRequestLine().getMethod());
+ assertEquals("/", request.getRequestLine().getUri());
+
+ request = new BasicHttpRequest("GET", "/", HttpVersion.HTTP_1_0);
+ assertEquals(HttpVersion.HTTP_1_0, request.getHttpVersion());
+ assertEquals("GET", request.getRequestLine().getMethod());
+ assertEquals("/", request.getRequestLine().getUri());
+
+ try {
+ new BasicHttpRequest(null, null);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ try {
+ new BasicHttpRequest("GET", null);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ try {
+ new BasicHttpRequest(null);
+ fail("IllegalArgumentException should have been thrown");
+ } catch (IllegalArgumentException ex) {
+ // expected
+ }
+ }
+
+ public void testDefaultEntityEnclosingRequestConstructors() {
+ BasicHttpEntityEnclosingRequest request = new BasicHttpEntityEnclosingRequest("GET", "/");
+ assertNotNull(request.getHttpVersion());
+ assertEquals("GET", request.getRequestLine().getMethod());
+ assertEquals("/", request.getRequestLine().getUri());
+
+ request = new BasicHttpEntityEnclosingRequest("GET", "/", HttpVersion.HTTP_1_0);
+ assertEquals(HttpVersion.HTTP_1_0, request.getHttpVersion());
+ assertEquals("GET", request.getRequestLine().getMethod());
+ assertEquals("/", request.getRequestLine().getUri());
+ }
+
+ public void testSetRequestEntity() {
+ BasicHttpEntityEnclosingRequest request = new BasicHttpEntityEnclosingRequest("GET", "/");
+ assertNull(request.getEntity());
+
+ HttpEntity entity = new BasicHttpEntity();
+ request.setEntity(entity);
+ assertTrue(entity == request.getEntity());
+ }
+
+ public void testExpectContinue() {
+ BasicHttpEntityEnclosingRequest request = new BasicHttpEntityEnclosingRequest("GET", "/");
+ assertFalse(request.expectContinue());
+ request.getParams().setBooleanParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, true);
+ assertFalse(request.expectContinue());
+ request.addHeader("Expect", "100-Continue");
+ assertTrue(request.expectContinue());
+ }
+
+ public void testDefaultGetMethodConstructor() {
+ HttpRequest request = new HttpGet("/");
+ assertEquals("/", request.getRequestLine().getUri());
+ assertEquals("GET", request.getRequestLine().getMethod());
+ assertFalse(request instanceof HttpEntityEnclosingRequest);
+ }
+
+ public void testDefaultPostMethodConstructor() {
+ HttpRequest request = new HttpPost("/");
+ assertEquals("/", request.getRequestLine().getUri());
+ assertEquals("POST", request.getRequestLine().getMethod());
+ assertTrue(request instanceof HttpEntityEnclosingRequest);
+ }
+
+ public void testDefaultHeadMethodConstructor() {
+ HttpRequest request = new HttpHead("/");
+ assertEquals("/", request.getRequestLine().getUri());
+ assertEquals("HEAD", request.getRequestLine().getMethod());
+ assertFalse(request instanceof HttpEntityEnclosingRequest);
+ }
+
+}
+
Propchange: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestBasicMessages.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestBasicMessages.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: jakarta/httpcomponents/httpcore/trunk/src/test/org/apache/http/message/TestBasicMessages.java
------------------------------------------------------------------------------
svn:mime-type = text/plain