2 * Copyright (c) 2020 Lumina Networks, Inc. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.aaa.web;
10 import static org.junit.Assert.assertEquals;
11 import static org.junit.Assert.assertFalse;
12 import static org.junit.Assert.assertThrows;
13 import static org.junit.Assert.assertTrue;
14 import static org.mockito.Mockito.mock;
16 import javax.servlet.Servlet;
17 import org.junit.Test;
19 public class ServletDetailsTest {
21 public void testDefaultValue() {
22 final var servletDetails = ServletDetails.builder()
23 .servlet(mock(Servlet.class))
24 .addUrlPattern("/test")
25 .addUrlPattern("/another")
27 .putInitParam("key", "value")
30 assertFalse(servletDetails.asyncSupported());
34 public void testAsyncFalse() {
35 final var servletDetails = ServletDetails.builder()
36 .servlet(mock(Servlet.class))
37 .addUrlPattern("/test")
38 .addUrlPattern("/another")
40 .putInitParam("key", "value")
41 .asyncSupported(false)
44 assertFalse(servletDetails.asyncSupported());
48 public void testAsyncTrue() {
49 final var servletDetails = ServletDetails.builder()
50 .servlet(mock(Servlet.class))
51 .addUrlPattern("/test")
52 .addUrlPattern("/another")
54 .putInitParam("key", "value")
58 assertTrue(servletDetails.asyncSupported());
62 public void testEmptyBuilderException() {
63 final var builder = ServletDetails.builder();
64 final var ex = assertThrows(IllegalStateException.class, builder::build);
65 assertEquals("No servlet specified", ex.getMessage());
69 public void testBadServletWithoutAnyURL() {
70 final var builder = ServletDetails.builder().servlet(mock(Servlet.class));
71 final var ex = assertThrows(IllegalStateException.class, builder::build);
72 assertEquals("No urlPattern specified", ex.getMessage());