@Test(expected = ProcessingException.class) public void testJsNoContainer() throws Exception { List<String> fields = ImmutableList.of("*"); GadgetsHandlerApi.JsRequest request = createJsRequest(null, null, fields, ImmutableList.of("rpc"), null); gadgetHandler.getJs(request); }
@Test(expected = ProcessingException.class) public void testJsNoContainer() throws Exception { List<String> fields = ImmutableList.of("*"); GadgetsHandlerApi.JsRequest request = createJsRequest(null, null, fields, ImmutableList.of("rpc"), null); gadgetHandler.getJs(request); }
@Operation(httpMethods = {"POST", "GET"}, path = "js") public GadgetsHandlerApi.BaseResponse js(BaseRequestItem request) throws ProtocolException { // No need for threading since it is one request GadgetsHandlerApi.BaseResponse response; try { JsRequestData jsRequest = new JsRequestData(request); response = handlerService.getJs(jsRequest); } catch (ProcessingException e) { response = handlerService.createErrorResponse(null, e.getHttpStatusCode(), e.getMessage()); } catch (Exception e) { LOG.log(Level.INFO, "Error fetching JS", e); response = handlerService.createErrorResponse(null, HttpResponse.SC_INTERNAL_SERVER_ERROR, FAILURE_JS); } return response; }
@Test(expected = ProcessingException.class) public void testGetJsDataWithException() throws Exception { List<String> fields = ImmutableList.of("jscontent"); List<String> features = ImmutableList.of("unknown"); Uri resUri = Uri.parse("http://server.com/gadgets/js/foo"); Capture<JsUri> uriCapture = new Capture<JsUri>(); expect(jsUriManager.makeExternJsUri(capture(uriCapture))).andReturn(resUri); expect(jsPipeline.execute(EasyMock.isA(JsRequest.class))).andThrow( new JsException(404, "error")); GadgetsHandlerApi.JsRequest request = createJsRequest(FakeProcessor.SPEC_URL.toString(), CONTAINER, fields, features, null); expect(request.getOnload()).andStubReturn("do this"); expect(request.getContext()).andStubReturn(GadgetsHandlerApi.RenderingContext.CONTAINER); replay(); gadgetHandler.getJs(request); }
@Test(expected = ProcessingException.class) public void testGetJsDataWithException() throws Exception { List<String> fields = ImmutableList.of("jscontent"); List<String> features = ImmutableList.of("unknown"); Uri resUri = Uri.parse("http://server.com/gadgets/js/foo"); Capture<JsUri> uriCapture = new Capture<JsUri>(); expect(jsUriManager.makeExternJsUri(capture(uriCapture))).andReturn(resUri); expect(jsPipeline.execute(EasyMock.isA(JsRequest.class))).andThrow( new JsException(404, "error")); GadgetsHandlerApi.JsRequest request = createJsRequest(FakeProcessor.SPEC_URL.toString(), CONTAINER, fields, features, null); expect(request.getOnload()).andStubReturn("do this"); expect(request.getContext()).andStubReturn(GadgetsHandlerApi.RenderingContext.CONTAINER); replay(); gadgetHandler.getJs(request); }
@Test public void testGetJsUri() throws Exception { List<String> fields = ImmutableList.of("jsurl"); List<String> features = ImmutableList.of("rpc"); Uri resUri = Uri.parse("server.com/gadgets/js/rpc"); GadgetsHandlerApi.JsRequest request = createJsRequest(null, CONTAINER, fields, features, null); Capture<JsUri> uriCapture = new Capture<JsUri>(); expect(jsUriManager.makeExternJsUri(capture(uriCapture))).andReturn(resUri); replay(); GadgetsHandlerApi.JsResponse response = gadgetHandler.getJs(request); JsUri expectedUri = new JsUri(null, false, false, CONTAINER, null, features, null, null, false, false, RenderingContext.GADGET, null, null); assertEquals(expectedUri, uriCapture.getValue()); assertEquals(resUri, response.getJsUrl()); assertNull(response.getJsContent()); assertEquals(timeSource.currentTimeMillis() + HttpUtil.getDefaultTtl() * 1000, response .getExpireTimeMs().longValue()); verify(); }
@Test public void testGetJsUri() throws Exception { List<String> fields = ImmutableList.of("jsurl"); List<String> features = ImmutableList.of("rpc"); Uri resUri = Uri.parse("server.com/gadgets/js/rpc"); GadgetsHandlerApi.JsRequest request = createJsRequest(null, CONTAINER, fields, features, null); Capture<JsUri> uriCapture = new Capture<JsUri>(); expect(jsUriManager.makeExternJsUri(capture(uriCapture))).andReturn(resUri); replay(); GadgetsHandlerApi.JsResponse response = gadgetHandler.getJs(request); JsUri expectedUri = new JsUri(null, false, false, CONTAINER, null, features, null, null, false, false, RenderingContext.GADGET, null, null); assertEquals(expectedUri, uriCapture.getValue()); assertEquals(resUri, response.getJsUrl()); assertNull(response.getJsContent()); assertEquals(timeSource.currentTimeMillis() + HttpUtil.getDefaultTtl() * 1000, response .getExpireTimeMs().longValue()); verify(); }
@Test public void testGetJsData() throws Exception { List<String> fields = ImmutableList.of("jscontent"); List<String> features = ImmutableList.of("rpc"); Uri resUri = Uri.parse("http://server.com/gadgets/js/rpc"); Capture<JsUri> uriCapture = new Capture<JsUri>(); String jsContent = "var a;"; String onload = "do this"; String repository = "v01"; expect(jsUriManager.makeExternJsUri(capture(uriCapture))).andReturn(resUri); expect(jsPipeline.execute(EasyMock.isA(JsRequest.class))).andReturn( new JsResponseBuilder().appendJs(jsContent, "js").setProxyCacheable(true).build()); GadgetsHandlerApi.JsRequest request = createJsRequest(FakeProcessor.SPEC_URL.toString(), CONTAINER, fields, features, repository); expect(request.getOnload()).andStubReturn(onload); expect(request.getContext()).andStubReturn(GadgetsHandlerApi.RenderingContext.CONTAINER); replay(); GadgetsHandlerApi.JsResponse response = gadgetHandler.getJs(request); JsUri expectedUri = new JsUri(null, false, false, CONTAINER, FakeProcessor.SPEC_URL.toString(), features, null, onload, false, false, RenderingContext.CONTAINER, null, repository); assertEquals(expectedUri, uriCapture.getValue()); assertNull(response.getJsUrl()); assertEquals(jsContent, response.getJsContent()); assertEquals(timeSource.currentTimeMillis() + HttpUtil.getDefaultTtl() * 1000, response .getExpireTimeMs().longValue()); verify(); }
@Test public void testGetJsData() throws Exception { List<String> fields = ImmutableList.of("jscontent"); List<String> features = ImmutableList.of("rpc"); Uri resUri = Uri.parse("http://server.com/gadgets/js/rpc"); Capture<JsUri> uriCapture = new Capture<JsUri>(); String jsContent = "var a;"; String onload = "do this"; String repository = "v01"; expect(jsUriManager.makeExternJsUri(capture(uriCapture))).andReturn(resUri); expect(jsPipeline.execute(EasyMock.isA(JsRequest.class))).andReturn( new JsResponseBuilder().appendJs(jsContent, "js").setProxyCacheable(true).build()); GadgetsHandlerApi.JsRequest request = createJsRequest(FakeProcessor.SPEC_URL.toString(), CONTAINER, fields, features, repository); expect(request.getOnload()).andStubReturn(onload); expect(request.getContext()).andStubReturn(GadgetsHandlerApi.RenderingContext.CONTAINER); replay(); GadgetsHandlerApi.JsResponse response = gadgetHandler.getJs(request); JsUri expectedUri = new JsUri(null, false, false, CONTAINER, FakeProcessor.SPEC_URL.toString(), features, null, onload, false, false, RenderingContext.CONTAINER, null, repository); assertEquals(expectedUri, uriCapture.getValue()); assertNull(response.getJsUrl()); assertEquals(jsContent, response.getJsContent()); assertEquals(timeSource.currentTimeMillis() + HttpUtil.getDefaultTtl() * 1000, response .getExpireTimeMs().longValue()); verify(); }