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);
+ }
}