proxied.setResize(width, height, null, true); List<Uri> updatedUri = proxyUriManager.make(Lists.newArrayList(proxied), featureConfig.getExpires());
@Test public void verifyAddedParamsChained() throws Exception { String host = "host.com"; String path = "/proxy/" + DefaultProxyUriManager.CHAINED_PARAMS_TOKEN + "/path"; ProxyUriManager.Versioner versioner = makeVersioner(null, "version"); DefaultProxyUriManager manager = makeManager(host, path, versioner); List<ProxyUri> proxyUris = Lists.newLinkedList(); ProxyUri pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_1); pUri.setExtensionParams(ImmutableMap.<String, String>of("test", "1")); pUri.setResize(100, 10, 90, true); proxyUris.add(pUri); List<Uri> uris = manager.make(proxyUris, null); assertEquals(1, uris.size()); verifyChainedUri(RESOURCE_1, uris.get(0), false, true, null, false, host, path); // Verify added param: assertEquals("/proxy/container=container&gadget=http%3A%2F%2Fexample.com%2Fgadget.xml" + "&debug=0&nocache=1&v=version&test=1&resize_h=10&resize_w=100&resize_q=90&no_expand=1" + "/path/http://example.com/one.dat", uris.get(0).getPath()); }
@Test public void verifyAddedParamsChained() throws Exception { String host = "host.com"; String path = "/proxy/" + DefaultProxyUriManager.CHAINED_PARAMS_TOKEN + "/path"; ProxyUriManager.Versioner versioner = makeVersioner(null, "version"); DefaultProxyUriManager manager = makeManager(host, path, versioner); List<ProxyUri> proxyUris = Lists.newLinkedList(); ProxyUri pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_1); pUri.setExtensionParams(ImmutableMap.<String, String>of("test", "1")); pUri.setResize(100, 10, 90, true); proxyUris.add(pUri); List<Uri> uris = manager.make(proxyUris, null); assertEquals(1, uris.size()); verifyChainedUri(RESOURCE_1, uris.get(0), false, true, null, false, host, path); // Verify added param: assertEquals("/proxy/container=container&gadget=http%3A%2F%2Fexample.com%2Fgadget.xml" + "&debug=0&nocache=1&v=version&test=1&resize_h=10&resize_w=100&resize_q=90&no_expand=1" + "/path/http://example.com/one.dat", uris.get(0).getPath()); }
@Test public void verifyAddedParamsQuery() throws Exception { String host = "host.com"; String path = "/proxy/path"; ProxyUriManager.Versioner versioner = makeVersioner(null, "version1", "version2"); DefaultProxyUriManager manager = makeManager(host, path, versioner); List<ProxyUri> proxyUris = Lists.newLinkedList(); ProxyUri pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_1); pUri.setResize(100, 10, 90, true); proxyUris.add(pUri); pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_2); pUri.setResize(null, 10, null, false); proxyUris.add(pUri); List<Uri> uris = manager.make(proxyUris, null); assertEquals(2, uris.size()); verifyQueryUriWithRefresh(RESOURCE_1, uris.get(0), false, true, "version1", null, host, path); // Verify added param: assertEquals("100", uris.get(0).getQueryParameter("resize_w")); assertEquals("10", uris.get(0).getQueryParameter("resize_h")); assertEquals("90", uris.get(0).getQueryParameter("resize_q")); assertEquals("1", uris.get(0).getQueryParameter("no_expand")); assertEquals(null, uris.get(1).getQueryParameter("resize_w")); assertEquals("10", uris.get(1).getQueryParameter("resize_h")); assertEquals(null, uris.get(1).getQueryParameter("resize_q")); assertEquals(null, uris.get(1).getQueryParameter("no_expand")); }
@Test public void testCreateProxyUri() throws Exception { GadgetsHandlerApi.ImageParams image = mock(GadgetsHandlerApi.ImageParams.class); expect(image.getDoNotExpand()).andStubReturn(true); expect(image.getHeight()).andStubReturn(120); expect(image.getWidth()).andStubReturn(210); expect(image.getQuality()).andStubReturn(77); GadgetsHandlerApi.ProxyRequest request = mock(GadgetsHandlerApi.ProxyRequest.class); expect(request.getContainer()).andStubReturn(CONTAINER); expect(request.getUrl()).andStubReturn(RESOURCE); expect(request.getRefresh()).andStubReturn(new Integer(333)); expect(request.getDebug()).andStubReturn(true); expect(request.getFallbackUrl()).andStubReturn(FALLBACK); expect(request.getGadget()).andStubReturn(FakeProcessor.SPEC_URL.toString()); expect(request.getIgnoreCache()).andStubReturn(true); expect(request.getImageParams()).andStubReturn(image); expect(request.getRewriteMimeType()).andStubReturn("image/png"); expect(request.getSanitize()).andStubReturn(true); replay(); ProxyUri pUri = gadgetHandler.createProxyUri(request); ProxyUri expectedUri = new ProxyUri(333, true, true, CONTAINER, FakeProcessor.SPEC_URL.toString(), RESOURCE); expectedUri.setRewriteMimeType("image/png").setSanitizeContent(true); expectedUri.setResize(210, 120, 77, true).setFallbackUrl(FALLBACK); assertEquals(pUri, expectedUri); verify(); }
@Test public void testCreateProxyUri() throws Exception { GadgetsHandlerApi.ImageParams image = mock(GadgetsHandlerApi.ImageParams.class); expect(image.getDoNotExpand()).andStubReturn(true); expect(image.getHeight()).andStubReturn(120); expect(image.getWidth()).andStubReturn(210); expect(image.getQuality()).andStubReturn(77); GadgetsHandlerApi.ProxyRequest request = mock(GadgetsHandlerApi.ProxyRequest.class); expect(request.getContainer()).andStubReturn(CONTAINER); expect(request.getUrl()).andStubReturn(RESOURCE); expect(request.getRefresh()).andStubReturn(new Integer(333)); expect(request.getDebug()).andStubReturn(true); expect(request.getFallbackUrl()).andStubReturn(FALLBACK); expect(request.getGadget()).andStubReturn(FakeProcessor.SPEC_URL.toString()); expect(request.getIgnoreCache()).andStubReturn(true); expect(request.getImageParams()).andStubReturn(image); expect(request.getRewriteMimeType()).andStubReturn("image/png"); expect(request.getSanitize()).andStubReturn(true); replay(); ProxyUri pUri = gadgetHandler.createProxyUri(request); ProxyUri expectedUri = new ProxyUri(333, true, true, CONTAINER, FakeProcessor.SPEC_URL.toString(), RESOURCE); expectedUri.setRewriteMimeType("image/png").setSanitizeContent(true); expectedUri.setResize(210, 120, 77, true).setFallbackUrl(FALLBACK); assertEquals(pUri, expectedUri); verify(); }
@Test public void verifyAddedParamsQuery() throws Exception { String host = "host.com"; String path = "/proxy/path"; ProxyUriManager.Versioner versioner = makeVersioner(null, "version1", "version2"); DefaultProxyUriManager manager = makeManager(host, path, versioner); List<ProxyUri> proxyUris = Lists.newLinkedList(); ProxyUri pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_1); pUri.setResize(100, 10, 90, true); proxyUris.add(pUri); pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_2); pUri.setResize(null, 10, null, false); proxyUris.add(pUri); List<Uri> uris = manager.make(proxyUris, null); assertEquals(2, uris.size()); verifyQueryUriWithRefresh(RESOURCE_1, uris.get(0), false, true, "version1", null, host, path); // Verify added param: assertEquals("100", uris.get(0).getQueryParameter("resize_w")); assertEquals("10", uris.get(0).getQueryParameter("resize_h")); assertEquals("90", uris.get(0).getQueryParameter("resize_q")); assertEquals("1", uris.get(0).getQueryParameter("no_expand")); assertEquals(null, uris.get(1).getQueryParameter("resize_w")); assertEquals("10", uris.get(1).getQueryParameter("resize_h")); assertEquals(null, uris.get(1).getQueryParameter("resize_q")); assertEquals(null, uris.get(1).getQueryParameter("no_expand")); }
@Test public void verifyAddedParamsQuery() throws Exception { String host = "host.com"; String path = "/proxy/path"; ProxyUriManager.Versioner versioner = makeVersioner(null, "version1", "version2"); DefaultProxyUriManager manager = makeManager(host, path, versioner); List<ProxyUri> proxyUris = Lists.newLinkedList(); ProxyUri pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_1); pUri.setResize(100, 10, 90, true); proxyUris.add(pUri); pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_2); pUri.setResize(null, 10, null, false); proxyUris.add(pUri); List<Uri> uris = manager.make(proxyUris, null); assertEquals(2, uris.size()); verifyQueryUriWithRefresh(RESOURCE_1, uris.get(0), false, true, "version1", null, host, path); // Verify added param: assertEquals("100", uris.get(0).getQueryParameter("resize_w")); assertEquals("10", uris.get(0).getQueryParameter("resize_h")); assertEquals("90", uris.get(0).getQueryParameter("resize_q")); assertEquals("1", uris.get(0).getQueryParameter("no_expand")); assertEquals(null, uris.get(1).getQueryParameter("resize_w")); assertEquals("10", uris.get(1).getQueryParameter("resize_h")); assertEquals(null, uris.get(1).getQueryParameter("resize_q")); assertEquals(null, uris.get(1).getQueryParameter("no_expand")); }
@Test public void testComplexProxy() throws Exception { registerGadgetsHandler(null); String resUri = "http://example.com/data"; String proxyUri = "http://shindig.com/gadgets/proxy?url=" + resUri; JSONObject request = makeComplexProxyRequest(resUri); Capture<List<ProxyUri>> captureProxyUri = new Capture<List<ProxyUri>>(); EasyMock.expect( proxyUriManager.make(EasyMock.capture(captureProxyUri), EasyMock.isNull(Integer.class))) .andReturn(ImmutableList.<Uri> of(Uri.parse(proxyUri))); replay(); RpcHandler operation = registry.getRpcHandler(request); Object responseObj = operation.execute(emptyFormItems, authContext, converter).get(); JSONObject response = new JSONObject(converter.convertToString(responseObj)); JSONObject gadget1 = response.getJSONObject(resUri); assertEquals(proxyUri, gadget1.getString("proxyUrl")); ProxyUri pUri = captureProxyUri.getValue().get(0); ProxyUri expectedUri = new ProxyUri(333, true, true, CONTAINER, GADGET1_URL, Uri.parse(resUri)); expectedUri.setRewriteMimeType("text/xml").setSanitizeContent(true); expectedUri.setFallbackUrl(resUri).setResize(555, 444, 88, true); assertTrue(expectedUri.equals(pUri)); assertFalse(gadget1.has("error")); verify(); } }
@Test public void testComplexProxy() throws Exception { registerGadgetsHandler(null); String resUri = "http://example.com/data"; String proxyUri = "http://shindig.com/gadgets/proxy?url=" + resUri; JSONObject request = makeComplexProxyRequest(resUri); Capture<List<ProxyUri>> captureProxyUri = new Capture<List<ProxyUri>>(); EasyMock.expect( proxyUriManager.make(EasyMock.capture(captureProxyUri), EasyMock.isNull(Integer.class))) .andReturn(ImmutableList.<Uri> of(Uri.parse(proxyUri))); replay(); RpcHandler operation = registry.getRpcHandler(request); Object responseObj = operation.execute(emptyFormItems, authContext, converter).get(); JSONObject response = new JSONObject(converter.convertToString(responseObj)); JSONObject gadget1 = response.getJSONObject(resUri); assertEquals(proxyUri, gadget1.getString("proxyUrl")); ProxyUri pUri = captureProxyUri.getValue().get(0); ProxyUri expectedUri = new ProxyUri(333, true, true, CONTAINER, GADGET1_URL, Uri.parse(resUri)); expectedUri.setRewriteMimeType("text/xml").setSanitizeContent(true); expectedUri.setFallbackUrl(resUri).setResize(555, 444, 88, true); assertTrue(expectedUri.equals(pUri)); assertFalse(gadget1.has("error")); verify(); } }
@Test public void verifyAddedParamsChained() throws Exception { String host = "host.com"; String path = "/proxy/" + DefaultProxyUriManager.CHAINED_PARAMS_TOKEN + "/path"; ProxyUriManager.Versioner versioner = makeVersioner(null, "version"); DefaultProxyUriManager manager = makeManager(host, path, versioner); List<ProxyUri> proxyUris = Lists.newLinkedList(); ProxyUri pUri = new ProxyUri(null, false, true, CONTAINER, SPEC_URI.toString(), RESOURCE_1); pUri.setResize(100, 10, 90, true); proxyUris.add(pUri); List<Uri> uris = manager.make(proxyUris, null); assertEquals(1, uris.size()); verifyChainedUri(RESOURCE_1, uris.get(0), false, true, null, false, host, path); // Verify added param: assertEquals("/proxy/container=container&gadget=http%3A%2F%2Fexample.com%2Fgadget.xml" + "&debug=0&nocache=1&v=version&resize_h=10&resize_w=100&resize_q=90&no_expand=1" + "/path/http://example.com/one.dat", uris.get(0).getPath()); }
protected ProxyUri createProxyUri(GadgetsHandlerApi.ProxyRequest request) { ProxyUriManager.ProxyUri proxyUri = new ProxyUriManager.ProxyUri(request.getRefresh(), request.getDebug(), request.getIgnoreCache(), request.getContainer(), request.getGadget(), request.getUrl()); proxyUri.setFallbackUrl(request.getFallbackUrl()) .setRewriteMimeType(request.getRewriteMimeType()) .setSanitizeContent(request.getSanitize()); GadgetsHandlerApi.ImageParams image = request.getImageParams(); if (image != null) { proxyUri.setResize( image.getWidth(), image.getHeight(), image.getQuality(), image.getDoNotExpand()); } return proxyUri; }