From ae2964516ff5296a50b354b4c1283879a637dc0c Mon Sep 17 00:00:00 2001
From: Violette Roche-Montane <violette.roche-montane@forgerock.com>
Date: Thu, 06 Feb 2014 16:32:17 +0000
Subject: [PATCH] Checkpoint commit for OPENDJ-1306 - Added subcommand for Setup CLI. - Added logger. - Removed javacheckversion from model. The function is now in the Utils. - Added unit tests for subcommands.

---
 opendj-server/src/test/java/org/forgerock/opendj/server/setup/cli/SetupCliTestCase.java |   40 +++++++++++++++++++++++++++-------------
 1 files changed, 27 insertions(+), 13 deletions(-)

diff --git a/opendj-server/src/test/java/org/forgerock/opendj/server/setup/cli/SetupCliTestCase.java b/opendj-server/src/test/java/org/forgerock/opendj/server/setup/cli/SetupCliTestCase.java
index b13dd2f..0b1225d 100644
--- a/opendj-server/src/test/java/org/forgerock/opendj/server/setup/cli/SetupCliTestCase.java
+++ b/opendj-server/src/test/java/org/forgerock/opendj/server/setup/cli/SetupCliTestCase.java
@@ -40,6 +40,7 @@
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 
+import com.forgerock.opendj.cli.ReturnCode;
 import com.forgerock.opendj.cli.Utils;
 
 /**
@@ -52,7 +53,12 @@
     Object[][] createValidArguments() throws Exception {
         Object[][] data = new Object[][] {
             { args("--help"),
-              expectedErrOutput(LocalizableMessage.raw("Command options:")) }, };
+                expectedErrOutput(INFO_SETUP_DESCRIPTION.get()) },
+            { args("--cli", "create-directory-server", "--doNotStart", "--ldapPort", "1389",
+                "--adminConnectorPort", "4444",
+                "-D", "cn=Directory Manager", "-w", "password", "-b", "dc=example,dc=com",
+                "-a"), expectedErrOutput(LocalizableMessage.EMPTY) },
+        };
         return data;
     }
 
@@ -61,7 +67,7 @@
         Object[][] data = new Object[][] {
             { args("-c"),
                 expectedErrOutput(
-                        ERR_ERROR_PARSING_ARGS.get(ERR_ARGPARSER_NO_ARGUMENT_WITH_SHORT_ID.get("c"))) },
+                        ERR_ERROR_PARSING_ARGS.get(ERR_SUBCMDPARSER_NO_GLOBAL_ARGUMENT_FOR_SHORT_ID.get("c"))) },
             { args("-N"), expectedErrOutput(ERR_ERROR_PARSING_ARGS.get(
                     ERR_ARGPARSER_NO_VALUE_FOR_ARGUMENT_WITH_SHORT_ID.get("N"))) },
         };
@@ -74,7 +80,7 @@
             { args("--cli", "--doNotStart", "--ldapPort", "1389", "--adminConnectorPort", "4444",
                     "-D", "cn=Directory Manager", "-w", "password", "-b", "dc=example,dc=com",
                     "-a"),
-                expectedErrOutput(LocalizableMessage.EMPTY) },
+                null },
         };
         return data;
     }
@@ -109,7 +115,7 @@
     }
     // @formatter:on
 
-    /*@Test(dataProvider = "validArguments")
+    @Test(dataProvider = "validArguments")
     public void testRunValidArguments(String[] arguments, LocalizableMessage expectedErrOutput) throws Exception {
         run(arguments, true, expectedErrOutput);
     }
@@ -117,17 +123,24 @@
     @Test(dataProvider = "invalidArguments")
     public void testRunInvalidArguments(String[] arguments, LocalizableMessage expectedErrOutput) throws Exception {
         run(arguments, false, expectedErrOutput);
-    }*/
+    }
+
+    @Test(dataProvider = "validPorts")
+    public void testcheckValidProvidedPorts(String[] arguments, LocalizableMessage expectedErrOutput) throws Exception {
+        run(arguments, true, expectedErrOutput);
+    }
 
     @Test(dataProvider = "invalidPorts")
-    public void testcheckProvidedPorts(String[] arguments, LocalizableMessage expectedErrOutput) throws Exception {
+    public void testcheckInvalidProvidedPorts(String[] arguments, LocalizableMessage expectedErrOutput)
+            throws Exception {
         run(arguments, false, expectedErrOutput);
     }
 
-    private void run(String[] arguments, boolean expectsResults, LocalizableMessage expectedErrOutput)
+    private void run(final String[] arguments, final boolean shouldSucceed, final LocalizableMessage expectedErrOutput)
             throws UnsupportedEncodingException {
         PrintStream outStream = null;
         PrintStream errStream = null;
+        int resultCode = 0;
         try {
             ByteArrayOutputStream out = new ByteArrayOutputStream();
             outStream = new PrintStream(out);
@@ -135,19 +148,21 @@
             errStream = new PrintStream(err);
 
             final SetupCli setup = new SetupCli(outStream, errStream);
-            setup.run(arguments);
+            resultCode = setup.run(arguments);
 
-            if (expectsResults) {
-                assertThat(out.size()).isGreaterThan(0);
-                assertThat(out.toString("UTF-8")).contains(wrapText(expectedErrOutput, MAX_LINE_WIDTH));
+            if (shouldSucceed) {
+                if (expectedErrOutput != null) {
+                    assertThat(out.toString("UTF-8")).contains(wrapText(expectedErrOutput, MAX_LINE_WIDTH));
+                }
+                assertThat(resultCode).isEqualTo(ReturnCode.SUCCESS.get());
             } else {
+                assertThat(resultCode).isNotEqualTo(ReturnCode.SUCCESS.get());
                 assertThat(out.size()).isEqualTo(0);
                 assertThat(err.size()).isGreaterThan(0);
                 final String errorMsg = err.toString("UTF-8").replaceAll(Utils.LINE_SEPARATOR, " ");
                 final String expectedMsg = expectedErrOutput.toString().replaceAll(Utils.LINE_SEPARATOR, " ");
                 assertTrue(errorMsg.contains(expectedMsg), errorMsg + "\n >---< \n" + expectedMsg);
             }
-
         } finally {
             closeSilently(outStream, errStream);
         }
@@ -162,5 +177,4 @@
     private LocalizableMessage expectedErrOutput(LocalizableMessage val) {
         return val;
     }
-
 }

--
Gitblit v1.10.0