@Test public void testGenerateUrl_noGadgetDomainCallback() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(null); control.replay(); assertNull(getGenerator().generateCallback(fetcherConfig, "http://base/basecallback?foo=bar%20baz", request, responseParams)); control.verify(); }
@Test public void testGenerateUrl_noGadgetDomainCallback() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(null); control.replay(); assertNull(getGenerator().generateCallback(fetcherConfig, "http://base/basecallback?foo=bar%20baz", request, responseParams)); control.verify(); }
@Test public void testGenerateUrl_noGadgetDomainCallback() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(null); control.replay(); assertNull(getGenerator().generateCallback(fetcherConfig, "http://base/basecallback?foo=bar%20baz", request, responseParams)); control.verify(); }
@Test public void testWrongDomain() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default")) .andReturn(false); control.replay(); try { getGenerator().generateCallback(fetcherConfig, "base", request, responseParams); fail("Should have thrown"); } catch (OAuthRequestException e) { assertEquals(OAuthError.UNKNOWN_PROBLEM.name(), e.getError()); } control.verify(); }
@Test public void testWrongDomain() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(false); control.replay(); try { getGenerator().generateCallback(fetcherConfig, "base", request, responseParams); fail("Should have thrown"); } catch (OAuthRequestException e) { assertEquals(OAuthError.UNKNOWN_PROBLEM.name(), e.getError()); } control.verify(); }
@Test public void testWrongDomain() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(false); control.replay(); try { getGenerator().generateCallback(fetcherConfig, "base", request, responseParams); fail("Should have thrown"); } catch (OAuthRequestException e) { assertEquals(OAuthError.UNKNOWN_PROBLEM.name(), e.getError()); } control.verify(); }
@Test public void testGenerateUrl_schemeRelative() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("//renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("http://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testGenerateUrl_absolute() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("https://renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("https://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testGenerateUrl_schemeRelative() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("//renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("http://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testGenerateUrl_schemeRelative() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("//renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("http://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testGenerateUrl_absolute() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("https://renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("https://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testGenerateUrl_absolute() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("https://renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("https://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testGenerateUrl_otherQueryParams() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("https://renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback?foo=bar%20baz", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); assertEquals("bar baz", callbackUri.getQueryParameter("foo")); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("https://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testGenerateUrl_otherQueryParams() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.gadgetCanRender("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("https://renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback?foo=bar%20baz", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); assertEquals("bar baz", callbackUri.getQueryParameter("foo")); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("https://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testGenerateUrl_otherQueryParams() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andReturn(gadget); expect(lockedDomainService.isGadgetValidForHost("renderinghost", gadget, "default")) .andReturn(true); expect(oauthUriManager.makeOAuthCallbackUri("default", "renderinghost")) .andReturn(Uri.parse("https://renderinghost/final/callback")); control.replay(); String callback = getGenerator().generateCallback(fetcherConfig, "http://base/basecallback?foo=bar%20baz", request, responseParams); Uri callbackUri = Uri.parse(callback); assertEquals("http", callbackUri.getScheme()); assertEquals("base", callbackUri.getAuthority()); assertEquals("/basecallback", callbackUri.getPath()); assertEquals("bar baz", callbackUri.getQueryParameter("foo")); OAuthCallbackState state = new OAuthCallbackState(stateCrypter, callbackUri.getQueryParameter("cs")); assertEquals("https://renderinghost/final/callback", state.getRealCallbackUrl()); control.verify(); }
@Test public void testBadGadget() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andThrow(new ProcessingException("doh", HttpServletResponse.SC_BAD_REQUEST)); control.replay(); try { getGenerator().generateCallback(fetcherConfig, "base", request, responseParams); fail("Should have thrown"); } catch (OAuthRequestException e) { assertEquals(OAuthError.UNKNOWN_PROBLEM.name(), e.getError()); } control.verify(); }
@Test public void testBadGadget() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andThrow(new ProcessingException("doh", HttpServletResponse.SC_BAD_REQUEST)); control.replay(); try { getGenerator().generateCallback(fetcherConfig, "base", request, responseParams); fail("Should have thrown"); } catch (OAuthRequestException e) { assertEquals(OAuthError.UNKNOWN_PROBLEM.name(), e.getError()); } control.verify(); }
@Test public void testBadGadget() throws Exception { HttpRequest request = new HttpRequest(DEST_URL); request.setSecurityToken(securityToken); request.setOAuthArguments(new OAuthArguments()); expect(processor.process(eqContext(securityToken, request.getOAuthArguments()))) .andThrow(new ProcessingException("doh", HttpServletResponse.SC_BAD_REQUEST)); control.replay(); try { getGenerator().generateCallback(fetcherConfig, "base", request, responseParams); fail("Should have thrown"); } catch (OAuthRequestException e) { assertEquals(OAuthError.UNKNOWN_PROBLEM.name(), e.getError()); } control.verify(); }