This is an automated email from the ASF dual-hosted git repository.

jmclean pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new d4a90561f0 [#7984] Improvement (CLI): add validation method for entity 
type in SetOwner command (#8001)
d4a90561f0 is described below

commit d4a90561f027c32ef5ea1f0bb25d027f266e5cc5
Author: Reuben George <[email protected]>
AuthorDate: Mon Aug 11 08:34:03 2025 +0530

    [#7984] Improvement (CLI): add validation method for entity type in 
SetOwner command (#8001)
    
    ### What changes were proposed in this pull request?
    Add a validation method for entity type in SetOwner command
    
    ### Why are the changes needed?
    Fix: #7984
    
    ### Does this PR introduce _any_ user-facing change?
    No
    
    ### How was this patch tested?
    Added a UT
---
 .../main/java/org/apache/gravitino/cli/commands/SetOwner.java  |  9 +++++++++
 .../test/java/org/apache/gravitino/cli/TestOwnerCommands.java  | 10 ++++++++++
 2 files changed, 19 insertions(+)

diff --git 
a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/SetOwner.java 
b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/SetOwner.java
index a13f278b35..cfc2fcfd6b 100644
--- a/clients/cli/src/main/java/org/apache/gravitino/cli/commands/SetOwner.java
+++ b/clients/cli/src/main/java/org/apache/gravitino/cli/commands/SetOwner.java
@@ -98,4 +98,13 @@ public class SetOwner extends Command {
 
     printInformation("Set owner to " + owner);
   }
+
+  @Override
+  public Command validate() {
+    if (entityType == null) {
+      System.err.println(ErrorMessages.UNKNOWN_ENTITY);
+      throw new RuntimeException();
+    }
+    return super.validate();
+  }
 }
diff --git 
a/clients/cli/src/test/java/org/apache/gravitino/cli/TestOwnerCommands.java 
b/clients/cli/src/test/java/org/apache/gravitino/cli/TestOwnerCommands.java
index 9cd2838984..f3c8115185 100644
--- a/clients/cli/src/test/java/org/apache/gravitino/cli/TestOwnerCommands.java
+++ b/clients/cli/src/test/java/org/apache/gravitino/cli/TestOwnerCommands.java
@@ -193,4 +193,14 @@ class TestOwnerCommands {
     String errOutput = new String(errContent.toByteArray(), 
StandardCharsets.UTF_8).trim();
     assertEquals(ErrorMessages.INVALID_SET_COMMAND, errOutput);
   }
+
+  @Test
+  void testSetOwnerInvalidEntityType() {
+    Main.useExit = false;
+    CommandContext context = new CommandContext(mockCommandLine);
+    SetOwner setOwner = new SetOwner(context, "metalake_demo", "obj", 
"invalid", "user", false);
+    assertThrows(RuntimeException.class, setOwner::validate);
+    String errOutput = new String(errContent.toByteArray(), 
StandardCharsets.UTF_8).trim();
+    assertEquals(ErrorMessages.UNKNOWN_ENTITY, errOutput);
+  }
 }

Reply via email to