/** * Copyright (c) 2013-2016, The SeedStack authors <http://seedstack.org> * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.seedstack.seed.undertow.internal; import io.undertow.Undertow; import io.undertow.server.HttpHandler; import io.undertow.servlet.api.DeploymentManager; import org.assertj.core.api.Assertions; import org.junit.Test; import org.mockito.Mockito; import org.seedstack.seed.crypto.CryptoConfig; import org.seedstack.seed.crypto.spi.SSLProvider; import org.seedstack.seed.undertow.UndertowConfig; import org.seedstack.seed.web.WebConfig; import java.util.Optional; import static org.mockito.Mockito.when; /** * Tests the server factory which configure an Undertow server. */ public class ServerFactoryTest { /** * Tests the undertow creation from a ServerConfig. */ @Test public void testServerFactory() throws Exception { WebConfig.ServerConfig serverConfig = new WebConfig.ServerConfig(); UndertowConfig undertowConfig = new UndertowConfig(); DeploymentManager manager = Mockito.mock(DeploymentManager.class); HttpHandler httpHandler = Mockito.mock(HttpHandler.class); SSLProvider sslProvider = Mockito.mock(SSLProvider.class); when(sslProvider.sslConfig()).thenReturn(new CryptoConfig.SSLConfig()); when(sslProvider.sslContext()).thenReturn(Optional.empty()); when(manager.start()).thenReturn(httpHandler); Undertow server = new ServerFactory().createServer(manager, serverConfig, undertowConfig, null); Assertions.assertThat(server).isNotNull(); } }