blob: 619ab98b742196bdadd58807549e4b2e783e1cae [file] [log] [blame]
// Copyright (C) 2019 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.googlesource.gerrit.plugins.serviceuser;
import static com.google.common.truth.Truth.assertThat;
import org.junit.Test;
public class SshKeyValidatorTest {
private final String[] VALID_PUBLIC_KEYS = {
"---- BEGIN SSH2 PUBLIC KEY ----\n"
+ " Comment: comment\n"
+ " AAAAB3NzaC1\n"
+ " ---- END SSH2 PUBLIC KEY ----",
"---- BEGIN PUBLIC KEY ----\n"
+ " Comment: comment\n"
+ " AAAAB3NzaC1\n"
+ " ---- END PUBLIC KEY ----",
"-----BEGIN RSA PUBLIC KEY-----\nMIIBC\n-----END RSA PUBLIC KEY-----",
"ssh-rsa AAAAB3NzaC1",
"ssh-dss AAAAB3NzaC1",
"ssh-ed25519 AAAAB3NzaC1",
"ecdsa-sha2-nistp256 AAAAB3NzaC1"
};
private final String[] INVALID_PUBLIC_KEYS = {
"---- BEGIN SSH2 PUBLIC KEY ----\n Comment: comment\n AAAAB3NzaC1\n",
"-----BEGIN PRIVATE KEY-----\nMIIBC\n-----END PRIVATE KEY-----",
"AAAAB3NzaC1\n ---- END SSH2 PUBLIC KEY ----",
"",
"invalid key"
};
@Test
public void testValidateSshKeyFormat_Valid() {
for (String keyToTest : VALID_PUBLIC_KEYS) {
assertThat(SshKeyValidator.validateFormat(keyToTest)).isTrue();
}
}
@Test
public void testValidateSshKeyFormat_Invalid() {
for (String keyToTest : INVALID_PUBLIC_KEYS) {
assertThat(SshKeyValidator.validateFormat(keyToTest)).isFalse();
}
}
}