public CallableData call() throws Exception { try { return new CallableData(url, handlerService.getProxy(proxyRequest)); } catch (Exception e) { return new CallableData(url, handlerService.createErrorResponse(null, e, FAILURE_PROXY)); } } };
@Test(expected = ProcessingException.class) public void testGetProxyNoContainer() throws Exception { List<String> fields = ImmutableList.of("*"); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, null, fields); gadgetHandler.getProxy(request); }
@Test(expected = ProcessingException.class) public void testGetProxyNoResource() throws Exception { List<String> fields = ImmutableList.of("*"); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(null, CONTAINER, fields); gadgetHandler.getProxy(request); }
@Test(expected = ProcessingException.class) public void testGetProxyNoResource() throws Exception { List<String> fields = ImmutableList.of("*"); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(null, CONTAINER, fields); gadgetHandler.getProxy(request); }
@Test(expected = ProcessingException.class) public void testGetProxyNoContainer() throws Exception { List<String> fields = ImmutableList.of("*"); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, null, fields); gadgetHandler.getProxy(request); }
@Test(expected = ProcessingException.class) public void testGetProxyNoFields() throws Exception { GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, null); gadgetHandler.getProxy(request); }
@Test(expected = ProcessingException.class) public void testGetProxyNoFields() throws Exception { GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, null); gadgetHandler.getProxy(request); }
@Test(expected = ProcessingException.class) public void testGetProxyDataFail() throws Exception { List<String> fields = ImmutableList.of("proxycontent.*"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); new HttpResponse("response"); expect(proxyHandler.fetch(EasyMock.isA(ProxyUri.class))).andThrow( new GadgetException(Code.FAILED_TO_RETRIEVE_CONTENT)); replay(); gadgetHandler.getProxy(request); }
@Test(expected = ProcessingException.class) public void testGetProxyDataFail() throws Exception { List<String> fields = ImmutableList.of("proxycontent.*"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); new HttpResponse("response"); expect(proxyHandler.fetch(EasyMock.isA(ProxyUri.class))).andThrow( new GadgetException(Code.FAILED_TO_RETRIEVE_CONTENT)); replay(); gadgetHandler.getProxy(request); }
@Test public void testGetProxyData() throws Exception { List<String> fields = ImmutableList.of("proxycontent.*"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); HttpResponseBuilder builder = new HttpResponseBuilder(); builder.setExpirationTime(20000).setContent("response"); HttpResponse httpResponse = builder.create(); expect(proxyHandler.fetch(EasyMock.isA(ProxyUri.class))).andReturn(httpResponse); replay(); GadgetsHandlerApi.ProxyResponse response = gadgetHandler.getProxy(request); assertEquals(1, uriCapture.getValue().size()); ProxyUri pUri = uriCapture.getValue().get(0); assertEquals(CONTAINER, pUri.getContainer()); assertNull(response.getProxyUrl()); assertEquals("response", new String(Base64.decodeBase64(response.getProxyContent().getContentBase64()))); assertEquals(20000L, response.getExpireTimeMs().longValue()); verify(); }
@Test public void testGetProxySimple() throws Exception { List<String> fields = ImmutableList.of("proxyurl"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); replay(); GadgetsHandlerApi.ProxyResponse response = gadgetHandler.getProxy(request); assertEquals(1, uriCapture.getValue().size()); ProxyUri pUri = uriCapture.getValue().get(0); assertEquals(CONTAINER, pUri.getContainer()); assertEquals(resUri, response.getProxyUrl()); assertNull(response.getProxyContent()); assertEquals(timeSource.currentTimeMillis() + HttpUtil.getDefaultTtl() * 1000, response .getExpireTimeMs().longValue()); verify(); }
@Test public void testGetProxySimple() throws Exception { List<String> fields = ImmutableList.of("proxyurl"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); replay(); GadgetsHandlerApi.ProxyResponse response = gadgetHandler.getProxy(request); assertEquals(1, uriCapture.getValue().size()); ProxyUri pUri = uriCapture.getValue().get(0); assertEquals(CONTAINER, pUri.getContainer()); assertEquals(resUri, response.getProxyUrl()); assertNull(response.getProxyContent()); assertEquals(timeSource.currentTimeMillis() + HttpUtil.getDefaultTtl() * 1000, response .getExpireTimeMs().longValue()); verify(); }
@Test public void testGetProxyData() throws Exception { List<String> fields = ImmutableList.of("proxycontent.*"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); HttpResponseBuilder builder = new HttpResponseBuilder(); builder.setExpirationTime(20000).setContent("response"); HttpResponse httpResponse = builder.create(); expect(proxyHandler.fetch(EasyMock.isA(ProxyUri.class))).andReturn(httpResponse); replay(); GadgetsHandlerApi.ProxyResponse response = gadgetHandler.getProxy(request); assertEquals(1, uriCapture.getValue().size()); ProxyUri pUri = uriCapture.getValue().get(0); assertEquals(CONTAINER, pUri.getContainer()); assertNull(response.getProxyUrl()); assertEquals("response", new String(Base64.decodeBase64(response.getProxyContent().getContentBase64()))); assertEquals(20000L, response.getExpireTimeMs().longValue()); verify(); }
@Test public void testGetProxyEmptyData() throws Exception { List<String> fields = ImmutableList.of("proxycontent.*"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); HttpResponse httpResponse = new HttpResponseBuilder().setHttpStatusCode(504).create(); expect(proxyHandler.fetch(EasyMock.isA(ProxyUri.class))).andReturn(httpResponse); replay(); GadgetsHandlerApi.ProxyResponse response = gadgetHandler.getProxy(request); assertEquals(1, uriCapture.getValue().size()); ProxyUri pUri = uriCapture.getValue().get(0); assertEquals(CONTAINER, pUri.getContainer()); assertNull(response.getProxyUrl()); assertEquals("", response.getProxyContent().getContentBase64()); assertEquals(504, response.getProxyContent().getCode()); verify(); }
@Test public void testGetProxyEmptyData() throws Exception { List<String> fields = ImmutableList.of("proxycontent.*"); Uri resUri = Uri.parse("server.com/gadgets/proxy?url=" + RESOURCE); GadgetsHandlerApi.ProxyRequest request = createProxyRequest(RESOURCE, CONTAINER, fields); Capture<List<ProxyUri>> uriCapture = new Capture<List<ProxyUri>>(); expect(proxyUriManager.make(capture(uriCapture), EasyMock.anyInt())).andReturn( ImmutableList.of(resUri)); HttpResponse httpResponse = new HttpResponseBuilder().setHttpStatusCode(504).create(); expect(proxyHandler.fetch(EasyMock.isA(ProxyUri.class))).andReturn(httpResponse); replay(); GadgetsHandlerApi.ProxyResponse response = gadgetHandler.getProxy(request); assertEquals(1, uriCapture.getValue().size()); ProxyUri pUri = uriCapture.getValue().get(0); assertEquals(CONTAINER, pUri.getContainer()); assertNull(response.getProxyUrl()); assertEquals("", response.getProxyContent().getContentBase64()); assertEquals(504, response.getProxyContent().getCode()); verify(); }