/* * Copyright 2002-2014 the original author or authors. * * 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 org.springframework.http; import junit.framework.TestCase; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; /** * @author Arjen Poutsma * @author Roy Clarkson */ public class HttpEntityTests extends TestCase { public void testNoHeaders() { String body = "foo"; HttpEntity<String> entity = new HttpEntity<String>(body); assertSame(body, entity.getBody()); assertTrue(entity.getHeaders().isEmpty()); } public void testHttpHeaders() { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.TEXT_PLAIN); String body = "foo"; HttpEntity<String> entity = new HttpEntity<String>(body, headers); assertEquals(body, entity.getBody()); assertEquals(MediaType.TEXT_PLAIN, entity.getHeaders().getContentType()); assertEquals("text/plain", entity.getHeaders().getFirst("Content-Type")); } public void testMultiValueMap() { MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>(); map.set("Content-Type", "text/plain"); String body = "foo"; HttpEntity<String> entity = new HttpEntity<String>(body, map); assertEquals(body, entity.getBody()); assertEquals(MediaType.TEXT_PLAIN, entity.getHeaders().getContentType()); assertEquals("text/plain", entity.getHeaders().getFirst("Content-Type")); } public void testEquals() { MultiValueMap<String, String> map1 = new LinkedMultiValueMap<String, String>(); map1.set("Content-Type", "text/plain"); MultiValueMap<String, String> map2 = new LinkedMultiValueMap<String, String>(); map2.set("Content-Type", "application/json"); assertTrue(new HttpEntity<Object>().equals(new HttpEntity<Object>())); assertFalse(new HttpEntity<Object>(map1).equals(new HttpEntity<Object>())); assertFalse(new HttpEntity<Object>().equals(new HttpEntity<Object>(map2))); assertTrue(new HttpEntity<Object>(map1).equals(new HttpEntity<Object>(map1))); assertFalse(new HttpEntity<Object>(map1).equals(new HttpEntity<Object>(map2))); assertTrue(new HttpEntity<String>(null, null).equals(new HttpEntity<String>(null, null))); assertFalse(new HttpEntity<String>("foo", null).equals(new HttpEntity<String>(null, null))); assertFalse(new HttpEntity<String>(null, null).equals(new HttpEntity<String>("bar", null))); assertTrue(new HttpEntity<String>("foo", map1).equals(new HttpEntity<String>("foo", map1))); assertFalse(new HttpEntity<String>("foo", map1).equals(new HttpEntity<String>("bar", map1))); } public void testResponseEntity() { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.TEXT_PLAIN); String body = "foo"; ResponseEntity<String> entity = new ResponseEntity<String>(body, headers, HttpStatus.OK); assertEquals(body, entity.getBody()); assertEquals(MediaType.TEXT_PLAIN, entity.getHeaders().getContentType()); assertEquals("text/plain", entity.getHeaders().getFirst("Content-Type")); assertEquals("text/plain", entity.getHeaders().getFirst("Content-Type")); } }