@Test public void testDownloadSingleScriptRevision() throws Exception { /* setup mock */ String filter_id = "name:type"; String action = "DOWNLOAD"; when(request.getPathInfo()).thenReturn("?action=" + action + "&filter_id=" + filter_id + "&revision=2"); when(request.getMethod()).thenReturn("GET"); when(request.getParameter("action")).thenReturn(action); when(request.getParameter("filter_id")).thenReturn(filter_id); when(request.getParameter("revision")).thenReturn("2"); /* setup mock DAO */ ZuulFilterDAO dao = mock(ZuulFilterDAOCassandra.class); FilterInfo script = mock(FilterInfo.class); when(dao.getFilterInfoForFilter(filter_id, 2)).thenReturn(script); String code = "code"; when(script.getFilterCode()).thenReturn(code); FilterScriptManagerServlet servlet = getEndpointScriptManagerImplementation(dao); servlet.service(request, response); /* verify the default status is used */ verify(response, never()).setStatus(anyInt()); // verify mime-type verify(response).setContentType("text/plain"); // verify the script is written to the response verify(responseWriter).write("code"); }
@Test public void testDownloadSingleScriptPlusErrorHandlerLatest() throws Exception { /* setup mock */ String filter_id = "name:type"; String action = "DOWNLOAD"; when(request.getPathInfo()).thenReturn("?action=" + action + "&filter_id=" + filter_id); when(request.getMethod()).thenReturn("GET"); when(request.getParameter("action")).thenReturn(action); when(request.getParameter("filter_id")).thenReturn(filter_id); /* setup mock DAO */ ZuulFilterDAO dao = mock(ZuulFilterDAOCassandra.class); FilterInfo script = mock(FilterInfo.class); when(dao.getLatestFilterInfoForFilter(filter_id)).thenReturn(script); when(dao.getFilterInfoForFilter(filter_id, 2)).thenReturn(script); when(script.getFilterCode()).thenReturn("code"); FilterScriptManagerServlet servlet = getEndpointScriptManagerImplementation(dao); servlet.service(request, response); /* verify the default status is used */ verify(response, never()).setStatus(anyInt()); // the writer should not be touched since we need binary, not text verify(responseWriter).write(anyString()); }
@Test public void testDownloadSingleScriptLatest() throws Exception { /* setup mock */ String filter_id = "name:type"; String action = "DOWNLOAD"; when(request.getPathInfo()).thenReturn("?action=" + action + "&filter_id=" + filter_id); when(request.getMethod()).thenReturn("GET"); when(request.getParameter("action")).thenReturn(action); when(request.getParameter("filter_id")).thenReturn(filter_id); /* setup mock DAO */ ZuulFilterDAO dao = mock(ZuulFilterDAOCassandra.class); FilterInfo script = mock(FilterInfo.class); when(dao.getLatestFilterInfoForFilter(filter_id)).thenReturn(script); when(dao.getFilterInfoForFilter(filter_id, 2)).thenReturn(script); when(script.getFilterCode()).thenReturn("code"); FilterScriptManagerServlet servlet = getEndpointScriptManagerImplementation(dao); servlet.service(request, response); /* verify the default status is used */ verify(response, never()).setStatus(anyInt()); // verify mime-type verify(response).setContentType("text/plain"); // verify the script is written to the response verify(responseWriter).write("code"); }
setUsageError(404, "ERROR: No scripts found.", response); } else { if (script.getFilterCode() == null) { response.getWriter().write(script.getFilterCode());
private void writeFilterToDisk(FilterInfo newFilter) throws IOException { String path = DynamicPropertyFactory.getInstance().getStringProperty(ZuulConstants.ZUUL_FILTER_PRE_PATH, null).get(); if (newFilter.getFilterType().equals("post")) { path = DynamicPropertyFactory.getInstance().getStringProperty(ZuulConstants.ZUUL_FILTER_POST_PATH, null).get(); } if (newFilter.getFilterType().equals("route")) { path = DynamicPropertyFactory.getInstance().getStringProperty(ZuulConstants.ZUUL_FILTER_ROUTING_PATH, null).get(); } File f = new File(path, newFilter.getFilterName() + ".groovy"); FileWriter file = new FileWriter(f); BufferedWriter out = new BufferedWriter(file); out.write(newFilter.getFilterCode()); out.close(); file.close(); System.out.println("filter written " + f.getPath()); }
private void writeFilterToDisk(FilterInfo newFilter) throws IOException { String path = DynamicPropertyFactory.getInstance().getStringProperty(ZuulConstants.ZUUL_FILTER_PRE_PATH, null).get(); if (newFilter.getFilterType().equals(FilterType.OUTBOUND)) { path = DynamicPropertyFactory.getInstance().getStringProperty(ZuulConstants.ZUUL_FILTER_POST_PATH, null).get(); } if (newFilter.getFilterType().equals(FilterType.ENDPOINT)) { path = DynamicPropertyFactory.getInstance().getStringProperty(ZuulConstants.ZUUL_FILTER_ROUTING_PATH, null).get(); } File f = new File(path, newFilter.getFilterName() + ".groovy"); FileWriter file = new FileWriter(f); BufferedWriter out = new BufferedWriter(file); out.write(newFilter.getFilterCode()); out.close(); file.close(); System.out.println("filter written " + f.getPath()); }
assertEquals(false, filterInfo.isActive()); assertEquals(now.getTime(), filterInfo.getCreationDate()); assertEquals("script body 1", filterInfo.getFilterCode());
assertEquals(true, filterInfo.isActive()); assertEquals(now.getTime(), filterInfo.getCreationDate()); assertEquals("script body 1", filterInfo.getFilterCode());
assertEquals(true, filterInfo.isActive()); assertEquals(now.getTime(), filterInfo.getCreationDate()); assertEquals("script body 1", filterInfo.getFilterCode());
assertEquals(false, filterInfo.isActive()); assertEquals(now.getTime(), filterInfo.getCreationDate()); assertEquals("script body 1", filterInfo.getFilterCode());
assertEquals(true, filterInfo.isActive()); assertEquals(now.getTime(), filterInfo.getCreationDate()); assertEquals("script body 1", filterInfo.getFilterCode());
assertEquals(true, filterInfo.isActive()); assertEquals(now.getTime(), filterInfo.getCreationDate()); assertEquals("script body 1", filterInfo.getFilterCode());
assertEquals("script body 2a", list.get(1).getFilterCode());
assertEquals("script body 2a", list.get(1).getFilterCode());