AccountSshKey: Move from reviewdb.client package into server.account package
This class is no longer a ReviewDb class and shouldn't be used by the GWT UI. Change-Id: I46b1b76c2375700ecaac5bc547e7507b11869d64 Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
@@ -27,8 +27,8 @@ import com.google.gerrit.pgm.init.api.InitFlags;
|
||||
import com.google.gerrit.pgm.init.api.InitStep;
|
||||
import com.google.gerrit.pgm.init.api.SequencesOnInit;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.account.AccountState;
|
||||
import com.google.gerrit.server.account.externalids.ExternalId;
|
||||
import com.google.gerrit.server.config.AllUsersName;
|
||||
|
||||
@@ -21,8 +21,8 @@ import com.google.gerrit.pgm.init.api.AllUsersNameOnInitProvider;
|
||||
import com.google.gerrit.pgm.init.api.InitFlags;
|
||||
import com.google.gerrit.pgm.init.api.VersionedMetaDataOnInit;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.reviewdb.client.RefNames;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.account.AuthorizedKeys;
|
||||
import com.google.gerrit.server.account.VersionedAuthorizedKeys;
|
||||
import com.google.gerrit.server.config.SitePaths;
|
||||
|
||||
@@ -39,9 +39,9 @@ import java.util.Optional;
|
||||
* and a personal email address.
|
||||
* <li>{@link AccountGroupMember}: membership of the user in a specific human managed {@link
|
||||
* AccountGroup}. Multiple records can exist when the user is a member of more than one group.
|
||||
* <li>{@link AccountSshKey}: user's public SSH keys, for authentication through the internal SSH
|
||||
* daemon. One record per SSH key uploaded by the user, keys are checked in random order until
|
||||
* a match is found.
|
||||
* <li>AccountSshKey: user's public SSH keys, for authentication through the internal SSH daemon.
|
||||
* One record per SSH key uploaded by the user, keys are checked in random order until a match
|
||||
* is found.
|
||||
* <li>{@link DiffPreferencesInfo}: user's preferences for rendering side-to-side and unified diff
|
||||
* </ul>
|
||||
*/
|
||||
|
||||
@@ -16,7 +16,6 @@ package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.gerrit.extensions.restapi.RestResource;
|
||||
import com.google.gerrit.extensions.restapi.RestView;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.reviewdb.client.Change;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.change.ChangeResource;
|
||||
|
||||
@@ -12,8 +12,9 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
package com.google.gerrit.reviewdb.client;
|
||||
package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import java.io.Serializable;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -16,7 +16,6 @@ package com.google.gerrit.server.account;
|
||||
|
||||
import com.google.common.annotations.VisibleForTesting;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
@@ -22,10 +22,9 @@ import com.google.common.base.Strings;
|
||||
import com.google.common.collect.Ordering;
|
||||
import com.google.gerrit.common.errors.InvalidSshKeyException;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey.Id;
|
||||
import com.google.gerrit.reviewdb.client.RefNames;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.account.AccountSshKey.Id;
|
||||
import com.google.gerrit.server.config.AllUsersName;
|
||||
import com.google.gerrit.server.git.GitRepositoryManager;
|
||||
import com.google.gerrit.server.git.MetaDataUpdate;
|
||||
|
||||
@@ -18,8 +18,8 @@ import com.google.common.base.Joiner;
|
||||
import com.google.gerrit.common.errors.EmailException;
|
||||
import com.google.gerrit.extensions.api.changes.RecipientType;
|
||||
import com.google.gerrit.extensions.restapi.AuthException;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.mail.Address;
|
||||
import com.google.gerrit.server.permissions.GlobalPermission;
|
||||
import com.google.gerrit.server.permissions.PermissionBackend;
|
||||
|
||||
@@ -26,10 +26,10 @@ import com.google.gerrit.extensions.restapi.BadRequestException;
|
||||
import com.google.gerrit.extensions.restapi.RawInput;
|
||||
import com.google.gerrit.extensions.restapi.Response;
|
||||
import com.google.gerrit.extensions.restapi.RestModifyView;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.account.AccountResource;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.account.VersionedAuthorizedKeys;
|
||||
import com.google.gerrit.server.mail.send.AddKeySender;
|
||||
import com.google.gerrit.server.permissions.GlobalPermission;
|
||||
|
||||
@@ -19,10 +19,10 @@ import com.google.common.collect.Lists;
|
||||
import com.google.gerrit.extensions.common.SshKeyInfo;
|
||||
import com.google.gerrit.extensions.restapi.AuthException;
|
||||
import com.google.gerrit.extensions.restapi.RestReadView;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.account.AccountResource;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.account.VersionedAuthorizedKeys;
|
||||
import com.google.gerrit.server.permissions.GlobalPermission;
|
||||
import com.google.gerrit.server.permissions.PermissionBackend;
|
||||
|
||||
@@ -20,10 +20,10 @@ import com.google.gerrit.extensions.restapi.ChildCollection;
|
||||
import com.google.gerrit.extensions.restapi.IdString;
|
||||
import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
|
||||
import com.google.gerrit.extensions.restapi.RestView;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.account.AccountResource;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.account.VersionedAuthorizedKeys;
|
||||
import com.google.gerrit.server.permissions.GlobalPermission;
|
||||
import com.google.gerrit.server.permissions.PermissionBackend;
|
||||
|
||||
@@ -21,9 +21,9 @@ import com.google.common.collect.ListMultimap;
|
||||
import com.google.common.collect.MultimapBuilder;
|
||||
import com.google.common.collect.Ordering;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||
import com.google.gerrit.server.GerritPersonIdent;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.account.VersionedAuthorizedKeys;
|
||||
import com.google.gerrit.server.account.VersionedAuthorizedKeys.SimpleSshKeyCreator;
|
||||
import com.google.gerrit.server.config.AllUsersName;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
package com.google.gerrit.server.ssh;
|
||||
|
||||
import com.google.gerrit.common.errors.InvalidSshKeyException;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.inject.AbstractModule;
|
||||
import com.google.inject.Module;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
package com.google.gerrit.server.ssh;
|
||||
|
||||
import com.google.gerrit.common.errors.InvalidSshKeyException;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
|
||||
public interface SshKeyCreator {
|
||||
AccountSshKey create(AccountSshKey.Id id, String encoded) throws InvalidSshKeyException;
|
||||
|
||||
@@ -19,9 +19,9 @@ import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import com.google.gerrit.common.FileUtil;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.PeerDaemonUser;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.config.GerritServerConfig;
|
||||
import com.google.gerrit.server.config.SitePaths;
|
||||
import com.google.inject.Inject;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
package com.google.gerrit.sshd;
|
||||
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import java.security.PublicKey;
|
||||
|
||||
class SshKeyCacheEntry {
|
||||
|
||||
@@ -18,7 +18,7 @@ import static com.google.gerrit.server.account.externalids.ExternalId.SCHEME_USE
|
||||
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.account.VersionedAuthorizedKeys;
|
||||
import com.google.gerrit.server.account.externalids.ExternalId;
|
||||
import com.google.gerrit.server.account.externalids.ExternalIds;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
package com.google.gerrit.sshd;
|
||||
|
||||
import com.google.gerrit.common.errors.InvalidSshKeyException;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.ssh.SshKeyCreator;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.NoSuchProviderException;
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
package com.google.gerrit.sshd;
|
||||
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.CurrentUser;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.sshd.SshScope.Context;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -32,9 +32,9 @@ import com.google.gerrit.extensions.restapi.AuthException;
|
||||
import com.google.gerrit.extensions.restapi.ResourceNotFoundException;
|
||||
import com.google.gerrit.extensions.restapi.RestApiException;
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import com.google.gerrit.server.IdentifiedUser;
|
||||
import com.google.gerrit.server.account.AccountResource;
|
||||
import com.google.gerrit.server.account.AccountSshKey;
|
||||
import com.google.gerrit.server.permissions.PermissionBackendException;
|
||||
import com.google.gerrit.server.restapi.account.AddSshKey;
|
||||
import com.google.gerrit.server.restapi.account.CreateEmail;
|
||||
|
||||
@@ -1,63 +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.reviewdb.client;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class AccountSshKeyTest {
|
||||
private static final String KEY =
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCgug5VyMXQGnem2H1KVC4/HcRcD4zzBqS"
|
||||
+ "uJBRWVonSSoz3RoAZ7bWXCVVGwchtXwUURD689wFYdiPecOrWOUgeeyRq754YWRhU+W28"
|
||||
+ "vf8IZixgjCmiBhaL2gt3wff6pP+NXJpTSA4aeWE5DfNK5tZlxlSxqkKOS8JRSUeNQov5T"
|
||||
+ "w== john.doe@example.com";
|
||||
|
||||
private static final String KEY_WITH_NEWLINES =
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCgug5VyMXQGnem2H1KVC4/HcRcD4zzBqS\n"
|
||||
+ "uJBRWVonSSoz3RoAZ7bWXCVVGwchtXwUURD689wFYdiPecOrWOUgeeyRq754YWRhU+W28\n"
|
||||
+ "vf8IZixgjCmiBhaL2gt3wff6pP+NXJpTSA4aeWE5DfNK5tZlxlSxqkKOS8JRSUeNQov5T\n"
|
||||
+ "w== john.doe@example.com";
|
||||
|
||||
private final Account.Id accountId = new Account.Id(1);
|
||||
|
||||
@Test
|
||||
public void validity() throws Exception {
|
||||
AccountSshKey key = new AccountSshKey(new AccountSshKey.Id(accountId, -1), KEY);
|
||||
assertThat(key.isValid()).isFalse();
|
||||
key = new AccountSshKey(new AccountSshKey.Id(accountId, 0), KEY);
|
||||
assertThat(key.isValid()).isFalse();
|
||||
key = new AccountSshKey(new AccountSshKey.Id(accountId, 1), KEY);
|
||||
assertThat(key.isValid()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getters() throws Exception {
|
||||
AccountSshKey key = new AccountSshKey(new AccountSshKey.Id(accountId, 1), KEY);
|
||||
assertThat(key.getSshPublicKey()).isEqualTo(KEY);
|
||||
assertThat(key.getAlgorithm()).isEqualTo(KEY.split(" ")[0]);
|
||||
assertThat(key.getEncodedKey()).isEqualTo(KEY.split(" ")[1]);
|
||||
assertThat(key.getComment()).isEqualTo(KEY.split(" ")[2]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void keyWithNewLines() throws Exception {
|
||||
AccountSshKey key = new AccountSshKey(new AccountSshKey.Id(accountId, 1), KEY_WITH_NEWLINES);
|
||||
assertThat(key.getSshPublicKey()).isEqualTo(KEY);
|
||||
assertThat(key.getAlgorithm()).isEqualTo(KEY.split(" ")[0]);
|
||||
assertThat(key.getEncodedKey()).isEqualTo(KEY.split(" ")[1]);
|
||||
assertThat(key.getComment()).isEqualTo(KEY.split(" ")[2]);
|
||||
}
|
||||
}
|
||||
@@ -17,7 +17,6 @@ package com.google.gerrit.server.account;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import com.google.gerrit.reviewdb.client.Account;
|
||||
import com.google.gerrit.reviewdb.client.AccountSshKey;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
@@ -29,6 +28,11 @@ public class AuthorizedKeysTest {
|
||||
+ "uJBRWVonSSoz3RoAZ7bWXCVVGwchtXwUURD689wFYdiPecOrWOUgeeyRq754YWRhU+W28"
|
||||
+ "vf8IZixgjCmiBhaL2gt3wff6pP+NXJpTSA4aeWE5DfNK5tZlxlSxqkKOS8JRSUeNQov5T"
|
||||
+ "w== john.doe@example.com";
|
||||
private static final String KEY1_WITH_NEWLINES =
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQCgug5VyMXQGnem2H1KVC4/HcRcD4zzBqS\n"
|
||||
+ "uJBRWVonSSoz3RoAZ7bWXCVVGwchtXwUURD689wFYdiPecOrWOUgeeyRq754YWRhU+W28\n"
|
||||
+ "vf8IZixgjCmiBhaL2gt3wff6pP+NXJpTSA4aeWE5DfNK5tZlxlSxqkKOS8JRSUeNQov5T\n"
|
||||
+ "w== john.doe@example.com";
|
||||
private static final String KEY2 =
|
||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDm5yP7FmEoqzQRDyskX+9+N0q9GrvZeh5"
|
||||
+ "RG52EUpE4ms/Ujm3ewV1LoGzc/lYKJAIbdcZQNJ9+06EfWZaIRA3oOwAPe1eCnX+aLr8E"
|
||||
@@ -50,6 +54,8 @@ public class AuthorizedKeysTest {
|
||||
+ "zRuEL5e/QOu9yGq9xkWApCmg6edpWAHG+Bx4AldU78MiZvzoB7gMMdxc9RmZ1gYj/DjxV"
|
||||
+ "w== john.doe@example.com";
|
||||
|
||||
private final Account.Id accountId = new Account.Id(1);
|
||||
|
||||
@Test
|
||||
public void test() throws Exception {
|
||||
List<Optional<AccountSshKey>> keys = new ArrayList<>();
|
||||
@@ -105,6 +111,34 @@ public class AuthorizedKeysTest {
|
||||
assertParse(authorizedKeys, keys);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void validity() throws Exception {
|
||||
AccountSshKey key = new AccountSshKey(new AccountSshKey.Id(accountId, -1), KEY1);
|
||||
assertThat(key.isValid()).isFalse();
|
||||
key = new AccountSshKey(new AccountSshKey.Id(accountId, 0), KEY1);
|
||||
assertThat(key.isValid()).isFalse();
|
||||
key = new AccountSshKey(new AccountSshKey.Id(accountId, 1), KEY1);
|
||||
assertThat(key.isValid()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getters() throws Exception {
|
||||
AccountSshKey key = new AccountSshKey(new AccountSshKey.Id(accountId, 1), KEY1);
|
||||
assertThat(key.getSshPublicKey()).isEqualTo(KEY1);
|
||||
assertThat(key.getAlgorithm()).isEqualTo(KEY1.split(" ")[0]);
|
||||
assertThat(key.getEncodedKey()).isEqualTo(KEY1.split(" ")[1]);
|
||||
assertThat(key.getComment()).isEqualTo(KEY1.split(" ")[2]);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void keyWithNewLines() throws Exception {
|
||||
AccountSshKey key = new AccountSshKey(new AccountSshKey.Id(accountId, 1), KEY1_WITH_NEWLINES);
|
||||
assertThat(key.getSshPublicKey()).isEqualTo(KEY1);
|
||||
assertThat(key.getAlgorithm()).isEqualTo(KEY1.split(" ")[0]);
|
||||
assertThat(key.getEncodedKey()).isEqualTo(KEY1.split(" ")[1]);
|
||||
assertThat(key.getComment()).isEqualTo(KEY1.split(" ")[2]);
|
||||
}
|
||||
|
||||
private static String toWindowsLineEndings(String s) {
|
||||
return s.replaceAll("\n", "\r\n");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user