use of com.google.gerrit.util.http.testutil.FakeHttpServletResponse in project gerrit by GerritCodeReview.
the class ResourceServletTest method notFoundWithRefresh.
@Test
public void notFoundWithRefresh() throws Exception {
Cache<Path, Resource> cache = newCache(1);
Servlet servlet = new Servlet(fs, cache, true);
FakeHttpServletResponse res = new FakeHttpServletResponse();
servlet.doGet(request("/notfound"), res);
assertThat(res.getStatus()).isEqualTo(SC_NOT_FOUND);
assertNotCacheable(res);
assertCacheHits(cache, 0, 1);
res = new FakeHttpServletResponse();
servlet.doGet(request("/notfound"), res);
assertThat(res.getStatus()).isEqualTo(SC_NOT_FOUND);
assertNotCacheable(res);
assertCacheHits(cache, 1, 1);
}
use of com.google.gerrit.util.http.testutil.FakeHttpServletResponse in project gerrit by GerritCodeReview.
the class IndexServletTest method renderTemplate.
@Test
public void renderTemplate() throws Exception {
Accounts accountsApi = mock(Accounts.class);
when(accountsApi.self()).thenThrow(new AuthException("user needs to be authenticated"));
Server serverApi = mock(Server.class);
when(serverApi.getVersion()).thenReturn("123");
when(serverApi.topMenus()).thenReturn(ImmutableList.of());
ServerInfo serverInfo = new ServerInfo();
serverInfo.defaultTheme = "my-default-theme";
when(serverApi.getInfo()).thenReturn(serverInfo);
Config configApi = mock(Config.class);
when(configApi.server()).thenReturn(serverApi);
GerritApi gerritApi = mock(GerritApi.class);
when(gerritApi.accounts()).thenReturn(accountsApi);
when(gerritApi.config()).thenReturn(configApi);
String testCanonicalUrl = "foo-url";
String testCdnPath = "bar-cdn";
String testFaviconURL = "zaz-url";
// Pick any known experiment enabled by default;
String disabledDefault = ExperimentFeaturesConstants.UI_FEATURE_PATCHSET_COMMENTS;
assertThat(ExperimentFeaturesConstants.DEFAULT_ENABLED_FEATURES).contains(disabledDefault);
org.eclipse.jgit.lib.Config serverConfig = new org.eclipse.jgit.lib.Config();
serverConfig.setStringList("experiments", null, "enabled", ImmutableList.of("NewFeature", "DisabledFeature"));
serverConfig.setStringList("experiments", null, "disabled", ImmutableList.of("DisabledFeature", disabledDefault));
ExperimentFeatures experimentFeatures = new ConfigExperimentFeatures(serverConfig);
IndexServlet servlet = new IndexServlet(testCanonicalUrl, testCdnPath, testFaviconURL, gerritApi, experimentFeatures);
FakeHttpServletResponse response = new FakeHttpServletResponse();
servlet.doGet(new FakeHttpServletRequest(), response);
String output = response.getActualBodyString();
assertThat(output).contains("<!DOCTYPE html>");
assertThat(output).contains("window.CANONICAL_PATH = '" + testCanonicalUrl);
assertThat(output).contains("<link rel=\"preload\" href=\"" + testCdnPath);
assertThat(output).contains("<link rel=\"icon\" type=\"image/x-icon\" href=\"" + testCanonicalUrl + "/" + testFaviconURL);
assertThat(output).contains("window.INITIAL_DATA = JSON.parse(" + "'\\x7b\\x22\\/config\\/server\\/version\\x22: \\x22123\\x22, " + "\\x22\\/config\\/server\\/info\\x22: \\x7b\\x22default_theme\\x22:" + "\\x22my-default-theme\\x22\\x7d, \\x22\\/config\\/server\\/top-menus\\x22: " + "\\x5b\\x5d\\x7d');");
ImmutableSet<String> enabledDefaults = ExperimentFeaturesConstants.DEFAULT_ENABLED_FEATURES.stream().filter(e -> !e.equals(disabledDefault)).collect(ImmutableSet.toImmutableSet());
List<String> expectedEnabled = new ArrayList<>();
expectedEnabled.add("NewFeature");
expectedEnabled.addAll(enabledDefaults);
assertThat(output).contains("window.ENABLED_EXPERIMENTS = JSON.parse('\\x5b\\x22" + String.join("\\x22,", expectedEnabled) + "\\x22\\x5d');</script>");
}
use of com.google.gerrit.util.http.testutil.FakeHttpServletResponse in project gerrit by GerritCodeReview.
the class AllRequestFilterFilterProxyTest method noFilters.
@Test
public void noFilters() throws Exception {
FilterConfig config = mock(FilterConfig.class);
HttpServletRequest req = new FakeHttpServletRequest();
HttpServletResponse res = new FakeHttpServletResponse();
FilterChain chain = mock(FilterChain.class);
AllRequestFilter.FilterProxy filterProxy = getFilterProxy();
filterProxy.init(config);
filterProxy.doFilter(req, res, chain);
filterProxy.destroy();
verify(chain).doFilter(req, res);
}
use of com.google.gerrit.util.http.testutil.FakeHttpServletResponse in project gerrit by GerritCodeReview.
the class AllRequestFilterFilterProxyTest method twoFiltersBubbling.
@Test
public void twoFiltersBubbling() throws Exception {
FilterConfig config = mock(FilterConfig.class);
HttpServletRequest req = new FakeHttpServletRequest();
HttpServletResponse res = new FakeHttpServletResponse();
FilterChain chain = mock(FilterChain.class);
ArgumentCaptor<FilterChain> capturedChainA = ArgumentCaptor.forClass(FilterChain.class);
ArgumentCaptor<FilterChain> capturedChainB = ArgumentCaptor.forClass(FilterChain.class);
AllRequestFilter filterA = mock(AllRequestFilter.class);
AllRequestFilter filterB = mock(AllRequestFilter.class);
AllRequestFilter.FilterProxy filterProxy = getFilterProxy();
addFilter(filterA);
addFilter(filterB);
filterProxy.init(config);
filterProxy.doFilter(req, res, chain);
InOrder inorder = inOrder(filterA, filterB, chain);
inorder.verify(filterA).init(config);
inorder.verify(filterB).init(config);
inorder.verify(filterA).doFilter(eq(req), eq(res), capturedChainA.capture());
capturedChainA.getValue().doFilter(req, res);
inorder.verify(filterB).doFilter(eq(req), eq(res), capturedChainB.capture());
capturedChainB.getValue().doFilter(req, res);
inorder.verify(chain).doFilter(req, res);
filterProxy.destroy();
inorder.verify(filterA).destroy();
inorder.verify(filterB).destroy();
}
use of com.google.gerrit.util.http.testutil.FakeHttpServletResponse in project gerrit by GerritCodeReview.
the class AllRequestFilterFilterProxyTest method singleFilterBubbling.
@Test
public void singleFilterBubbling() throws Exception {
FilterConfig config = mock(FilterConfig.class);
HttpServletRequest req = new FakeHttpServletRequest();
HttpServletResponse res = new FakeHttpServletResponse();
FilterChain chain = mock(FilterChain.class);
ArgumentCaptor<FilterChain> capturedChain = ArgumentCaptor.forClass(FilterChain.class);
AllRequestFilter filter = mock(AllRequestFilter.class);
AllRequestFilter.FilterProxy filterProxy = getFilterProxy();
addFilter(filter);
InOrder inorder = inOrder(filter, chain);
filterProxy.init(config);
filterProxy.doFilter(req, res, chain);
inorder.verify(filter).init(config);
inorder.verify(filter).doFilter(eq(req), eq(res), capturedChain.capture());
capturedChain.getValue().doFilter(req, res);
inorder.verify(chain).doFilter(req, res);
filterProxy.destroy();
inorder.verify(filter).destroy();
}
Aggregations