package com.github.danielflower.mavenplugins.release;
import com.jcraft.jsch.HostKey;
import com.jcraft.jsch.JSch;
import org.apache.maven.plugin.logging.Log;
import org.eclipse.jgit.util.FS;
import org.junit.Test;
import java.io.File;
import java.net.URL;
import static java.lang.String.format;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.mockito.Mockito.mock;
/**
* @author Roland Hauser sourcepond@gmail.com
*
*/
public class SshAgentSessionFactoryTest {
private static final String KNOWN_HOSTS = "known_hosts";
private final Log log = mock(Log.class);
private final FS fs = mock(FS.class);
private String getFile(final String name) throws Exception {
final URL url = getClass().getResource("/" + name);
assertNotNull(format("File {} not found", name), url);
return new File(url.toURI()).getAbsolutePath();
}
@Test
public void createDefaultJSch_WithKnownHosts() throws Exception {
final SshAgentSessionFactory factory = new SshAgentSessionFactory(log, KNOWN_HOSTS, null, null);
factory.setKnownHosts(getFile(KNOWN_HOSTS));
final JSch jsch = factory.createDefaultJSch(fs);
final HostKey[] keys = jsch.getHostKeyRepository().getHostKey("github.com", "ssh-rsa");
assertEquals(1, keys.length);
}
}