Package ch.entwine.weblounge.cache.impl

Source Code of ch.entwine.weblounge.cache.impl.CacheableHttpServletResponseHeadersTest

/*
*  Weblounge: Web Content Management System
*  Copyright (c) 2003 - 2011 The Weblounge Team
*  http://entwinemedia.com/weblounge
*
*  This program is free software; you can redistribute it and/or
*  modify it under the terms of the GNU Lesser General Public License
*  as published by the Free Software Foundation; either version 2
*  of the License, or (at your option) any later version.
*
*  This program is distributed in the hope that it will be useful,
*  but WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
*  GNU Lesser General Public License for more details.
*
*  You should have received a copy of the GNU Lesser General Public License
*  along with this program; if not, write to the Free Software Foundation
*  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

package ch.entwine.weblounge.cache.impl;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

import ch.entwine.weblounge.common.impl.testing.MockHttpServletResponse;

import org.junit.Before;
import org.junit.Test;

import java.util.List;

import javax.servlet.http.HttpServletResponse;

/**
* Test case for the implementation at {@link CacheableHttpServletResponseHeaders}.
*/
public class CacheableHttpServletResponseHeadersTest {

  /** The response headers to be tested */
  protected CacheableHttpServletResponseHeaders headers = null;

  /** The header name */
  protected String headerName = "Test-Header";

  /** The header name for the multi value */
  protected String multivalueHeaderName = "Test-Multivalue-Header";

  /**
   * @throws java.lang.Exception
   */
  @Before
  public void setUp() throws Exception {
    headers = new CacheableHttpServletResponseHeaders();
    headers.setHeader(headerName, "headervalue");

    // Add single header value
    headers.setHeader(headerName, "testvalue");

    // Add multiple header values
    headers.addHeader(multivalueHeaderName, "testvalue");
    headers.addHeader(multivalueHeaderName, "othertestvalue");
  }

  /**
   * Test method for {@link ch.entwine.weblounge.cache.impl.CacheableHttpServletResponseHeaders#apply(javax.servlet.http.HttpServletResponse)}.
   */
  @Test
  public void testApply() {
    HttpServletResponse response = new MockHttpServletResponse();
    headers.apply(response);
    assertTrue(response.containsHeader(headerName));
    assertTrue(response.containsHeader(multivalueHeaderName));
    assertFalse(response.containsHeader("Non-Existing-Header"));
  }

  /**
   * Test method for {@link ch.entwine.weblounge.cache.impl.CacheableHttpServletResponseHeaders#containsHeader(java.lang.String)}.
   */
  @Test
  public void testContainsHeader() {
    assertTrue(headers.containsHeader(headerName));
    assertTrue(headers.containsHeader(multivalueHeaderName));
  }

  /**
   * Test method for {@link ch.entwine.weblounge.cache.impl.CacheableHttpServletResponseHeaders#getHeaders()}.
   */
  @Test
  public void testGetHeaders() {
    assertTrue(headers.containsHeader(headerName));
    assertTrue(headers.getHeaders().get(headerName) instanceof String);
  }

  /**
   * Test method for {@link ch.entwine.weblounge.cache.impl.CacheableHttpServletResponseHeaders#getHeaders()}.
   */
  @Test
  public void testGetMultivaluedHeaders() {
    assertTrue(headers.containsHeader(multivalueHeaderName));
    assertTrue(headers.getHeaders().get(multivalueHeaderName) instanceof List);
    assertEquals(2, ((List<?>)headers.getHeaders().get(multivalueHeaderName)).size());
  }

  /**
   * Test method for {@link ch.entwine.weblounge.cache.impl.CacheableHttpServletResponseHeaders#size()}.
   */
  @Test
  public void testSize() {
    assertEquals(2, headers.getHeaders().size());
  }

}
TOP

Related Classes of ch.entwine.weblounge.cache.impl.CacheableHttpServletResponseHeadersTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.