public static boolean getResponseVolatile() { return ProxyServer.getResponseVolatile(); }
@Override public void start() { try { getProperties(); server.setPort(proxyPort); server.start(requestTimeout); ProxyServer.setResponseVolatile(responseVolatile); ProxyServer.setShouldKeepSslConnectionAlive(shouldKeepSslConnectionAlive); server.setCaptureContent(true); server.setCaptureBinaryContent(true); server.addRequestInterceptor(requestInterceptor); server.addResponseInterceptor(responseInterceptor); } catch (Exception e) { throw new ProxyCannotBeStartedException("Starting the proxy server failed.", e); } }
public static boolean getShouldKeepSslConnectionAlive() { return ProxyServer.getShouldKeepSslConnectionAlive(); }
@Test public void testStartShouldStartTheProxySuccessfully() throws Exception { // GIVEN int requestTimeout = 30000; int proxyPort = 9092; propertiesDTO = new ProxyPropertyDTO(proxyPort, requestTimeout, true, false); given(configurationAccess.getProperties()).willReturn(propertiesDTO); // WHEN underTest.start(); // THEN Mockito.verify(server).setPort(proxyPort); Mockito.verify(server).start(requestTimeout); Mockito.verify(server).addRequestInterceptor(loggingRequestInterceptor); Mockito.verify(server).addResponseInterceptor(loggingResponseInterceptor); Assert.assertTrue(ProxyServer.getResponseVolatile(), "Response volatility status was not set properly."); }
@Test public final void testDoGetShouldTurnResponseVolatilityOff() throws ServletException, IOException { // GIVEN in setup ProxyServer.setResponseVolatile(true); // WHEN underTest.doGet(request, response); // THEN Assert.assertTrue(!ProxyServer.getResponseVolatile()); }
/** * Global setter of the proxy behaviour. When it is volatile=true, * the response of the messages will be volatile (can be changed), otherwise not. * Note1: Requests are always volatile. * Note2: This global setting can be overwritten per message base, using the request interceptors. * * @param responseVolatility must be either true (volatile) or false (not volatile). */ public static void setResponseVolatile(boolean responseVolatility) { ProxyServer.setResponseVolatile(responseVolatility); }
@Test(expectedExceptions = ProxyCannotBeStartedException.class) public void testStartShouldThrowExceptionWhenTheProxyCannotBeStarted() throws Exception { // GIVEN int requestTimeout = 30000; propertiesDTO = new ProxyPropertyDTO(0, requestTimeout, false, false); given(configurationAccess.getProperties()).willReturn(propertiesDTO); Mockito.doThrow(Exception.class).when(server).start(requestTimeout); // WHEN underTest.start(); // THEN exception thrown }
@Test public final void testDoGetShouldTurnResponseVolatilityOn() throws ServletException, IOException { // GIVEN in setup ProxyServer.setResponseVolatile(false); // WHEN underTest.doGet(request, response); // THEN Assert.assertTrue(ProxyServer.getResponseVolatile()); }
@Override protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { logger.info(urlAccessLogMessageAssembler.assembleMessage(req, "Response Message Volatility: OFF")); ProxyServer.setResponseVolatile(false); }
@Override protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { logger.info(urlAccessLogMessageAssembler.assembleMessage(req, "Response Message Volatility: ON")); ProxyServer.setResponseVolatile(true); }
@Override protected void doGet(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("application/json"); PrintWriter out = resp.getWriter(); boolean responseVolatility = ProxyServer.getResponseVolatile(); out.write("{\"responseVolatility\":" + responseVolatility + "}"); out.flush(); out.close(); }
@Test public void doPostShouldCallDoGet() throws ServletException, IOException { //GIVEN request and response given(resp.getWriter()).willReturn(printWriter); ProxyServer.setResponseVolatile(true); //WHEN underTest.doPost(req, resp); //THEN verify(resp).setContentType("application/json"); verify(printWriter).write("{\"responseVolatility\":true}"); }
@Test public void doGetShouldWriteJsonMessage() throws ServletException, IOException { //GIVEN request and response given(resp.getWriter()).willReturn(printWriter); ProxyServer.setResponseVolatile(true); //WHEN underTest.doGet(req, resp); //THEN verify(resp).setContentType("application/json"); verify(printWriter).write("{\"responseVolatility\":true}"); }