@Test public void shouldPingServer() throws IOException { final HostnamePort hostURL = new HostnamePort( hostname, server.getLocalPort() ); final Map<String,String> udcFields = new HashMap<>(); udcFields.put( ID, EXPECTED_STORE_ID ); udcFields.put( UdcConstants.VERSION, EXPECTED_KERNEL_VERSION ); Pinger p = new Pinger( hostURL, new TestUdcCollector( udcFields ) ); p.ping(); Map<String,String> actualQueryMap = handler.getQueryMap(); assertThat( actualQueryMap, notNullValue() ); assertThat( actualQueryMap.get( ID ), is( EXPECTED_STORE_ID ) ); }
@Override @After public void shutDown() throws Exception { if ( httpclient != null ) { httpclient.close(); } if ( server != null ) { server.shutdown( 0, TimeUnit.MILLISECONDS ); } }
public void shutdown(final long gracePeriod, final TimeUnit timeUnit) { stop(); if (gracePeriod > 0) { try { awaitTermination(gracePeriod, timeUnit); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } } final List<Runnable> runnables = this.workerExecutorService.shutdownNow(); for (Runnable runnable: runnables) { if (runnable instanceof Worker) { final Worker worker = (Worker) runnable; final HttpServerConnection conn = worker.getConnection(); try { conn.shutdown(); } catch (IOException ex) { this.exceptionLogger.log(ex); } } } }
@Override public void close() throws IOException { if (original != null) { LOGGER.log(Level.INFO, () -> "stopping MockUpdateCenter on http://" + server.getInetAddress().getHostAddress() + ":" + server.getLocalPort() + "/update-center.json"); HttpServer s = server; server = null; // make sure this.server holds a server that is guaranteed to be up s.shutdown(5, TimeUnit.SECONDS); /* TODO only if RemoteController etc.: injector.getInstance(Jenkins.class).runScript("DownloadService.signatureCheck = true; Jenkins.instance.updateCenter.sites.replaceBy([new UpdateSite(UpdateCenter.ID_DEFAULT, '%s')])", original); */ original = null; } } }
public void stop() { if (null != server) { server.stop(); server = null; } }
server.start(); } catch (IOException x) { LOGGER.log(Level.WARNING, "cannot start mock update center", x); String override = "http://" + server.getInetAddress().getHostAddress() + ":" + server.getLocalPort() + "/update-center.json"; LOGGER.log(Level.INFO, "replacing update site {0} with {1}", new Object[] {original, override}); jenkins.runScript("DownloadService.signatureCheck = false; Jenkins.instance.updateCenter.sites.replaceBy([new UpdateSite(UpdateCenter.ID_DEFAULT, '%s')])", override);
public String getUrl() { try { if (server==null) { // guess the URL, in those cases where the server is not started yet return new URL("http", getLocalAddress().getHostAddress(), basePort, "").toExternalForm(); } return new URL("http", server.getInetAddress().getHostAddress(), server.getLocalPort(), "").toExternalForm(); } catch (MalformedURLException e) { throw Exceptions.propagate(e); } }
public void main(int port) throws Exception { String docRoot = "/tmp"; SocketConfig socketConfig = SocketConfig.custom() .setSoTimeout(15000) .setTcpNoDelay(true) .build(); SSLContext sslcontext = null; server = ServerBootstrap.bootstrap() .setListenerPort(port) .setServerInfo("Test/1.1") .setSocketConfig(socketConfig) .setSslContext(sslcontext) .registerHandler("*", new HttpFileHandler(docRoot)) .create(); try { server.start(); server.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS); } catch (Exception e) { return; } Runtime.getRuntime().addShutdownHook(new Thread() { @Override public void run() { server.shutdown(5, TimeUnit.SECONDS); } }); }
return new HttpServer( this.listenerPort > 0 ? this.listenerPort : 0, this.localAddress,
public TestHttpServer start() { checkNotStarted(); HttpProcessor httpProcessor = new ImmutableHttpProcessor(requestInterceptors, responseInterceptors); int port = Networking.nextAvailablePort(basePort); ServerBootstrap bootstrap = ServerBootstrap.bootstrap() .setListenerPort(port) .setLocalAddress(getLocalAddress()) .setHttpProcessor(httpProcessor); for (HandlerTuple tuple : handlers) { bootstrap.registerHandler(tuple.path, tuple.handler); } server = bootstrap.create(); try { server.start(); } catch (IOException e) { throw Exceptions.propagate(e); } return this; }
public void shutdown(final long gracePeriod, final TimeUnit timeUnit) { stop(); if (gracePeriod > 0) { try { awaitTermination(gracePeriod, timeUnit); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } } final List<Runnable> runnables = this.workerExecutorService.shutdownNow(); for (Runnable runnable: runnables) { if (runnable instanceof Worker) { final Worker worker = (Worker) runnable; final HttpServerConnection conn = worker.getConnection(); try { conn.shutdown(); } catch (IOException ex) { this.exceptionLogger.log(ex); } } } }
@Override public void run() { System.out.println("Stopping HTTP Server..."); server.stop(); } }.start();
private String getLocalServerHostAndPort() { return new StringBuilder() .append(localServer.getInetAddress().getHostName()) .append(":") .append(localServer.getLocalPort()) .toString(); }
return new HttpServer( this.listenerPort > 0 ? this.listenerPort : 0, this.localAddress,
@Before public void setUp() throws Exception { localServer = ServerBootstrap.bootstrap() .setHttpProcessor(getHttpProcessor()) .registerHandler("/", new BasicValidationHandler("GET", null, null, null)) .registerHandler("/withPath", new BasicValidationHandler("GET", null, null, null)) .registerHandler("/with/nested/path", new BasicValidationHandler("GET", null, null, null)) .create(); localServer.start(); }
public void shutdown(final long gracePeriod, final TimeUnit timeUnit) { stop(); if (gracePeriod > 0) { try { awaitTermination(gracePeriod, timeUnit); } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } } final List<Runnable> runnables = this.workerExecutorService.shutdownNow(); for (Runnable runnable: runnables) { if (runnable instanceof Worker) { final Worker worker = (Worker) runnable; final HttpServerConnection conn = worker.getConnection(); try { conn.shutdown(); } catch (IOException ex) { this.exceptionLogger.log(ex); } } } }
@After public void tearDown() { if (localServer != null) { localServer.stop(); } }
return new HttpServer( this.listenerPort > 0 ? this.listenerPort : 0, this.localAddress,
@Test public void shouldIncludePingCountInURI() throws IOException { final int EXPECTED_PING_COUNT = 16; final HostnamePort hostURL = new HostnamePort( hostname, server.getLocalPort() ); final Map<String,String> udcFields = new HashMap<>(); Pinger p = new Pinger( hostURL, new TestUdcCollector( udcFields ) ); for ( int i = 0; i < EXPECTED_PING_COUNT; i++ ) { p.ping(); } assertThat( p.getPingCount(), is( equalTo( EXPECTED_PING_COUNT ) ) ); Map<String,String> actualQueryMap = handler.getQueryMap(); assertThat( actualQueryMap.get( UdcConstants.PING ), is( Integer.toString( EXPECTED_PING_COUNT ) ) ); }
@Override public void run() { server.shutdown(5, TimeUnit.SECONDS); } });