package org.jooby.undertow; import static org.easymock.EasyMock.expect; import org.jooby.internal.undertow.UndertowRequest; import org.jooby.test.MockUnit; import org.jooby.test.MockUnit.Block; import org.junit.Test; import org.junit.runner.RunWith; import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import com.typesafe.config.Config; import io.undertow.server.HttpServerExchange; import io.undertow.util.HeaderMap; @RunWith(PowerMockRunner.class) @PrepareForTest({UndertowRequest.class, HttpServerExchange.class, HeaderMap.class }) public class UndertowRequestTest { private Block form = unit -> { HttpServerExchange exchange = unit.get(HttpServerExchange.class); expect(exchange.getRequestPath()).andReturn("/"); }; @Test public void newObject() throws Exception { new MockUnit(HttpServerExchange.class, Config.class) .expect(form) .run(unit -> { new UndertowRequest(unit.get(HttpServerExchange.class), unit.get(Config.class)); }); } @Test(expected = UnsupportedOperationException.class) public void unknownUpgrade() throws Exception { new MockUnit(HttpServerExchange.class, Config.class) .expect(form) .run(unit -> { new UndertowRequest(unit.get(HttpServerExchange.class), unit.get(Config.class)) .upgrade(Object.class); }); } }