summaryrefslogtreecommitdiffstats
path: root/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/WatchedProjectsIT.java
diff options
context:
space:
mode:
Diffstat (limited to 'gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/WatchedProjectsIT.java')
-rw-r--r--gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/WatchedProjectsIT.java238
1 files changed, 0 insertions, 238 deletions
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/WatchedProjectsIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/WatchedProjectsIT.java
deleted file mode 100644
index 9edafb8b6a..0000000000
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/account/WatchedProjectsIT.java
+++ /dev/null
@@ -1,238 +0,0 @@
-// Copyright (C) 2016 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.gerrit.acceptance.rest.account;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import com.google.common.collect.Lists;
-import com.google.gerrit.acceptance.AbstractDaemonTest;
-import com.google.gerrit.extensions.client.ProjectWatchInfo;
-import com.google.gerrit.extensions.restapi.BadRequestException;
-import com.google.gerrit.extensions.restapi.UnprocessableEntityException;
-import java.util.ArrayList;
-import java.util.List;
-import org.junit.Test;
-
-public class WatchedProjectsIT extends AbstractDaemonTest {
-
- private static final String NEW_PROJECT_NAME = "newProjectAccess";
-
- @Test
- public void setAndGetWatchedProjects() throws Exception {
- String projectName1 = createProject(NEW_PROJECT_NAME).get();
- String projectName2 = createProject(NEW_PROJECT_NAME + "2").get();
-
- List<ProjectWatchInfo> projectsToWatch = new ArrayList<>(2);
-
- ProjectWatchInfo pwi = new ProjectWatchInfo();
- pwi.project = projectName1;
- pwi.notifyAbandonedChanges = true;
- pwi.notifyNewChanges = true;
- pwi.notifyAllComments = true;
- projectsToWatch.add(pwi);
-
- pwi = new ProjectWatchInfo();
- pwi.project = projectName2;
- pwi.filter = "branch:master";
- pwi.notifySubmittedChanges = true;
- pwi.notifyNewPatchSets = true;
- projectsToWatch.add(pwi);
-
- List<ProjectWatchInfo> persistedWatchedProjects =
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
- assertThat(persistedWatchedProjects).containsAllIn(projectsToWatch).inOrder();
- }
-
- @Test
- public void setAndDeleteWatchedProjects() throws Exception {
- String projectName1 = createProject(NEW_PROJECT_NAME).get();
- String projectName2 = createProject(NEW_PROJECT_NAME + "2").get();
-
- List<ProjectWatchInfo> projectsToWatch = new ArrayList<>();
-
- ProjectWatchInfo pwi = new ProjectWatchInfo();
- pwi.project = projectName1;
- pwi.notifyAbandonedChanges = true;
- pwi.notifyNewChanges = true;
- pwi.notifyAllComments = true;
- projectsToWatch.add(pwi);
-
- pwi = new ProjectWatchInfo();
- pwi.project = projectName2;
- pwi.filter = "branch:master";
- pwi.notifySubmittedChanges = true;
- pwi.notifyNewPatchSets = true;
- projectsToWatch.add(pwi);
-
- // Persist watched projects
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
-
- List<ProjectWatchInfo> d = Lists.newArrayList(pwi);
- gApi.accounts().self().deleteWatchedProjects(d);
- projectsToWatch.remove(pwi);
-
- List<ProjectWatchInfo> persistedWatchedProjects = gApi.accounts().self().getWatchedProjects();
-
- assertThat(persistedWatchedProjects).doesNotContain(pwi);
- assertThat(persistedWatchedProjects).containsAllIn(projectsToWatch);
- }
-
- @Test
- public void setConflictingWatches() throws Exception {
- String projectName = createProject(NEW_PROJECT_NAME).get();
-
- List<ProjectWatchInfo> projectsToWatch = new ArrayList<>();
-
- ProjectWatchInfo pwi = new ProjectWatchInfo();
- pwi.project = projectName;
- pwi.notifyAbandonedChanges = true;
- pwi.notifyNewChanges = true;
- pwi.notifyAllComments = true;
- projectsToWatch.add(pwi);
-
- pwi = new ProjectWatchInfo();
- pwi.project = projectName;
- pwi.notifySubmittedChanges = true;
- pwi.notifyNewPatchSets = true;
- projectsToWatch.add(pwi);
-
- exception.expect(BadRequestException.class);
- exception.expectMessage("duplicate entry for project " + projectName);
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
- }
-
- @Test
- public void setAndGetEmptyWatch() throws Exception {
- String projectName = createProject(NEW_PROJECT_NAME).get();
-
- List<ProjectWatchInfo> projectsToWatch = new ArrayList<>();
-
- ProjectWatchInfo pwi = new ProjectWatchInfo();
- pwi.project = projectName;
- projectsToWatch.add(pwi);
-
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
- List<ProjectWatchInfo> persistedWatchedProjects = gApi.accounts().self().getWatchedProjects();
- assertThat(persistedWatchedProjects).containsAllIn(projectsToWatch);
- }
-
- @Test
- public void watchNonExistingProject() throws Exception {
- String projectName = NEW_PROJECT_NAME + "3";
-
- List<ProjectWatchInfo> projectsToWatch = new ArrayList<>(2);
-
- ProjectWatchInfo pwi = new ProjectWatchInfo();
- pwi.project = projectName;
- pwi.notifyAbandonedChanges = true;
- pwi.notifyNewChanges = true;
- pwi.notifyAllComments = true;
- projectsToWatch.add(pwi);
-
- exception.expect(UnprocessableEntityException.class);
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
- }
-
- @Test
- public void deleteNonExistingProjectWatch() throws Exception {
- String projectName = project.get();
-
- // Let another user watch a project
- setApiUser(admin);
- List<ProjectWatchInfo> projectsToWatch = new ArrayList<>();
-
- ProjectWatchInfo pwi = new ProjectWatchInfo();
- pwi.project = projectName;
- pwi.notifyAbandonedChanges = true;
- pwi.notifyNewChanges = true;
- pwi.notifyAllComments = true;
- projectsToWatch.add(pwi);
-
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
-
- // Try to delete a watched project using a different user
- List<ProjectWatchInfo> d = Lists.newArrayList(pwi);
- gApi.accounts().self().deleteWatchedProjects(d);
-
- // Check that trying to delete a non-existing watch doesn't fail
- setApiUser(user);
- gApi.accounts().self().deleteWatchedProjects(d);
- }
-
- @Test
- public void modifyProjectWatchUsingOmittedValues() throws Exception {
- String projectName = project.get();
-
- // Let another user watch a project
- setApiUser(admin);
- List<ProjectWatchInfo> projectsToWatch = new ArrayList<>();
-
- ProjectWatchInfo pwi = new ProjectWatchInfo();
- pwi.project = projectName;
- pwi.notifyAbandonedChanges = true;
- pwi.notifyNewChanges = true;
- pwi.notifyAllComments = true;
- projectsToWatch.add(pwi);
-
- // Persist a defined state
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
-
- // Omit previously set value - will set it to false on the server
- // The response will not carry this field then as we omit sending
- // false values in JSON
- pwi.notifyNewChanges = null;
-
- // Perform update
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
-
- List<ProjectWatchInfo> watchedProjects = gApi.accounts().self().getWatchedProjects();
-
- assertThat(watchedProjects).containsAllIn(projectsToWatch);
- }
-
- @Test
- public void setAndDeleteWatchedProjectsWithDifferentFilter() throws Exception {
- String projectName = project.get();
-
- List<ProjectWatchInfo> projectsToWatch = new ArrayList<>();
-
- ProjectWatchInfo pwi = new ProjectWatchInfo();
- pwi.project = projectName;
- pwi.filter = "branch:stable";
- pwi.notifyAbandonedChanges = true;
- pwi.notifyNewChanges = true;
- pwi.notifyAllComments = true;
- projectsToWatch.add(pwi);
-
- pwi = new ProjectWatchInfo();
- pwi.project = projectName;
- pwi.filter = "branch:master";
- pwi.notifySubmittedChanges = true;
- pwi.notifyNewPatchSets = true;
- projectsToWatch.add(pwi);
-
- // Persist watched projects
- gApi.accounts().self().setWatchedProjects(projectsToWatch);
-
- List<ProjectWatchInfo> d = Lists.newArrayList(pwi);
- gApi.accounts().self().deleteWatchedProjects(d);
- projectsToWatch.remove(pwi);
-
- List<ProjectWatchInfo> persistedWatchedProjects = gApi.accounts().self().getWatchedProjects();
-
- assertThat(persistedWatchedProjects).doesNotContain(pwi);
- assertThat(persistedWatchedProjects).containsAllIn(projectsToWatch);
- }
-}