James Moger
2014-04-02 f7e97712b5c4edd72cad1e8e54490de02a766224
src/test/java/com/gitblit/tests/SshDaemonTest.java
@@ -26,11 +26,16 @@
import org.apache.sshd.ClientSession;
import org.apache.sshd.SshClient;
import org.apache.sshd.common.KeyPairProvider;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import com.gitblit.Constants;
import com.gitblit.transport.ssh.IPublicKeyManager;
import com.gitblit.transport.ssh.MemoryKeyManager;
import com.gitblit.transport.ssh.SshKey;
public class SshDaemonTest extends GitblitUnitTest {
@@ -50,6 +55,27 @@
      }
   }
   protected MemoryKeyManager getKeyManager() {
      IPublicKeyManager mgr = gitblit().getPublicKeyManager();
      if (mgr instanceof MemoryKeyManager) {
         return (MemoryKeyManager) gitblit().getPublicKeyManager();
      } else {
         throw new RuntimeException("unexpected key manager type " + mgr.getClass().getName());
      }
   }
   @Before
   public void prepare() {
      MemoryKeyManager keyMgr = getKeyManager();
      keyMgr.addKey("admin", new SshKey(pair.getPublic()));
   }
   @After
   public void tearDown() {
      MemoryKeyManager keyMgr = getKeyManager();
      keyMgr.removeAllKeys("admin");
   }
   @Test
   public void testPublicKeyAuthentication() throws Exception {
      SshClient client = SshClient.setUpDefaultClient();
@@ -67,7 +93,7 @@
        pair.getPublic().getEncoded();
        assertTrue(session.authPublicKey("admin", pair).await().isSuccess());
        ClientChannel channel = session.createChannel(ClientChannel.CHANNEL_EXEC, "gitblit version");
        ClientChannel channel = session.createChannel(ClientChannel.CHANNEL_EXEC, "version");
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        Writer w = new OutputStreamWriter(baos);
        w.close();