You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by lm...@apache.org on 2016/01/26 22:15:32 UTC

knox git commit: KNOX-507 - Deletion of Non existing Alias from a cluster should not be successful (J.Andreina via lmccay)

Repository: knox
Updated Branches:
  refs/heads/master 62c759678 -> 94ec60ca5


KNOX-507 - Deletion of Non existing Alias from a cluster should not be successful (J.Andreina via lmccay)

Project: http://git-wip-us.apache.org/repos/asf/knox/repo
Commit: http://git-wip-us.apache.org/repos/asf/knox/commit/94ec60ca
Tree: http://git-wip-us.apache.org/repos/asf/knox/tree/94ec60ca
Diff: http://git-wip-us.apache.org/repos/asf/knox/diff/94ec60ca

Branch: refs/heads/master
Commit: 94ec60ca5b8db35c038abf06f2a6e78b4a3cb7c2
Parents: 62c7596
Author: Larry McCay <lm...@hortonworks.com>
Authored: Tue Jan 26 16:15:09 2016 -0500
Committer: Larry McCay <lm...@hortonworks.com>
Committed: Tue Jan 26 16:15:09 2016 -0500

----------------------------------------------------------------------
 .../org/apache/hadoop/gateway/util/KnoxCLI.java | 10 +++-
 .../apache/hadoop/gateway/util/KnoxCLITest.java | 48 ++++++++++++++++++++
 2 files changed, 56 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/knox/blob/94ec60ca/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
----------------------------------------------------------------------
diff --git a/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java b/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
index 82618be..037d3df 100644
--- a/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
+++ b/gateway-server/src/main/java/org/apache/hadoop/gateway/util/KnoxCLI.java
@@ -623,8 +623,14 @@ public class KnoxCLI extends Configured implements Tool {
         boolean credentialStoreForClusterAvailable =
             keystoreService.isCredentialStoreForClusterAvailable(cluster);
         if (credentialStoreForClusterAvailable) {
-          as.removeAliasForCluster(cluster, name);
-          out.println(name + " has been successfully deleted.");
+          List<String> aliasesForCluster = as.getAliasesForCluster(cluster);
+          if (null == aliasesForCluster || !aliasesForCluster.contains(name)) {
+            out.println("Deletion of Alias: " + name + " from cluster: " + cluster + " Failed. "
+                + "\n" + "No such alias exists in the cluster.");
+          } else {
+            as.removeAliasForCluster(cluster, name);
+            out.println(name + " has been successfully deleted.");
+          }
         } else {
           out.println("Invalid cluster name provided: " + cluster);
         }

http://git-wip-us.apache.org/repos/asf/knox/blob/94ec60ca/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java
----------------------------------------------------------------------
diff --git a/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java b/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java
index 1d87375..4e8c08e 100644
--- a/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java
+++ b/gateway-server/src/test/java/org/apache/hadoop/gateway/util/KnoxCLITest.java
@@ -125,6 +125,54 @@ public class KnoxCLITest {
   }
 
   @Test
+  public void testDeleteOfNonExistAliasFromUserDefinedCluster() throws Exception {
+    KnoxCLI cli = new KnoxCLI();
+    cli.setConf(new GatewayConfigImpl());
+    try {
+      int rc = 0;
+      outContent.reset();
+      String[] args1 =
+          { "create-alias", "alias1", "--cluster", "cluster1", "--value", "testvalue1", "--master",
+              "master" };
+      cli.run(args1);
+
+      // Delete invalid alias from the cluster
+      outContent.reset();
+      String[] args2 = { "delete-alias", "alias2", "--cluster", "cluster1", "--master", "master" };
+      rc = cli.run(args2);
+      assertEquals(0, rc);
+      assertTrue(outContent.toString().contains("No such alias exists in the cluster."));
+    } finally {
+      outContent.reset();
+      String[] args1 = { "delete-alias", "alias1", "--cluster", "cluster1", "--master", "master" };
+      cli.run(args1);
+    }
+  }
+
+  @Test
+  public void testDeleteOfNonExistAliasFromDefaultCluster() throws Exception {
+    KnoxCLI cli = new KnoxCLI();
+    cli.setConf(new GatewayConfigImpl());
+    try {
+      int rc = 0;
+      outContent.reset();
+      String[] args1 = { "create-alias", "alias1", "--value", "testvalue1", "--master", "master" };
+      cli.run(args1);
+
+      // Delete invalid alias from the cluster
+      outContent.reset();
+      String[] args2 = { "delete-alias", "alias2", "--master", "master" };
+      rc = cli.run(args2);
+      assertEquals(0, rc);
+      assertTrue(outContent.toString().contains("No such alias exists in the cluster."));
+    } finally {
+      outContent.reset();
+      String[] args1 = { "delete-alias", "alias1", "--master", "master" };
+      cli.run(args1);
+    }
+  }
+
+  @Test
   public void testForInvalidArgument() throws Exception {
     outContent.reset();
     String[] args1 = { "--value", "testvalue1", "--master", "master" };