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/LDAPSearchTestCase.java | 183 ++++++++++++++++++++++++++-------------------
1 files changed, 107 insertions(+), 76 deletions(-)
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPSearchTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPSearchTestCase.java
index c2a7e70..99a22f2 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPSearchTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/tools/LDAPSearchTestCase.java
@@ -102,197 +102,222 @@
@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 '-b' argument
+ args = new String[]
{
"-b"
};
argLists.add(args);
+ reasonList.add("No value for '-b' argument");
- 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 '-Y' argument
+ args = new String[]
{
"-Y"
};
argLists.add(args);
+ reasonList.add("No value for '-Y' 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 '-z' argument
+ args = new String[]
{
"-z"
};
argLists.add(args);
+ reasonList.add("No value for '-z' argument");
- args = new String[] // No value for '-l' argument
+ args = new String[]
{
"-l"
};
argLists.add(args);
+ reasonList.add("No value for '-l' argument");
- args = new String[] // No value for '-s' argument
+ args = new String[]
{
"-s"
};
argLists.add(args);
+ reasonList.add("No value for '-s' argument");
- args = new String[] // No value for '-a' argument
+ args = new String[]
{
"-a"
};
argLists.add(args);
+ reasonList.add("No value for '-a' 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 '-c' argument
+ args = new String[]
{
"-c"
};
argLists.add(args);
+ reasonList.add("No value for '-c' 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[] // No value for '--matchedValuesFilter' argument
+ args = new String[]
{
"--matchedValuesFilter"
};
argLists.add(args);
+ reasonList.add("No value for '--matchedValuesFilter' 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[] // No base DN
+ args = new String[]
{
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("No base DN");
- args = new String[] // Base DN with no value
- {
- "-b"
- };
- argLists.add(args);
-
- args = new String[] // No filter
+ args = new String[]
{
"-b", ""
};
argLists.add(args);
+ reasonList.add("No filter");
- args = new String[] // Invalid search filter
+ args = new String[]
{
"-b", "",
"(invalidfilter)"
};
argLists.add(args);
+ reasonList.add("Invalid search filter");
- args = new String[] // Invalid assertion filter
+ args = new String[]
{
"-b", "",
"--assertionFilter", "(invalidfilter)",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid assertion filter");
- args = new String[] // Invalid matched values filter
+ args = new String[]
{
"-b", "",
"--matchedValuesFilter", "(invalidfilter)",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid matched values filter");
- args = new String[] // Invalid bind password file path
+ args = new String[]
{
"-D", "cn=Directory Manager",
"-j", "no.such.file",
@@ -300,8 +325,9 @@
"(objectClass=*)"
};
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",
@@ -310,143 +336,143 @@
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Both bind password and bind password file");
- args = new String[] // Non-numeric LDAP version.
+ args = new String[]
{
"-b", "",
"-V", "nonnumeric",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Non-numeric LDAP version");
- args = new String[] // Invalid LDAP version.
+ args = new String[]
{
"-b", "",
"-V", "1",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid LDAP version");
- args = new String[] // Invalid filter file path.
+ args = new String[]
{
"-b", "",
"-f", "no.such.file"
};
argLists.add(args);
+ reasonList.add("Invalid filter file path");
- args = new String[] // Invalid control criticality
+ args = new String[]
{
"-b", "",
"-J", "1.2.3.4:invalidcriticality",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid control criticality");
- args = new String[] // Invalid scope
+ args = new String[]
{
"-b", "",
"-s", "invalid",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid scope");
- args = new String[] // Invalid dereference policy
+ args = new String[]
{
"-b", "",
"-a", "invalid",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid dereference policy");
- args = new String[] // Invalid psearch descriptor
+ args = new String[]
{
"-b", "",
"-C", "invalid",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid psearch descriptor");
- args = new String[] // Invalid psearch changetype
+ args = new String[]
{
"-b", "",
"-C", "ps:invalid",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid psearch changetype");
- args = new String[] // Invalid psearch changetype in list
+ args = new String[]
{
"-b", "",
"-C", "ps:add,delete,modify,modifydn,invalid",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid psearch changetype in list");
- args = new String[] // Invalid psearch changesOnly
+ args = new String[]
{
"-b", "",
"-C", "ps:all:invalid",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid psearch changesOnly");
- args = new String[] // Invalid psearch entryChangeControls
+ args = new String[]
{
"-b", "",
"-C", "ps:all:1:invalid",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Invalid psearch entryChangeControls");
- args = new String[] // Non-numeric port
+ args = new String[]
{
"-p", "nonnumeric",
"-b", "",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Non-numeric port");
- args = new String[] // Port value out of range.
+ args = new String[]
{
"-p", "999999",
"-b", "",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Port value out of range");
- args = new String[] // Non-numeric size limit
+ args = new String[]
{
"-z", "nonnumeric",
"-b", "",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Non-numeric size limit");
- args = new String[] // Size limit out of range.
- {
- "-z", "-1",
- "-b", "",
- "(objectClass=*)"
- };
- argLists.add(args);
-
- args = new String[] // Non-numeric time limit
+ args = new String[]
{
"-l", "nonnumeric",
"-b", "",
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("Non-numeric time limit");
- args = new String[] // Time limit out of range.
- {
- "-l", "-1",
- "-b", "",
- "(objectClass=*)"
- };
- argLists.add(args);
-
- args = new String[] // SASL external without SSL or StartTLS
+ args = new String[]
{
"-r",
"-b", "",
@@ -454,8 +480,9 @@
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("SASL external without SSL or StartTLS");
- args = new String[] // SASL external without keystore file
+ args = new String[]
{
"-Z",
"-r",
@@ -463,12 +490,14 @@
"(objectClass=*)"
};
argLists.add(args);
+ reasonList.add("SASL external without a keystore file");
- 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;
}
@@ -478,12 +507,14 @@
/**
* Tests the LDAPSearch tool with sets of invalid arguments.
*
- * @param args The set of arguments to use for the LDAPSearch tool.
+ * @param args The set of arguments to use for the LDAPSearch tool.
+ * @param invalidReason The reason that the set of arguments is not valid.
*/
@Test(dataProvider = "invalidArgs")
- public void testInvalidArguments(String[] args)
+ public void testInvalidArguments(String[] args, String invalidReason)
{
- assertFalse(LDAPSearch.mainSearch(args, false, null, null) == 0);
+ assertFalse(LDAPSearch.mainSearch(args, false, null, null) == 0,
+ "Should have been invalid because: " + invalidReason);
}
--
Gitblit v1.10.0