From f79303bf69a28350e3ff2af463f1cf1a17f3157f Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Mon, 30 Oct 2006 23:30:39 +0000
Subject: [PATCH] Update the test cases for the LDAP tools so that the tests providing invalid arguments include a message with the reason that each argument set was invalid. This can be used to help identify which particular set of arguments caused a problem if any of the associated unit tests fail.

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPCompareTestCase.java |  110 ++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 73 insertions(+), 37 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPCompareTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPCompareTestCase.java
index 0efe18b..da03e95 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPCompareTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPCompareTestCase.java
@@ -104,116 +104,135 @@
   @DataProvider(name = "invalidArgs")
   public Object[][] getInvalidArgumentLists()
   {
-    ArrayList<String[]> argLists = new ArrayList<String[]>();
+    ArrayList<String[]> argLists   = new ArrayList<String[]>();
+    ArrayList<String>   reasonList = new ArrayList<String>();
 
-    String[] args = {}; // No arguments
+    String[] args = {};
     argLists.add(args);
+    reasonList.add("No arguments");
 
-    args = new String[] // No value for "-D" argument.
+    args = new String[]
     {
       "-D",
     };
     argLists.add(args);
+    reasonList.add("No value for '-D' argument");
 
-    args = new String[] // No value for "-w" argument.
+    args = new String[]
     {
       "-w",
     };
     argLists.add(args);
+    reasonList.add("No value for '-w' argument");
 
-    args = new String[] // No value for "-j" argument.
+    args = new String[]
     {
       "-j",
     };
     argLists.add(args);
+    reasonList.add("No value for '-j' argument");
 
-    args = new String[] // No value for "-i" argument.
+    args = new String[]
     {
       "-i",
     };
     argLists.add(args);
+    reasonList.add("No value for '-i' argument");
 
-    args = new String[] // No value for "-K" argument.
+    args = new String[]
     {
       "-K",
     };
     argLists.add(args);
+    reasonList.add("No value for '-K' argument");
 
-    args = new String[] // No value for "-P" argument.
+    args = new String[]
     {
       "-P",
     };
     argLists.add(args);
+    reasonList.add("No value for '-P' argument");
 
-    args = new String[] // No value for "-W" argument.
+    args = new String[]
     {
       "-W",
     };
     argLists.add(args);
+    reasonList.add("No value for '-W' argument");
 
-    args = new String[] // No value for "-h" argument.
+    args = new String[]
     {
       "-h",
     };
     argLists.add(args);
+    reasonList.add("No value for '-h' argument");
 
-    args = new String[] // No value for "-p" argument.
+    args = new String[]
     {
       "-p",
     };
     argLists.add(args);
+    reasonList.add("No value for '-p' argument");
 
-    args = new String[] // No value for "-V" argument.
+    args = new String[]
     {
       "-V",
     };
     argLists.add(args);
+    reasonList.add("No value for '-V' argument");
 
-    args = new String[] // No value for "-f" argument.
+    args = new String[]
     {
       "-f",
     };
     argLists.add(args);
+    reasonList.add("No value for '-f' argument");
 
-    args = new String[] // No value for "-J" argument.
+    args = new String[]
     {
       "-J",
     };
     argLists.add(args);
+    reasonList.add("No value for '-J' argument");
 
-    args = new String[] // No value for "-o" argument.
+    args = new String[]
     {
       "-o",
     };
     argLists.add(args);
+    reasonList.add("No value for '-o' argument");
 
-    args = new String[] // No value for "--assertionFilter" argument.
+    args = new String[]
     {
       "--assertionFilter",
     };
     argLists.add(args);
+    reasonList.add("No value for '--assertionFilter' argument");
 
-    args = new String[] // Invalid short argument
+    args = new String[]
     {
       "-I"
     };
     argLists.add(args);
+    reasonList.add("Invalid short argument");
 
-    args = new String[] // Invalid long argument
+    args = new String[]
     {
       "--invalidLongArgument"
     };
     argLists.add(args);
+    reasonList.add("Invalid long argument");
 
-    args = new String[] // Invalid assertion filter
+    args = new String[]
     {
       "--assertionFilter", "(invalidfilter)",
       "uid:test.user",
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Invalid assertion filter");
 
-    args = new String[] // Invalid bind password file path
+    args = new String[]
     {
       "-D", "cn=Directory Manager",
       "-j", "no.such.file",
@@ -221,8 +240,9 @@
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Invalid bind password file path");
 
-    args = new String[] // Both bind password and password file
+    args = new String[]
     {
       "-D", "cn=Directory Manager",
       "-w", "password",
@@ -231,56 +251,63 @@
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Both bind password and password file");
 
-    args = new String[] // Non-numeric LDAP version.
+    args = new String[]
     {
       "-V", "nonnumeric",
       "uid:test.user",
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Non-numeric LDAP version");
 
-    args = new String[] // Invalid LDAP version.
+    args = new String[]
     {
       "-V", "1",
       "uid:test.user",
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Invalid LDAP version");
 
-    args = new String[] // Invalid DN file path.
+    args = new String[]
     {
       "-f", "no.such.file",
       "uid:test.user",
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Invalid DN file path");
 
-    args = new String[] // Invalid control criticality
+    args = new String[]
     {
       "-J", "1.2.3.4:invalidcriticality",
       "uid:test.user",
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Invalid control criticality");
 
-    args = new String[] // Non-numeric port
+    args = new String[]
     {
       "-p", "nonnumeric",
       "uid:test.user",
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Non-numeric port");
 
-    args = new String[] // Port value out of range.
+    args = new String[]
     {
       "-p", "999999",
       "uid:test.user",
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Port value out of range");
 
-    args = new String[] // SASL external without SSL or StartTLS
+    args = new String[]
     {
       "-r",
       "-K", "key.store.file",
@@ -288,8 +315,9 @@
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("SASL external without SSL or StartTLS");
 
-    args = new String[] // SASL external without keystore file
+    args = new String[]
     {
       "-Z",
       "-r",
@@ -297,23 +325,26 @@
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("SASL external without keystore file");
 
-    args = new String[] // No trailing arguments
+    args = new String[]
     {
       "-D", "cn=Directory Manager",
       "-w", "password"
     };
     argLists.add(args);
+    reasonList.add("No trailing arguments");
 
-    args = new String[] // Only one trailing argument.
+    args = new String[]
     {
       "-D", "cn=Directory Manager",
       "-w", "password",
-      "uid:test.user",
+      "uid:test.user"
     };
     argLists.add(args);
+    reasonList.add("Only one trailing argument");
 
-    args = new String[] // Malformed attribute-value assertion
+    args = new String[]
     {
       "-D", "cn=Directory Manager",
       "-w", "password",
@@ -321,12 +352,14 @@
       "uid=test.user,o=test"
     };
     argLists.add(args);
+    reasonList.add("Malformed attribute-value assertion");
 
 
-    Object[][] returnArray = new Object[argLists.size()][1];
+    Object[][] returnArray = new Object[argLists.size()][2];
     for (int i=0; i < argLists.size(); i++)
     {
       returnArray[i][0] = argLists.get(i);
+      returnArray[i][1] = reasonList.get(i);
     }
     return returnArray;
   }
@@ -336,12 +369,15 @@
   /**
    * Tests the LDAPCompare tool with sets of invalid arguments.
    *
-   * @param  args  The set of arguments to use for the LDAPCompare tool.
+   * @param  args           The set of arguments to use for the LDAPCompare
+   *                        tool.
+   * @param  invalidReason  The reason the provided set of arguments is invalid.
    */
   @Test(dataProvider = "invalidArgs")
-  public void testInvalidArguments(String[] args)
+  public void testInvalidArguments(String[] args, String invalidReason)
   {
-    assertFalse(LDAPCompare.mainCompare(args, false, null, null) == 0);
+    assertFalse(LDAPCompare.mainCompare(args, false, null, null) == 0,
+                "Should have been invalid because:  " + invalidReason);
   }
 
 

--
Gitblit v1.10.0