Package com.thoughtworks.inproctester.htmlunit

Source Code of com.thoughtworks.inproctester.htmlunit.CookieParserTest

/*  Copyright 2011 ThoughtWorks Ltd
*
*  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.thoughtworks.inproctester.htmlunit;

import com.gargoylesoftware.htmlunit.util.Cookie;
import org.junit.Test;

import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;

import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.nullValue;

public class CookieParserTest {

    public Date getTestDate(int year, int month, int dayOfMonth, int hourOfDay, int minute, int second) {
        Calendar testDate = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
        testDate.set(year, month - 1, dayOfMonth, hourOfDay, minute, second);
        testDate.set(Calendar.MILLISECOND, 0);
        return testDate.getTime();
    }

    @Test
    public void ShouldparseCookieWithExpiryButNoValueCorrectly() {
        Date testDate = getTestDate(2010, 8, 3, 9, 25, 3);
        final String rawCookie = "USER=; expires=Tue, 03-Aug-2010 09:25:03 GMT; path=/";

        CookieParser cookieParser = new CookieParser();
        Cookie cookie = cookieParser.parseCookie("localhost", rawCookie);

        assertThat(cookie.getName(), is("USER"));
        assertThat(cookie.getValue(), is(""));
        assertThat(cookie.getExpires(), is(testDate));
    }

    @Test
    public void ShouldparseCookieWithExpiryAndAValueCorrectly() {
        Date testDate = getTestDate(2010, 8, 3, 9, 25, 3);
        final String rawCookie = "USER=bob; expires=Tue, 03-Aug-2010 09:25:03 GMT; path=/";

        CookieParser cookieParser = new CookieParser();
        Cookie cookie = cookieParser.parseCookie("localhost", rawCookie);

        assertThat(cookie.getName(), is("USER"));
        assertThat(cookie.getValue(), is("bob"));
        assertThat(cookie.getExpires(), is(testDate));
    }

    @Test
    public void ShouldparseCookieWithoutExpiryAndNoValueCorrectly() {
        final String rawCookie = "USER=; path=/";

        CookieParser cookieParser = new CookieParser();
        Cookie cookie = cookieParser.parseCookie("localhost", rawCookie);

        assertThat(cookie.getName(), is("USER"));
        assertThat(cookie.getValue(), is(""));
        assertThat(cookie.getExpires(), is(nullValue()));
    }

    @Test
    public void ShouldparseCookieWithEqualsInTheValue() {
        final String rawCookie = "DATA=USER=bob&FullName=Bob The Builder; path=/";

        CookieParser cookieParser = new CookieParser();
        Cookie cookie = cookieParser.parseCookie("localhost", rawCookie);

        assertThat(cookie.getName(), is("DATA"));
        assertThat(cookie.getValue(), is("USER=bob&FullName=Bob The Builder"));
        assertThat(cookie.getExpires(), is(nullValue()));
    }
}
TOP

Related Classes of com.thoughtworks.inproctester.htmlunit.CookieParserTest

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.