/**
* Copyright 2012 the contributors
*
* 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.github.mavenplugins.doctest;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import java.util.Map;
import javax.servlet.http.Cookie;
import org.apache.http.HttpResponse;
import org.junit.runner.RunWith;
import com.github.mavenplugins.doctest.DoctestCookieConfig.Store;
@RunWith(DoctestRunner.class)
public class CookieSharedStoreDoctest {
@SimpleDoctest("http://localhost:12345/cookie/name1/value1")
@DoctestCookieConfig(name = "config1", store = Store.NEW)
@DoctestOrder(0)
public void newCookie1(HttpResponse response, Cookie[] cookies) throws Exception {
assertNull(cookies);
}
@SimpleDoctest("http://localhost:12345/cookie/name2/value2")
@DoctestCookieConfig(name = "config1", store = Store.NEW)
@DoctestOrder(0)
public void newCookie2(HttpResponse response, Cookie[] cookies) throws Exception {
assertNull(cookies);
}
@SimpleDoctest("http://localhost:12345/cookie/name3/value3")
@DoctestOrder(1)
public void shareCookie1(HttpResponse response, Cookie[] cookies) throws Exception {
assertNull(cookies);
}
@SimpleDoctest("http://localhost:12345/cookie/name4/value4")
@DoctestOrder(2)
public void shareCookie2(HttpResponse response, Map<String, Object>[] cookies) throws Exception {
assertNotNull(cookies);
assertEquals(1, cookies.length);
assertEquals("name3", cookies[0].get("name"));
assertEquals("value3", cookies[0].get("value"));
}
@SimpleDoctest("http://localhost:12345/cookie/name5/value5")
@DoctestOrder(3)
public void shareCookie3(HttpResponse response, Map<String, Object>[] cookies) throws Exception {
assertNotNull(cookies);
assertEquals(2, cookies.length);
assertEquals("name3", cookies[0].get("name"));
assertEquals("value3", cookies[0].get("value"));
assertEquals("name4", cookies[1].get("name"));
assertEquals("value4", cookies[1].get("value"));
}
@SimpleDoctest("http://localhost:12345/cookie/name6/value6")
@DoctestOrder(1)
@DoctestCookieConfig(name = "config2", store = Store.SHARED)
public void shareOtherCookie1(HttpResponse response, Cookie[] cookies) throws Exception {
assertNull(cookies);
}
@SimpleDoctest("http://localhost:12345/cookie/name7/value7")
@DoctestOrder(2)
@DoctestCookieConfig(name = "config2", store = Store.SHARED)
public void shareOtherCookie2(HttpResponse response, Map<String, Object>[] cookies) throws Exception {
assertNotNull(cookies);
assertEquals(1, cookies.length);
assertEquals("name6", cookies[0].get("name"));
assertEquals("value6", cookies[0].get("value"));
}
}