package org.jooby.internal;
import static org.junit.Assert.assertEquals;
import java.util.concurrent.atomic.AtomicBoolean;
import org.jooby.MediaType;
import org.jooby.Route;
import org.jooby.Route.Filter;
import org.junit.Test;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
public class FallbackRouteTest {
@Test
public void props() throws Throwable {
AtomicBoolean handled = new AtomicBoolean(false);
Filter filter = (req, rsp, chain) -> {
handled.set(true);
};
FallbackRoute route = new FallbackRoute("foo", "GET", "/x", ImmutableList.of(MediaType.json),
filter);
assertEquals(true, route.apply(null));
assertEquals(0, route.attributes().size());
assertEquals(0, route.vars().size());
assertEquals(MediaType.ALL, route.consumes());
assertEquals(false, route.glob());
assertEquals("foo", route.name());
assertEquals("/x", route.path());
assertEquals("/x", route.pattern());
assertEquals(ImmutableList.of(MediaType.json), route.produces());
assertEquals("/x", route.reverse(ImmutableMap.of()));
assertEquals("/x", route.reverse("a", "b"));
assertEquals(Route.Source.BUILTIN, route.source());
route.handle(null, null, null);
assertEquals(true, handled.get());
}
}