From eecaad8b8e2c447429c31a01d49260ddd6b4ee03 Mon Sep 17 00:00:00 2001
From: Paul Martin <paul@paulsputer.com>
Date: Sat, 16 Apr 2016 17:35:32 -0400
Subject: [PATCH] Proof of concept #1026

---
 src/test/java/com/gitblit/tests/SshKeysDispatcherTest.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/src/test/java/com/gitblit/tests/SshKeysDispatcherTest.java b/src/test/java/com/gitblit/tests/SshKeysDispatcherTest.java
index 8ccdc5b..23e6179 100644
--- a/src/test/java/com/gitblit/tests/SshKeysDispatcherTest.java
+++ b/src/test/java/com/gitblit/tests/SshKeysDispatcherTest.java
@@ -103,6 +103,20 @@
 	}
 
 	@Test
+	public void testKeysAddBlankCommand() throws Exception {
+		testSshCommand("keys add --permission R", "\n");
+		List<SshKey> keys = getKeyManager().getKeys(username);
+		assertEquals(String.format("There are %d keys!", keys.size()), 2, keys.size());
+	}
+
+	@Test
+	public void testKeysAddInvalidCommand() throws Exception {
+		testSshCommand("keys add --permission R", "My invalid key\n");
+		List<SshKey> keys = getKeyManager().getKeys(username);
+		assertEquals(String.format("There are %d keys!", keys.size()), 2, keys.size());
+	}
+
+	@Test
 	public void testKeysCommentCommand() throws Exception {
 		List<SshKey> keys = getKeyManager().getKeys(username);
 		assertTrue(StringUtils.isEmpty(keys.get(0).getComment()));
@@ -112,4 +126,20 @@
 		keys = getKeyManager().getKeys(username);
 		assertEquals(comment, keys.get(0).getComment());
 	}
+
+	@Test
+	public void testKeysPermissionCommand() throws Exception {
+		List<SshKey> keys = getKeyManager().getKeys(username);
+		assertTrue(StringUtils.isEmpty(keys.get(0).getComment()));
+		testSshCommand(String.format("keys permission 1 %s", AccessPermission.CLONE));
+
+		keys = getKeyManager().getKeys(username);
+		assertEquals(AccessPermission.CLONE, keys.get(0).getPermission());
+
+		testSshCommand(String.format("keys permission 1 %s", AccessPermission.PUSH));
+
+		keys = getKeyManager().getKeys(username);
+		assertEquals(AccessPermission.PUSH, keys.get(0).getPermission());
+
+	}
 }

--
Gitblit v1.9.1