diff options
Diffstat (limited to 'gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/GeneralPreferencesIT.java')
-rw-r--r-- | gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/GeneralPreferencesIT.java | 204 |
1 files changed, 0 insertions, 204 deletions
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/GeneralPreferencesIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/GeneralPreferencesIT.java deleted file mode 100644 index 8bf46d6836..0000000000 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/api/accounts/GeneralPreferencesIT.java +++ /dev/null @@ -1,204 +0,0 @@ -// Copyright (C) 2015 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.api.accounts; - -import static com.google.common.truth.Truth.assertThat; -import static com.google.gerrit.acceptance.AssertUtil.assertPrefs; - -import com.google.gerrit.acceptance.AbstractDaemonTest; -import com.google.gerrit.acceptance.NoHttpd; -import com.google.gerrit.acceptance.Sandboxed; -import com.google.gerrit.acceptance.TestAccount; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo.DateFormat; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo.DefaultBase; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo.DiffView; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo.DownloadCommand; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo.EmailFormat; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo.EmailStrategy; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo.ReviewCategoryStrategy; -import com.google.gerrit.extensions.client.GeneralPreferencesInfo.TimeFormat; -import com.google.gerrit.extensions.client.MenuItem; -import com.google.gerrit.extensions.restapi.BadRequestException; -import com.google.gerrit.reviewdb.client.RefNames; -import com.google.gerrit.server.config.AllUsersName; -import com.google.inject.Inject; -import java.util.ArrayList; -import java.util.HashMap; -import org.eclipse.jgit.lib.RefUpdate; -import org.eclipse.jgit.lib.Repository; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -@NoHttpd -@Sandboxed -public class GeneralPreferencesIT extends AbstractDaemonTest { - @Inject private AllUsersName allUsers; - - private TestAccount user42; - - @Before - public void setUp() throws Exception { - String name = name("user42"); - user42 = accountCreator.create(name, name + "@example.com", "User 42"); - } - - @After - public void cleanUp() throws Exception { - gApi.accounts().id(user42.getId().toString()).setPreferences(GeneralPreferencesInfo.defaults()); - - try (Repository git = repoManager.openRepository(allUsers)) { - if (git.exactRef(RefNames.REFS_USERS_DEFAULT) != null) { - RefUpdate u = git.updateRef(RefNames.REFS_USERS_DEFAULT); - u.setForceUpdate(true); - assertThat(u.delete()).isEqualTo(RefUpdate.Result.FORCED); - } - } - accountCache.evictAllNoReindex(); - } - - @Test - public void getAndSetPreferences() throws Exception { - GeneralPreferencesInfo o = gApi.accounts().id(user42.id.toString()).getPreferences(); - assertPrefs(o, GeneralPreferencesInfo.defaults(), "my", "changeTable"); - assertThat(o.my) - .containsExactly( - new MenuItem("Changes", "#/dashboard/self", null), - new MenuItem("Draft Comments", "#/q/has:draft", null), - new MenuItem("Edits", "#/q/has:edit", null), - new MenuItem("Watched Changes", "#/q/is:watched+is:open", null), - new MenuItem("Starred Changes", "#/q/is:starred", null), - new MenuItem("Groups", "#/groups/self", null)); - assertThat(o.changeTable).isEmpty(); - - GeneralPreferencesInfo i = GeneralPreferencesInfo.defaults(); - - // change all default values - i.changesPerPage *= -1; - i.showSiteHeader ^= true; - i.useFlashClipboard ^= true; - i.downloadCommand = DownloadCommand.REPO_DOWNLOAD; - i.dateFormat = DateFormat.US; - i.timeFormat = TimeFormat.HHMM_24; - i.emailStrategy = EmailStrategy.DISABLED; - i.emailFormat = EmailFormat.PLAINTEXT; - i.defaultBaseForMerges = DefaultBase.AUTO_MERGE; - i.expandInlineDiffs ^= true; - i.highlightAssigneeInChangeTable ^= true; - i.relativeDateInChangeTable ^= true; - i.sizeBarInChangeTable ^= true; - i.legacycidInChangeTable ^= true; - i.muteCommonPathPrefixes ^= true; - i.signedOffBy ^= true; - i.reviewCategoryStrategy = ReviewCategoryStrategy.ABBREV; - i.diffView = DiffView.UNIFIED_DIFF; - i.my = new ArrayList<>(); - i.my.add(new MenuItem("name", "url")); - i.changeTable = new ArrayList<>(); - i.changeTable.add("Status"); - i.urlAliases = new HashMap<>(); - i.urlAliases.put("foo", "bar"); - - o = gApi.accounts().id(user42.getId().toString()).setPreferences(i); - assertPrefs(o, i, "my"); - assertThat(o.my).containsExactlyElementsIn(i.my); - assertThat(o.changeTable).containsExactlyElementsIn(i.changeTable); - } - - @Test - public void getPreferencesWithConfiguredDefaults() throws Exception { - GeneralPreferencesInfo d = GeneralPreferencesInfo.defaults(); - int newChangesPerPage = d.changesPerPage * 2; - GeneralPreferencesInfo update = new GeneralPreferencesInfo(); - update.changesPerPage = newChangesPerPage; - gApi.config().server().setDefaultPreferences(update); - - GeneralPreferencesInfo o = gApi.accounts().id(user42.getId().toString()).getPreferences(); - - // assert configured defaults - assertThat(o.changesPerPage).isEqualTo(newChangesPerPage); - - // assert hard-coded defaults - assertPrefs(o, d, "my", "changeTable", "changesPerPage"); - } - - @Test - public void overwriteConfiguredDefaults() throws Exception { - GeneralPreferencesInfo d = GeneralPreferencesInfo.defaults(); - int configuredChangesPerPage = d.changesPerPage * 2; - GeneralPreferencesInfo update = new GeneralPreferencesInfo(); - update.changesPerPage = configuredChangesPerPage; - gApi.config().server().setDefaultPreferences(update); - - GeneralPreferencesInfo o = gApi.accounts().id(admin.getId().toString()).getPreferences(); - assertThat(o.changesPerPage).isEqualTo(configuredChangesPerPage); - assertPrefs(o, d, "my", "changeTable", "changesPerPage"); - - int newChangesPerPage = configuredChangesPerPage * 2; - GeneralPreferencesInfo i = new GeneralPreferencesInfo(); - i.changesPerPage = newChangesPerPage; - GeneralPreferencesInfo a = gApi.accounts().id(admin.getId().toString()).setPreferences(i); - assertThat(a.changesPerPage).isEqualTo(newChangesPerPage); - assertPrefs(a, d, "my", "changeTable", "changesPerPage"); - - a = gApi.accounts().id(admin.getId().toString()).getPreferences(); - assertThat(a.changesPerPage).isEqualTo(newChangesPerPage); - assertPrefs(a, d, "my", "changeTable", "changesPerPage"); - - // overwrite the configured default with original hard-coded default - i = new GeneralPreferencesInfo(); - i.changesPerPage = d.changesPerPage; - a = gApi.accounts().id(admin.getId().toString()).setPreferences(i); - assertThat(a.changesPerPage).isEqualTo(d.changesPerPage); - assertPrefs(a, d, "my", "changeTable", "changesPerPage"); - - a = gApi.accounts().id(admin.getId().toString()).getPreferences(); - assertThat(a.changesPerPage).isEqualTo(d.changesPerPage); - assertPrefs(a, d, "my", "changeTable", "changesPerPage"); - } - - @Test - public void rejectMyMenuWithoutName() throws Exception { - GeneralPreferencesInfo i = GeneralPreferencesInfo.defaults(); - i.my = new ArrayList<>(); - i.my.add(new MenuItem(null, "url")); - - exception.expect(BadRequestException.class); - exception.expectMessage("name for menu item is required"); - gApi.accounts().id(user42.getId().toString()).setPreferences(i); - } - - @Test - public void rejectMyMenuWithoutUrl() throws Exception { - GeneralPreferencesInfo i = GeneralPreferencesInfo.defaults(); - i.my = new ArrayList<>(); - i.my.add(new MenuItem("name", null)); - - exception.expect(BadRequestException.class); - exception.expectMessage("URL for menu item is required"); - gApi.accounts().id(user42.getId().toString()).setPreferences(i); - } - - @Test - public void trimMyMenuInput() throws Exception { - GeneralPreferencesInfo i = GeneralPreferencesInfo.defaults(); - i.my = new ArrayList<>(); - i.my.add(new MenuItem(" name\t", " url\t", " _blank\t", " id\t")); - - GeneralPreferencesInfo o = gApi.accounts().id(user42.getId().toString()).setPreferences(i); - assertThat(o.my).containsExactly(new MenuItem("name", "url", "_blank", "id")); - } -} |