@Before public void setUp() throws Exception { expect(request.getMethod()).andReturn("POST").anyTimes(); expect(request.getParameter(Param.URL.getKey())) .andReturn(REQUEST_URL.toString()).anyTimes(); JSONObject config = new JSONObject('{' + ContainerConfig.DEFAULT_CONTAINER + ':' + "{'gadgets.container': ['default']," + "'gadgets.features':{views:" + "{aliased: {aliases: ['some-alias', 'alias']}}" + ",'core.io':" + "{unparseableCruft :\"throw 1; < don't be evil' >\"}}}}"); containerConfig = new JsonContainerConfig(config, Expressions.forTesting()); ldService = new HashLockedDomainService(containerConfig, false, new HashShaLockedDomainPrefixGenerator()); handler = new MakeRequestHandler(containerConfig, pipeline, rewriterRegistry, feedProcessorProvider, gadgetAdminStore, processor, ldService); DUMMY_TOKEN.setAppUrl("http://some/gadget.xml"); DUMMY_TOKEN.setContainer(ContainerConfig.DEFAULT_CONTAINER); expect(request.getParameter(Param.GADGET.getKey())).andReturn("http://some/gadget.xml").anyTimes(); expect(processor.process(capture(context))).andReturn(gadget).anyTimes(); expect(gadgetAdminStore.isWhitelisted(isA(String.class), isA(String.class))).andReturn(true); }
@Before public void setUp() throws Exception { expect(request.getMethod()).andReturn("POST").anyTimes(); expect(request.getParameter(Param.URL.getKey())) .andReturn(REQUEST_URL.toString()).anyTimes(); JSONObject config = new JSONObject('{' + ContainerConfig.DEFAULT_CONTAINER + ':' + "{'gadgets.container': ['default']," + "'gadgets.features':{views:" + "{aliased: {aliases: ['some-alias', 'alias']}}" + ",'core.io':" + "{unparseableCruft :\"throw 1; < don't be evil' >\"}}}}"); containerConfig = new JsonContainerConfig(config, Expressions.forTesting()); ldService = new HashLockedDomainService(containerConfig, false, new HashShaLockedDomainPrefixGenerator()); handler = new MakeRequestHandler(containerConfig, pipeline, rewriterRegistry, feedProcessorProvider, gadgetAdminStore, processor, ldService); DUMMY_TOKEN.setAppUrl("http://some/gadget.xml"); DUMMY_TOKEN.setContainer(ContainerConfig.DEFAULT_CONTAINER); expect(request.getParameter(Param.GADGET.getKey())).andReturn("http://some/gadget.xml").anyTimes(); expect(processor.process(capture(context))).andReturn(gadget).anyTimes(); expect(gadgetAdminStore.isWhitelisted(isA(String.class), isA(String.class))).andReturn(true); }
@Test public void testDoOAuthRequest() throws Exception { // Doesn't actually do oauth dance since it returns the standard fetcher. // OAuth tests are in OAuthRequestTest expectGetAndReturnBody(AuthType.OAUTH, RESPONSE_BODY); FakeGadgetToken authToken = new FakeGadgetToken() .setUpdatedToken("updated") .setAppUrl(DUMMY_TOKEN.getAppUrl()) .setContainer(DUMMY_TOKEN.getContainer()); expect(request.getAttribute(AuthInfoUtil.Attribute.SECURITY_TOKEN.getId())) .andReturn(authToken).atLeastOnce(); expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM)) .andReturn(AuthType.OAUTH.toString()).atLeastOnce(); // This isn't terribly accurate, but is close enough for this test. expect(request.getParameterMap()).andStubReturn(Collections.emptyMap()); expectParameters(request); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testDoOAuthRequest() throws Exception { // Doesn't actually do oauth dance since it returns the standard fetcher. // OAuth tests are in OAuthRequestTest expectGetAndReturnBody(AuthType.OAUTH, RESPONSE_BODY); FakeGadgetToken authToken = new FakeGadgetToken() .setUpdatedToken("updated") .setAppUrl(DUMMY_TOKEN.getAppUrl()) .setContainer(DUMMY_TOKEN.getContainer()); expect(request.getAttribute(AuthInfoUtil.Attribute.SECURITY_TOKEN.getId())) .andReturn(authToken).atLeastOnce(); expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM)) .andReturn(AuthType.OAUTH.toString()).atLeastOnce(); // This isn't terribly accurate, but is close enough for this test. expect(request.getParameterMap()).andStubReturn(Collections.emptyMap()); expectParameters(request); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(HttpResponse.SC_OK, results.getInt("rc")); assertEquals(RESPONSE_BODY, results.get("body")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testChangeSecurityToken() throws Exception { // Doesn't actually sign since it returns the standard fetcher. // Signing tests are in SigningFetcherTest expectGetAndReturnBody(AuthType.SIGNED, RESPONSE_BODY); FakeGadgetToken authToken = new FakeGadgetToken() .setUpdatedToken("updated") .setAppUrl(DUMMY_TOKEN.getAppUrl()) .setContainer(DUMMY_TOKEN.getContainer()); expect(request.getAttribute(AuthInfoUtil.Attribute.SECURITY_TOKEN.getId())) .andReturn(authToken).atLeastOnce(); expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM)) .andReturn(AuthType.SIGNED.toString()).atLeastOnce(); expectParameters(request, MakeRequestHandler.AUTHZ_PARAM); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(RESPONSE_BODY, results.get("body")); assertEquals("updated", results.getString("st")); assertTrue(rewriter.responseWasRewritten()); }
@Test public void testChangeSecurityToken() throws Exception { // Doesn't actually sign since it returns the standard fetcher. // Signing tests are in SigningFetcherTest expectGetAndReturnBody(AuthType.SIGNED, RESPONSE_BODY); FakeGadgetToken authToken = new FakeGadgetToken() .setUpdatedToken("updated") .setAppUrl(DUMMY_TOKEN.getAppUrl()) .setContainer(DUMMY_TOKEN.getContainer()); expect(request.getAttribute(AuthInfoUtil.Attribute.SECURITY_TOKEN.getId())) .andReturn(authToken).atLeastOnce(); expect(request.getParameter(MakeRequestHandler.AUTHZ_PARAM)) .andReturn(AuthType.SIGNED.toString()).atLeastOnce(); expectParameters(request, MakeRequestHandler.AUTHZ_PARAM); replay(); handler.fetch(request, recorder); JSONObject results = extractJsonFromResponse(); assertEquals(RESPONSE_BODY, results.get("body")); assertEquals("updated", results.getString("st")); assertTrue(rewriter.responseWasRewritten()); }