public abstract class SshTestHarness extends RepositoryTestCase
copyTestResource(String, File)
. These test key files names have four
components, separated by a single underscore: "id", the algorithm, the bits
(if variable), and the password if the private key is encrypted. For instance
"id_ecdsa_384_testpass
" is an encrypted ECDSA-384 key. The passphrase
to decrypt is "testpass". The key "id_ecdsa_384
" is the same but
unencrypted. All keys were generated and encrypted via ssh-keygen. Note that
DSA and ec25519 have no "bits" component. Available keys are listed in
SshTestBase.KEY_RESOURCES
.Modifier and Type | Class and Description |
---|---|
protected static class |
SshTestHarness.LogEntry |
protected static class |
SshTestHarness.TestCredentialsProvider |
Modifier and Type | Field and Description |
---|---|
protected File |
knownHosts |
protected File |
privateKey1 |
protected File |
privateKey2 |
protected File |
publicKey1 |
protected SshTestGitServer |
server |
protected File |
sshDir |
protected static String |
TEST_USER |
protected int |
testPort |
db, trash
ASSUME_UNCHANGED, author, committer, CONTENT, CONTENT_ID, LENGTH, mockSystemReader, MOD_TIME, SMUDGE
Constructor and Description |
---|
SshTestHarness() |
Modifier and Type | Method and Description |
---|---|
protected File |
cloneWith(String uri,
File to,
CredentialsProvider provider,
String... config) |
protected void |
copyTestResource(Class<?> loader,
String resourceName,
File to)
Copies a test data file contained in the test bundle to the given file,
using
Class.getResourceAsStream(String) to get the test resource. |
protected void |
copyTestResource(String resourceName,
File to)
Copies a test data file contained in the test bundle to the given file.
|
protected static String |
createKnownHostsFile(File file,
String host,
int port,
File publicKey)
Creates a new known_hosts file with one entry for the given host and port
taken from the given public key file.
|
protected abstract SshSessionFactory |
createSessionFactory() |
protected SshSessionFactory |
getSessionFactory() |
protected boolean |
hasHostKey(String host,
int port,
String keyPart,
List<String> lines)
Checks whether there is a line for the given host and port that also
matches the given key part in the list of lines.
|
protected abstract void |
installConfig(String... config) |
protected void |
pushTo(CredentialsProvider provider,
File localClone) |
protected void |
pushTo(File localClone) |
void |
setUp()
Setup test
|
void |
shutdownServer() |
assertEqualsFile, check, checkFile, checkoutBranch, commitFile, copyFile, createBranch, createEntry, createEntry, createEntry, deleteTrashFile, fsTick, indexState, lookup, read, resetIndex, slashify, writeLink, writeTrashFile, writeTrashFile, writeTrashFiles
addRepoToClose, createBareRepository, createRepository, createRepository, createTempDirectory, createTempFile, createUniqueTestGitDir, createWorkRepository, getCeilings, getTemporaryDirectory, indexState, read, recursiveDelete, runHook, tearDown, tick, write, write
protected static final String TEST_USER
protected File sshDir
protected File privateKey1
protected File privateKey2
protected File publicKey1
protected SshTestGitServer server
protected int testPort
protected File knownHosts
public void setUp() throws Exception
RepositoryTestCase
setUp
in class RepositoryTestCase
Exception
protected static String createKnownHostsFile(File file, String host, int port, File publicKey) throws IOException
file
- to write the known_hosts file tohost
- for the entryport
- for the entrypublicKey
- to useIOException
protected boolean hasHostKey(String host, int port, String keyPart, List<String> lines)
host
- to look forport
- to look forkeyPart
- to look forlines
- to look intrue
if found, false
otherwiseprotected abstract SshSessionFactory createSessionFactory()
protected SshSessionFactory getSessionFactory()
protected abstract void installConfig(String... config)
protected void copyTestResource(String resourceName, File to) throws IOException
copyTestResource(Class, String, File)
with
SshTestHarness.class
as first parameter.resourceName
- of the test resource to copyto
- file to copy the resource toIOException
- if the resource cannot be copiedprotected void copyTestResource(Class<?> loader, String resourceName, File to) throws IOException
Class.getResourceAsStream(String)
to get the test resource.loader
- Class
to use to load the resourceresourceName
- of the test resource to copyto
- file to copy the resource toIOException
- if the resource cannot be copiedprotected File cloneWith(String uri, File to, CredentialsProvider provider, String... config) throws Exception
Exception
protected void pushTo(CredentialsProvider provider, File localClone) throws Exception
Exception
Copyright © 2020 Eclipse JGit Project. All rights reserved.