From ce4dcb52999fdfb6e228ac79584b165672ad7487 Mon Sep 17 00:00:00 2001 From: VigneshSK17 Date: Sat, 11 Jan 2025 15:22:35 -0500 Subject: [PATCH] Updated tests to use GravitinoCommandLine instead. --- .../gravitino/cli/CatalogCommandHandler.java | 7 ++--- .../gravitino/cli/GravitinoCommandLine.java | 7 ++--- .../gravitino/cli/TestCatalogCommands.java | 26 ++++++++++++++++--- .../gravitino/cli/TestMetalakeCommands.java | 19 +++++++++++--- 4 files changed, 41 insertions(+), 18 deletions(-) diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/CatalogCommandHandler.java b/clients/cli/src/main/java/org/apache/gravitino/cli/CatalogCommandHandler.java index 8e238406854..75c0f03ccb3 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/CatalogCommandHandler.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/CatalogCommandHandler.java @@ -186,14 +186,11 @@ private void handlePropertiesCommand() { /** Handles the "UPDATE" command. */ private void handleUpdateCommand() { - if (line.hasOption(GravitinoOptions.ENABLE) && line.hasOption(GravitinoOptions.DISABLE)) { - System.err.println(ErrorMessages.INVALID_ENABLE_DISABLE); - Main.exit(-1); - } if (line.hasOption(GravitinoOptions.ENABLE)) { boolean enableMetalake = line.hasOption(GravitinoOptions.ALL); + boolean disable = line.hasOption(GravitinoOptions.DISABLE); gravitinoCommandLine - .newCatalogEnable(url, ignore, metalake, catalog, enableMetalake) + .newCatalogEnable(url, ignore, metalake, catalog, disable, enableMetalake) .validate() .handle(); } diff --git a/clients/cli/src/main/java/org/apache/gravitino/cli/GravitinoCommandLine.java b/clients/cli/src/main/java/org/apache/gravitino/cli/GravitinoCommandLine.java index 675a96d36a8..7aa2001ff6d 100644 --- a/clients/cli/src/main/java/org/apache/gravitino/cli/GravitinoCommandLine.java +++ b/clients/cli/src/main/java/org/apache/gravitino/cli/GravitinoCommandLine.java @@ -209,13 +209,10 @@ private void handleMetalakeCommand() { break; case CommandActions.UPDATE: - if (line.hasOption(GravitinoOptions.ENABLE) && line.hasOption(GravitinoOptions.DISABLE)) { - System.err.println(ErrorMessages.INVALID_ENABLE_DISABLE); - Main.exit(-1); - } if (line.hasOption(GravitinoOptions.ENABLE)) { boolean enableAllCatalogs = line.hasOption(GravitinoOptions.ALL); - newMetalakeEnable(url, ignore, metalake, enableAllCatalogs).validate().handle(); + boolean disable = line.hasOption(GravitinoOptions.DISABLE); + newMetalakeEnable(url, ignore, metalake, disable, enableAllCatalogs).validate().handle(); } if (line.hasOption(GravitinoOptions.DISABLE)) { newMetalakeDisable(url, ignore, metalake).validate().handle(); diff --git a/clients/cli/src/test/java/org/apache/gravitino/cli/TestCatalogCommands.java b/clients/cli/src/test/java/org/apache/gravitino/cli/TestCatalogCommands.java index 040f5835eac..b2e745a7967 100644 --- a/clients/cli/src/test/java/org/apache/gravitino/cli/TestCatalogCommands.java +++ b/clients/cli/src/test/java/org/apache/gravitino/cli/TestCatalogCommands.java @@ -513,12 +513,30 @@ void testDisableCatalogCommand() { @SuppressWarnings("DefaultCharset") void testCatalogWithDisableAndEnableOptions() { Main.useExit = false; - CatalogEnable mockCatalogEnable = + when(mockCommandLine.hasOption(GravitinoOptions.METALAKE)).thenReturn(true); + when(mockCommandLine.getOptionValue(GravitinoOptions.METALAKE)).thenReturn("metalake_demo"); + when(mockCommandLine.hasOption(GravitinoOptions.NAME)).thenReturn(true); + when(mockCommandLine.getOptionValue(GravitinoOptions.NAME)).thenReturn("catalog"); + when(mockCommandLine.hasOption(GravitinoOptions.DISABLE)).thenReturn(true); + when(mockCommandLine.hasOption(GravitinoOptions.ENABLE)).thenReturn(true); + + GravitinoCommandLine commandLine = spy( - new CatalogEnable( - GravitinoCommandLine.DEFAULT_URL, false, "metalake_demo", "catalog", true, false)); + new GravitinoCommandLine( + mockCommandLine, mockOptions, CommandEntities.CATALOG, CommandActions.UPDATE)); - assertThrows(RuntimeException.class, mockCatalogEnable::validate); + assertThrows( + RuntimeException.class, + () -> + commandLine + .newCatalogEnable( + GravitinoCommandLine.DEFAULT_URL, + false, + "metalake_demo", + "catalog", + true, + false) + .validate()); String errOutput = new String(errContent.toByteArray(), StandardCharsets.UTF_8).trim(); Assertions.assertEquals(ErrorMessages.INVALID_ENABLE_DISABLE, errOutput); } diff --git a/clients/cli/src/test/java/org/apache/gravitino/cli/TestMetalakeCommands.java b/clients/cli/src/test/java/org/apache/gravitino/cli/TestMetalakeCommands.java index 88baa0c43a2..881ffb82db6 100644 --- a/clients/cli/src/test/java/org/apache/gravitino/cli/TestMetalakeCommands.java +++ b/clients/cli/src/test/java/org/apache/gravitino/cli/TestMetalakeCommands.java @@ -432,12 +432,23 @@ void testDisableMetalakeCommand() { @SuppressWarnings("DefaultCharset") void testMetalakeWithDisableAndEnableOptions() { Main.useExit = false; - MetalakeEnable mockMetalakeEnable = + when(mockCommandLine.hasOption(GravitinoOptions.METALAKE)).thenReturn(true); + when(mockCommandLine.getOptionValue(GravitinoOptions.METALAKE)).thenReturn("metalake_demo"); + when(mockCommandLine.hasOption(GravitinoOptions.DISABLE)).thenReturn(true); + when(mockCommandLine.hasOption(GravitinoOptions.ENABLE)).thenReturn(true); + + GravitinoCommandLine commandLine = spy( - new MetalakeEnable( - GravitinoCommandLine.DEFAULT_URL, false, "metalake_demo", true, false)); + new GravitinoCommandLine( + mockCommandLine, mockOptions, CommandEntities.METALAKE, CommandActions.UPDATE)); - assertThrows(RuntimeException.class, mockMetalakeEnable::validate); + assertThrows( + RuntimeException.class, + () -> + commandLine + .newMetalakeEnable( + GravitinoCommandLine.DEFAULT_URL, false, "metalake_demo", true, false) + .validate()); String errOutput = new String(errContent.toByteArray(), StandardCharsets.UTF_8).trim(); Assertions.assertEquals(ErrorMessages.INVALID_ENABLE_DISABLE, errOutput); }