protected void setAuthorInstance() { serverConfiguration.setAdmin(true); }
protected void setPublicInstance() { serverConfiguration.setAdmin(false); }
private void setupRequest(String uri, boolean parameters, boolean admin) { MockWebContext ctx = ((MockWebContext) MgnlContext.getInstance()); final ServerConfiguration serverConfiguration = new ServerConfiguration(); serverConfiguration.setAdmin(admin); ComponentsTestUtil.setInstance(ServerConfiguration.class, serverConfiguration); ctx.setCurrentURI(uri); HttpServletRequest request = createNiceMock(HttpServletRequest.class); if (!parameters) { expect(request.getMethod()).andReturn("GET"); expect(request.getParameterMap()).andReturn(Collections.EMPTY_MAP); } else { Map parameterMap = new HashMap(); parameterMap.put("kez", "value"); expect(request.getMethod()).andReturn("POST"); expect(request.getParameterMap()).andReturn(parameterMap); ctx.setParameters(parameterMap); } replay(request); ctx.setRequest(request); }
@Test public void testExceptionAndAdditionalMessageGetsFlushedAdminNonPreviewMode() throws IOException { // GIVEN // use non-printWriter on purpose here in order to test this setUp as well. serverConfiguration.setAdmin(true); aggregationState.setPreviewMode(false); // WHEN handler.handleException(ex, renderingContext); // THEN assertThat(appender, receivedLog(withException(equalTo(ex)))); assertThat(out.toString(), containsString(ModeDependentRenderExceptionHandler.RENDER_ERROR_MESSAGE_BEGIN)); assertThat(out.toString(), containsString(ModeDependentRenderExceptionHandler.RENDER_ERROR_MESSAGE_END)); }
@Test public void testLogAlsoUrl() throws IOException { // GIVEN serverConfiguration.setAdmin(true); aggregationState.setPreviewMode(false); aggregationState.setOriginalBrowserURI("originalBrowserURI"); aggregationState.setQueryString("queryString"); // WHEN handler.handleException(ex, renderingContext); // THEN assertThat(out.toString(), containsString(aggregationState.getOriginalBrowserURI())); assertThat(out.toString(), containsString(aggregationState.getQueryString())); }
@Test public void testOnlyExceptionGetsFlushedInPublicMode() throws IOException { // GIVEN serverConfiguration.setAdmin(false); // WHEN handler.handleException(ex, renderingContext); // THEN assertThat(appender, receivedLog(withException(equalTo(ex)))); assertThat(out.toString(), isEmptyString()); }
@Test public void testOnlyExceptionGetsFlushedInAdminPreviewMode() throws IOException { // GIVEN serverConfiguration.setAdmin(true); aggregationState.setPreviewMode(true); // WHEN handler.handleException(ex, renderingContext); // THEN assertThat(appender, receivedLog(withException(equalTo(ex)))); assertThat(out.toString(), isEmptyString()); }