@Test public void testRouteProcess() { FilterProcessor processor = new FilterProcessor(); processor = spy(processor); try { processor.route(); verify(processor, times(1)).runFilters("route"); } catch (Throwable e) { e.printStackTrace(); } }
@Test public void testProcessZuulFilter() { FilterProcessor processor = new FilterProcessor(); processor = spy(processor); try { processor.processZuulFilter(filter); verify(processor, times(1)).processZuulFilter(filter); verify(filter, times(1)).runFilter(); } catch (Throwable e) { e.printStackTrace(); } }
@Test public void testErrorException() { FilterProcessor processor = new FilterProcessor(); processor = spy(processor); try { when(processor.runFilters("error")).thenThrow(new Exception("test")); when(filter.filterType()).thenReturn("post"); processor.error(); assertTrue(true); } catch (Throwable e) { assertFalse(true); } }
@Test public void testProcessZuulFilterException() { FilterProcessor processor = new FilterProcessor(); processor = spy(processor); try { ZuulFilterResult r = new ZuulFilterResult(ExecutionStatus.FAILED); r.setException(new Exception("Test")); when(filter.runFilter()).thenReturn(r); when(filter.filterType()).thenReturn("post"); processor.processZuulFilter(filter); assertFalse(true); } catch (Throwable e) { assertEquals(e.getCause().getMessage(), "Test"); } }
@Test public void testErrorHttpException() { HttpServletRequest request = mock(HttpServletRequest.class); HttpServletResponse response = mock(HttpServletResponse.class); RequestContext.getCurrentContext().setRequest(request); RequestContext.getCurrentContext().setResponse(response); FilterProcessor processor = new FilterProcessor(); processor = spy(processor); try { when(processor.runFilters("error")).thenThrow(new ZuulException("test", 400, "test")); when(filter.filterType()).thenReturn("post"); processor.error(); assertTrue(true); } catch (Throwable e) { e.printStackTrace(); assertFalse(true); } }
@Test public void testPostProcessHttpException() { HttpServletRequest request = mock(HttpServletRequest.class); HttpServletResponse response = mock(HttpServletResponse.class); RequestContext.getCurrentContext().setRequest(request); RequestContext.getCurrentContext().setResponse(response); FilterProcessor processor = new FilterProcessor(); processor = spy(processor); try { when(processor.runFilters("post")).thenThrow(new ZuulException("test", 400, "test")); when(filter.filterType()).thenReturn("post"); processor.postRoute(); } catch (ZuulException e) { assertEquals(e.getMessage(), "test"); assertEquals(e.nStatusCode, 400); } catch (Throwable e) { e.printStackTrace(); assertFalse(true); } }