LDAPCompareTestCase.java revision d20053afa42700e3ec7a6f6fb474622e8680f4cc
acb4f5236966c2b680b949c1eda826948b24fc23Mark Andrews/*
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * CDDL HEADER START
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence *
7c74e180c206e6ed99e8beb820da5f399d845c3eDavid Lawrence * The contents of this file are subject to the terms of the
7c74e180c206e6ed99e8beb820da5f399d845c3eDavid Lawrence * Common Development and Distribution License, Version 1.0 only
7c74e180c206e6ed99e8beb820da5f399d845c3eDavid Lawrence * (the "License"). You may not use this file except in compliance
40f53fa8d9c6a4fc38c0014495e7a42b08f52481David Lawrence * with the License.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews *
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * You can obtain a copy of the license at
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * trunk/opends/resource/legal-notices/OpenDS.LICENSE
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * or https://OpenDS.dev.java.net/OpenDS.LICENSE.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * See the License for the specific language governing permissions
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews * and limitations under the License.
dafcb997e390efa4423883dafd100c975c4095d6Mark Andrews *
9c3531d72aeaad6c5f01efe6a1c82023e1379e4dDavid Lawrence * When distributing Covered Code, include this CDDL HEADER in each
866d106459313499d0ca7bfccb4b2d23d5e4377cDavid Lawrence * file and include the License file at
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews * trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
866d106459313499d0ca7bfccb4b2d23d5e4377cDavid Lawrence * add the following below this CDDL HEADER, with the fields enclosed
866d106459313499d0ca7bfccb4b2d23d5e4377cDavid Lawrence * by brackets "[]" replaced with your own identifying information:
7c74e180c206e6ed99e8beb820da5f399d845c3eDavid Lawrence * Portions Copyright [yyyy] [name of copyright owner]
1ad94515ee37580a2298b1484ddf44b52dc03a6aMark Andrews *
ea31416b4fcdf23732355a8002f93f29e3b3d2dbAndreas Gustafsson * CDDL HEADER END
866d106459313499d0ca7bfccb4b2d23d5e4377cDavid Lawrence *
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrews *
a5d43b72413db3edd6b36a58f9bdf2cf6ff692f2Bob Halley * Portions Copyright 2006-2007 Sun Microsystems, Inc.
a5d43b72413db3edd6b36a58f9bdf2cf6ff692f2Bob Halley */
be801b0fdbcf9b55b3a8cc6bf042ff6c86be6b11Mark Andrewspackage org.opends.server.tools;
a5d43b72413db3edd6b36a58f9bdf2cf6ff692f2Bob Halley
a5d43b72413db3edd6b36a58f9bdf2cf6ff692f2Bob Halley
a5d43b72413db3edd6b36a58f9bdf2cf6ff692f2Bob Halley
ccdac53c027e8964753b36c4d8c7b0e98af501c2Michael Graffimport java.io.File;
ccdac53c027e8964753b36c4d8c7b0e98af501c2Michael Graffimport java.io.FileWriter;
ccdac53c027e8964753b36c4d8c7b0e98af501c2Michael Graffimport java.util.ArrayList;
a903095bf4512dae561c7f6fc7854a51bebf334aMark Andrews
ccdac53c027e8964753b36c4d8c7b0e98af501c2Michael Graffimport org.testng.annotations.BeforeClass;
ccdac53c027e8964753b36c4d8c7b0e98af501c2Michael Graffimport org.testng.annotations.DataProvider;
ccdac53c027e8964753b36c4d8c7b0e98af501c2Michael Graffimport org.testng.annotations.Test;
ccdac53c027e8964753b36c4d8c7b0e98af501c2Michael Graff
3d776d762914d1b675b4fd49728ce353ccf6f77eBrian Wellingtonimport org.opends.server.TestCaseUtils;
ccdac53c027e8964753b36c4d8c7b0e98af501c2Michael Graffimport org.opends.server.core.AddOperation;
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrewsimport org.opends.server.core.DirectoryServer;
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrewsimport org.opends.server.protocols.internal.InternalClientConnection;
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrewsimport org.opends.server.types.Entry;
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrewsimport org.opends.server.types.OperatingSystem;
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrewsimport org.opends.server.types.ResultCode;
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrewsimport org.opends.server.util.Base64;
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrews
75a4dd0d377dca2f85cea44e28bf110314c1fe8cDavid Lawrenceimport static org.testng.Assert.*;
75a4dd0d377dca2f85cea44e28bf110314c1fe8cDavid Lawrence
75a4dd0d377dca2f85cea44e28bf110314c1fe8cDavid Lawrenceimport static org.opends.server.util.ServerConstants.*;
75a4dd0d377dca2f85cea44e28bf110314c1fe8cDavid Lawrence
75a4dd0d377dca2f85cea44e28bf110314c1fe8cDavid Lawrence
91306d962f9d147d94b82fb14edb28f8d907cae7Andreas Gustafsson
91306d962f9d147d94b82fb14edb28f8d907cae7Andreas Gustafsson/**
91306d962f9d147d94b82fb14edb28f8d907cae7Andreas Gustafsson * A set of test cases for the LDAPCompare tool.
91306d962f9d147d94b82fb14edb28f8d907cae7Andreas Gustafsson */
91306d962f9d147d94b82fb14edb28f8d907cae7Andreas Gustafssonpublic class LDAPCompareTestCase
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence extends ToolsTestCase
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence{
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence // The path to a file containing an invalid bind password.
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence private String invalidPasswordFile;
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence // The path to a file containing a valid bind password.
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence private String validPasswordFile;
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence
e893dce91279d7313a579f72caae3941f6dc5a27David Lawrence
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley /**
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley * Ensures that the Directory Server is running and performs other necessary
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley * setup.
8e06cea14c857429ab7e7299af2dce5eeeaa5ff0Michael Graff *
ce8c568e0d6106bb87069453505e09bc66754b40Andreas Gustafsson * @throws Exception If an unexpected problem occurs.
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley */
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley @BeforeClass()
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley public void startServerAndCreatePasswordFiles()
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley throws Exception
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley {
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley TestCaseUtils.startServer();
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley File pwFile = File.createTempFile("valid-bind-password-", ".txt");
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley pwFile.deleteOnExit();
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley FileWriter fileWriter = new FileWriter(pwFile);
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley fileWriter.write("password" + System.getProperty("line.separator"));
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley fileWriter.close();
3b77946b751f39bd4db5a7d1fe48a81e6b1e7a28Bob Halley validPasswordFile = pwFile.getAbsolutePath();
8e06cea14c857429ab7e7299af2dce5eeeaa5ff0Michael Graff
8e06cea14c857429ab7e7299af2dce5eeeaa5ff0Michael Graff pwFile = File.createTempFile("invalid-bind-password-", ".txt");
3ecf3394e37dc2848a09ffc643565d454e9e6974Andreas Gustafsson pwFile.deleteOnExit();
3ecf3394e37dc2848a09ffc643565d454e9e6974Andreas Gustafsson fileWriter = new FileWriter(pwFile);
3ecf3394e37dc2848a09ffc643565d454e9e6974Andreas Gustafsson fileWriter.write("wrongPassword" + System.getProperty("line.separator"));
3ecf3394e37dc2848a09ffc643565d454e9e6974Andreas Gustafsson fileWriter.close();
3ecf3394e37dc2848a09ffc643565d454e9e6974Andreas Gustafsson invalidPasswordFile = pwFile.getAbsolutePath();
3ecf3394e37dc2848a09ffc643565d454e9e6974Andreas Gustafsson }
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
b587e1d83f007ce68a9ae93097c461d8eb7aa373Mark Andrews /**
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence * Retrieves sets of invalid arguments that may not be used to initialize
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence * the LDAPCompare tool.
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence *
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence * @return Sets of invalid arguments that may not be used to initialize the
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence * LDAPCompare tool.
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence */
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence @DataProvider(name = "invalidArgs")
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence public Object[][] getInvalidArgumentLists()
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence {
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence ArrayList<String[]> argLists = new ArrayList<String[]>();
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence ArrayList<String> reasonList = new ArrayList<String>();
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence String[] args = {};
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence argLists.add(args);
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence reasonList.add("No arguments");
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence args = new String[]
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence {
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence "-D",
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence };
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence argLists.add(args);
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence reasonList.add("No value for '-D' argument");
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence args = new String[]
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence {
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence "-w",
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence };
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence argLists.add(args);
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence reasonList.add("No value for '-w' argument");
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence
ae4cbb69eef32ced103fe4561e8d2031ee4c3497David Lawrence args = new String[]
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence {
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-j",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence };
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence argLists.add(args);
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence reasonList.add("No value for '-j' argument");
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence args = new String[]
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence {
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence "-i",
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence };
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence argLists.add(args);
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence reasonList.add("No value for '-i' argument");
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence args = new String[]
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence {
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence "-K",
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence };
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence argLists.add(args);
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence reasonList.add("No value for '-K' argument");
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence args = new String[]
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence {
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence "-P",
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence };
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence argLists.add(args);
0293ad13207aa29bd5844cdc87d085ffc009d749David Lawrence reasonList.add("No value for '-P' argument");
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence args = new String[]
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence {
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-W",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence };
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence argLists.add(args);
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence reasonList.add("No value for '-W' argument");
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff args = new String[]
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff {
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff "-h",
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff };
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff argLists.add(args);
1ce985ab3c6670662d555c108b35fed84a6a1001David Lawrence reasonList.add("No value for '-h' argument");
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence args = new String[]
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence {
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-p",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence };
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence argLists.add(args);
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence reasonList.add("No value for '-p' argument");
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence args = new String[]
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence {
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence "-V",
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence };
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence argLists.add(args);
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence reasonList.add("No value for '-V' argument");
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence args = new String[]
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence {
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence "-f",
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence };
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence argLists.add(args);
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence reasonList.add("No value for '-f' argument");
4bcaefbcd3ced942139fdc830e007c6ea2b8d2feDavid Lawrence
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff args = new String[]
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff {
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff "-J",
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff };
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff argLists.add(args);
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff reasonList.add("No value for '-J' argument");
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff args = new String[]
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff {
657ce0b9d84fbd66514df53d61a087e8f1161187Michael Graff "-o",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson };
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson argLists.add(args);
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews reasonList.add("No value for '-o' argument");
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews args = new String[]
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews {
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews "--assertionFilter",
80badf38c74c326a694e24281ee258aa26984171Mark Andrews };
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews argLists.add(args);
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews reasonList.add("No value for '--assertionFilter' argument");
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews args = new String[]
641da3ca1184d9951d5cf91538524a345bf5f271Mark Andrews {
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews "-I"
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews };
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews argLists.add(args);
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews reasonList.add("Invalid short argument");
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews args = new String[]
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews {
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews "--invalidLongArgument"
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews };
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews argLists.add(args);
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews reasonList.add("Invalid long argument");
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews args = new String[]
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews {
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews "--assertionFilter", "(invalidfilter)",
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews "uid:test.user",
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews "uid=test.user,o=test"
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews };
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews argLists.add(args);
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews reasonList.add("Invalid assertion filter");
774c3a62d9adca187b44fe90919bb409a43a2f2aMark Andrews
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews args = new String[]
9fe28a624c659e380d47dbf45527637dab03b998Mark Andrews {
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-D", "cn=Directory Manager",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-j", "no.such.file",
39b973d8873996c3bfb6e5b4cc69731f6c3b77b5Mark Andrews "uid:test.user",
6342df69b05f2f62d060fd4affdf536e51504084Mark Andrews "uid=test.user,o=test"
6342df69b05f2f62d060fd4affdf536e51504084Mark Andrews };
6342df69b05f2f62d060fd4affdf536e51504084Mark Andrews argLists.add(args);
6342df69b05f2f62d060fd4affdf536e51504084Mark Andrews reasonList.add("Invalid bind password file path");
6342df69b05f2f62d060fd4affdf536e51504084Mark Andrews
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson args = new String[]
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson {
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-D", "cn=Directory Manager",
c654449ccf403ccd2b81be2038b1013d6fbb06ccMark Andrews "-w", "password",
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson "-j", validPasswordFile,
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson "uid:test.user",
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson "uid=test.user,o=test"
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson };
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson argLists.add(args);
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson reasonList.add("Both bind password and password file");
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington args = new String[]
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington {
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington "-V", "nonnumeric",
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington "uid:test.user",
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington "uid=test.user,o=test"
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington };
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington argLists.add(args);
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington reasonList.add("Non-numeric LDAP version");
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington
47fd46791da765e3dbedd987e9b263b3bee25986Brian Wellington args = new String[]
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson {
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson "-V", "1",
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson "uid:test.user",
6fcb2f0faad67a6d2cb2e30ec57157d75fbfe58fAndreas Gustafsson "uid=test.user,o=test"
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson };
8f3dd8f8e73e4465221a5297819db70e6b383138Mark Andrews argLists.add(args);
6e9efadbea9febb0494e713e54dfea6f7ef70383Mark Andrews reasonList.add("Invalid LDAP version");
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews args = new String[]
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews {
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews "-f", "no.such.file",
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews "uid:test.user",
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews "uid=test.user,o=test"
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews };
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews argLists.add(args);
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews reasonList.add("Invalid DN file path");
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews args = new String[]
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews {
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews "-J", "1.2.3.4:invalidcriticality",
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews "uid:test.user",
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews "uid=test.user,o=test"
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews };
43fe2897fc80bbec2115310ca79d432a252f3ea4Mark Andrews argLists.add(args);
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson reasonList.add("Invalid control criticality");
754cca729dd82ae8363917dc00ad44f9d900635bMark Andrews
754cca729dd82ae8363917dc00ad44f9d900635bMark Andrews args = new String[]
754cca729dd82ae8363917dc00ad44f9d900635bMark Andrews {
754cca729dd82ae8363917dc00ad44f9d900635bMark Andrews "-p", "nonnumeric",
754cca729dd82ae8363917dc00ad44f9d900635bMark Andrews "uid:test.user",
754cca729dd82ae8363917dc00ad44f9d900635bMark Andrews "uid=test.user,o=test"
754cca729dd82ae8363917dc00ad44f9d900635bMark Andrews };
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson argLists.add(args);
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews reasonList.add("Non-numeric port");
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews args = new String[]
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews {
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews "-p", "999999",
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews "uid:test.user",
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews "uid=test.user,o=test"
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews };
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews argLists.add(args);
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews reasonList.add("Port value out of range");
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews args = new String[]
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews {
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews "-r",
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews "-K", "key.store.file",
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews "uid:test.user",
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews "uid=test.user,o=test"
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews };
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews argLists.add(args);
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews reasonList.add("SASL external without SSL or StartTLS");
40dd9cb8cc240c33d820fe79f176ed51e4c06a1aMark Andrews
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson args = new String[]
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson {
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-Z",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-r",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "uid:test.user",
963c48ba4d06a112c70d50328e827749e95f58dbMark Andrews "uid=test.user,o=test"
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson };
963c48ba4d06a112c70d50328e827749e95f58dbMark Andrews argLists.add(args);
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson reasonList.add("SASL external without keystore file");
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson args = new String[]
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson {
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-D", "cn=Directory Manager",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-w", "password"
a1898260ad19d02e88ab76c1855d33c67add9defMark Andrews };
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson argLists.add(args);
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson reasonList.add("No trailing arguments");
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson args = new String[]
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson {
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-D", "cn=Directory Manager",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-w", "password",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "uid:test.user"
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson };
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson argLists.add(args);
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson reasonList.add("Only one trailing argument");
a1898260ad19d02e88ab76c1855d33c67add9defMark Andrews
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson args = new String[]
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson {
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-D", "cn=Directory Manager",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "-w", "password",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "malformed",
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson "uid=test.user,o=test"
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson };
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson argLists.add(args);
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson reasonList.add("Malformed attribute-value assertion");
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson Object[][] returnArray = new Object[argLists.size()][2];
5ff133b82082d82f0ba89b7c999c6b62b6298e46Andreas Gustafsson for (int i=0; i < argLists.size(); i++)
90407942d3afe50f04ccea361de3b164a5a1702dMichael Graff {
90407942d3afe50f04ccea361de3b164a5a1702dMichael Graff returnArray[i][0] = argLists.get(i);
90407942d3afe50f04ccea361de3b164a5a1702dMichael Graff returnArray[i][1] = reasonList.get(i);
90407942d3afe50f04ccea361de3b164a5a1702dMichael Graff }
90407942d3afe50f04ccea361de3b164a5a1702dMichael Graff return returnArray;
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrews }
13faa8b6a2d0d45e0659049983928366252ab3faMichael Graff
13faa8b6a2d0d45e0659049983928366252ab3faMichael Graff
13faa8b6a2d0d45e0659049983928366252ab3faMichael Graff
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson /**
13faa8b6a2d0d45e0659049983928366252ab3faMichael Graff * Tests the LDAPCompare tool with sets of invalid arguments.
61d5bfc06be978ea962b1c64309894ac80351771Mark Andrews *
61d5bfc06be978ea962b1c64309894ac80351771Mark Andrews * @param args The set of arguments to use for the LDAPCompare
3d8dfd44a3be708f00380064411c16b2fa28303aMark Andrews * tool.
13faa8b6a2d0d45e0659049983928366252ab3faMichael Graff * @param invalidReason The reason the provided set of arguments is invalid.
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews */
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews @Test(dataProvider = "invalidArgs")
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews public void testInvalidArguments(String[] args, String invalidReason)
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews {
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews assertFalse(LDAPCompare.mainCompare(args, false, null, null) == 0,
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews "Should have been invalid because: " + invalidReason);
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews }
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews /**
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews * Tests a simple LDAPv2 compare.
5f9e583552f53de12062bfff12e47250abce378fBrian Wellington *
5f9e583552f53de12062bfff12e47250abce378fBrian Wellington * @throws Exception If an unexpectd problem occurs.
3fcf6b956f47405750724bd84e1b2290b61c9186Brian Wellington */
3fcf6b956f47405750724bd84e1b2290b61c9186Brian Wellington @Test()
3fcf6b956f47405750724bd84e1b2290b61c9186Brian Wellington public void testSimpleLDAPv2Compare()
5f9e583552f53de12062bfff12e47250abce378fBrian Wellington throws Exception
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews {
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews TestCaseUtils.initializeTestBackend(true);
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews String[] args =
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews {
5f9e583552f53de12062bfff12e47250abce378fBrian Wellington "-h", "127.0.0.1",
a53259c4cc558f86dd008eccc60cc89b6734a03cMark Andrews "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson "-V", "2",
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson "-D", "cn=Directory Manager",
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson "-w", "password",
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson "o:test",
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson "o=test"
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson };
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson }
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson
68f72235f8f41fa949823551d8e6476057ec5bd6Andreas Gustafsson /**
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson * Tests a simple LDAPv3 compare in which the assertion is true.
80f323528ac699026a609a5e3b765dc6e88fe37cAndreas Gustafsson *
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson * @throws Exception If an unexpectd problem occurs.
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson */
3fcf6b956f47405750724bd84e1b2290b61c9186Brian Wellington @Test()
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews public void testSimpleLDAPv3CompareTrue()
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews throws Exception
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews {
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews TestCaseUtils.initializeTestBackend(true);
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews String[] args =
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews {
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews "-h", "127.0.0.1",
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews "-V", "3",
f8f65e2de40b1e9874b88f392f3abeb057ce6172Mark Andrews "-D", "cn=Directory Manager",
f8f65e2de40b1e9874b88f392f3abeb057ce6172Mark Andrews "-w", "password",
f8f65e2de40b1e9874b88f392f3abeb057ce6172Mark Andrews "o:test",
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews "o=test"
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews };
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
c5826852e6c789f59b301f8197e65a1dd4e09a44Mark Andrews }
5f9e583552f53de12062bfff12e47250abce378fBrian Wellington
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson /**
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson * Tests a simple LDAPv3 compare in which the assertion is false.
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson *
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson * @throws Exception If an unexpectd problem occurs.
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson */
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson @Test()
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson public void testSimpleLDAPv3CompareFalse()
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson throws Exception
d906600f7d1e86a4315e65a500f806ca1e4caa9bAndreas Gustafsson {
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson TestCaseUtils.initializeTestBackend(true);
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson String[] args =
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson {
2995f8205eaa0d4bc3a57900a413b5cfdb83564fAndreas Gustafsson "-h", "127.0.0.1",
2995f8205eaa0d4bc3a57900a413b5cfdb83564fAndreas Gustafsson "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
2995f8205eaa0d4bc3a57900a413b5cfdb83564fAndreas Gustafsson "-V", "3",
2995f8205eaa0d4bc3a57900a413b5cfdb83564fAndreas Gustafsson "-D", "cn=Directory Manager",
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson "-w", "password",
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews "o:nottest",
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews "o=test"
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews };
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews }
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews /**
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews * Tests a simple compare using SSL with blind trust.
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews *
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews * @throws Exception If an unexpectd problem occurs.
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews */
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews @Test()
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews public void testSSLBlindTrust()
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews throws Exception
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews {
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews TestCaseUtils.initializeTestBackend(true);
d73de275987d29627dc11d5bd4a22874a29f7874Mark Andrews
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews String[] args =
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews {
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews "-h", "127.0.0.1",
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews "-p", String.valueOf(TestCaseUtils.getServerLdapsPort()),
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews "-Z",
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews "-X",
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews "-D", "cn=Directory Manager",
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews "-w", "password",
25c18fded02c5df8391a333e90ea776b52bff079Mark Andrews "o:test",
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "o=test"
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews };
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews }
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews
bc53aacc6e9302b1f8d01467fc39585584652782Andreas Gustafsson
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson
919caa020b8f9b856d77b3a72e0c9301dfa495c7Andreas Gustafsson /**
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson * Tests a simple compare using SSL with a trust store.
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson *
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews * @throws Exception If an unexpectd problem occurs.
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson */
bd1db480f30e025bba719799f910b34848a9a997Mark Andrews @Test()
bd1db480f30e025bba719799f910b34848a9a997Mark Andrews public void testSSLTrustStore()
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews throws Exception
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson {
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson TestCaseUtils.initializeTestBackend(true);
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson String trustStorePath = DirectoryServer.getServerRoot() + File.separator +
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson "config" + File.separator + "client.truststore";
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews
caa736a754e90f44bbc249e22f96bcbf4e04b849Andreas Gustafsson String[] args =
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews {
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "-h", "127.0.0.1",
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "-p", String.valueOf(TestCaseUtils.getServerLdapsPort()),
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "-Z",
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "-P", trustStorePath,
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "-D", "cn=Directory Manager",
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "-w", "password",
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "o:test",
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews "o=test"
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews };
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews }
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews /**
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews * Tests a simple compare using StartTLS with blind trust.
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews *
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews * @throws Exception If an unexpectd problem occurs.
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews */
7f32428506d55083fe5ac9aa515294bdef7c6e27Mark Andrews @Test()
c0707105f60934d59321c2fccbc254f9e31ff28aMark Andrews public void testStartTLSBlindTrust()
c0707105f60934d59321c2fccbc254f9e31ff28aMark Andrews throws Exception
c0707105f60934d59321c2fccbc254f9e31ff28aMark Andrews {
c0707105f60934d59321c2fccbc254f9e31ff28aMark Andrews TestCaseUtils.initializeTestBackend(true);
c0707105f60934d59321c2fccbc254f9e31ff28aMark Andrews
c0707105f60934d59321c2fccbc254f9e31ff28aMark Andrews String[] args =
c0707105f60934d59321c2fccbc254f9e31ff28aMark Andrews {
c0707105f60934d59321c2fccbc254f9e31ff28aMark Andrews "-h", "127.0.0.1",
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
5989aea4bbe79e09290792f04aeb557e2b2da02eAndreas Gustafsson "-q",
5f9e583552f53de12062bfff12e47250abce378fBrian Wellington "-X",
5f9e583552f53de12062bfff12e47250abce378fBrian Wellington "-D", "cn=Directory Manager",
08a768e82ad64ede97f640c88e02984b59122753Michael Graff "-w", "password",
08a768e82ad64ede97f640c88e02984b59122753Michael Graff "o:test",
08a768e82ad64ede97f640c88e02984b59122753Michael Graff "o=test"
08a768e82ad64ede97f640c88e02984b59122753Michael Graff };
08a768e82ad64ede97f640c88e02984b59122753Michael Graff
08a768e82ad64ede97f640c88e02984b59122753Michael Graff assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
3fcf6b956f47405750724bd84e1b2290b61c9186Brian Wellington }
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington
08a768e82ad64ede97f640c88e02984b59122753Michael Graff
3ec6b563d7b6cb11a047f23faa2a0f206ccd93e7Brian Wellington /**
3ec6b563d7b6cb11a047f23faa2a0f206ccd93e7Brian Wellington * Tests a simple compare using StartTLS with a trust store.
3ec6b563d7b6cb11a047f23faa2a0f206ccd93e7Brian Wellington *
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington * @throws Exception If an unexpectd problem occurs.
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington */
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington @Test()
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington public void testStartTLSTrustStore()
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington throws Exception
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington {
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington TestCaseUtils.initializeTestBackend(true);
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington String trustStorePath = DirectoryServer.getServerRoot() + File.separator +
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "config" + File.separator + "client.truststore";
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington String[] args =
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington {
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "-h", "127.0.0.1",
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "-q",
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "-P", trustStorePath,
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "-D", "cn=Directory Manager",
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "-w", "password",
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "o:test",
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington "o=test"
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington };
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington }
fee5012c43744322c1785e5c3e0c322443faa304Brian Wellington
3ec6b563d7b6cb11a047f23faa2a0f206ccd93e7Brian Wellington
3ec6b563d7b6cb11a047f23faa2a0f206ccd93e7Brian Wellington
3ec6b563d7b6cb11a047f23faa2a0f206ccd93e7Brian Wellington /**
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington * Tests a simple LDAP compare over SSL using a trust store and SASL EXTERNAL
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington * authentication.
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington *
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington * @throws Exception If an unexpected problem occurs.
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington */
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington @Test()
0e40083fdd5445703bd30e46e5bfe7d047bced12Brian Wellington public void testSimpleCompareSSLTrustStoreSASLExternal()
3ec6b563d7b6cb11a047f23faa2a0f206ccd93e7Brian Wellington throws Exception
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington {
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington TestCaseUtils.initializeTestBackend(true);
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington Entry e = TestCaseUtils.makeEntry(
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "dn: cn=Test User,o=test",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "objectClass: top",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "objectClass: person",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "objectClass: organizationalPerson",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "objectClass: inetOrgPerson",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "cn: Test User",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "givenName: Test",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "ds-privilege-name: bypass-acl",
d0fbcfeee1c1dbdb079231545de3a0c58248202fMark Andrews "sn: User");
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington InternalClientConnection conn =
af5ad488cbf17988fbd36a25c908737412ccd382Brian Wellington InternalClientConnection.getRootConnection();
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington AddOperation addOperation =
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington conn.processAdd(e.getDN(), e.getObjectClasses(), e.getUserAttributes(),
b495fd2992c63472b3ad2d9517ffe9b50118840aAndreas Gustafsson e.getOperationalAttributes());
af5ad488cbf17988fbd36a25c908737412ccd382Brian Wellington assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
f317c00e0d5978f29285ea062b34ec73dc419095Brian Wellington
f317c00e0d5978f29285ea062b34ec73dc419095Brian Wellington
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington String keyStorePath = DirectoryServer.getServerRoot() + File.separator +
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "config" + File.separator + "client.keystore";
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington String trustStorePath = DirectoryServer.getServerRoot() + File.separator +
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "config" + File.separator + "client.truststore";
dee520f1be8c59e10a55b6995844395e811c310fBrian Wellington
dee520f1be8c59e10a55b6995844395e811c310fBrian Wellington String[] args =
dee520f1be8c59e10a55b6995844395e811c310fBrian Wellington {
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "-h", "127.0.0.1",
529ff4b4959fb157194f985394951108ff5286e4Brian Wellington "-p", String.valueOf(TestCaseUtils.getServerLdapsPort()),
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "-Z",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "-K", keyStorePath,
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "-W", "password",
a14613fce99dee3cad5bf842fd6be78f8e463582Brian Wellington "-P", trustStorePath,
5b76a09697bfc76f5acefd65d5b37b1214d271a8Mark Andrews "-r",
5b76a09697bfc76f5acefd65d5b37b1214d271a8Mark Andrews "cn:Test User",
5b76a09697bfc76f5acefd65d5b37b1214d271a8Mark Andrews "cn=Test User,o=test"
5b76a09697bfc76f5acefd65d5b37b1214d271a8Mark Andrews };
5b76a09697bfc76f5acefd65d5b37b1214d271a8Mark Andrews
9738408dcbd4c1f7eb2b105c83388608fafd7808Mark Andrews assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson }
489b76292622f5bc18bf1a18845f8166a73bd797Brian Wellington
489b76292622f5bc18bf1a18845f8166a73bd797Brian Wellington
2271edc0b4ba96e69a283eced420b94ffb678beeBrian Wellington
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson /**
2271edc0b4ba96e69a283eced420b94ffb678beeBrian Wellington * Tests a simple LDAP compare over SSL using a trust store and SASL EXTERNAL
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson * authentication when explicitly specifying a valid client certificate.
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson *
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson * @throws Exception If an unexpected problem occurs.
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson */
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson @Test()
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson public void testSimpleCompareSSLTrustStoreSASLExternalValidClientCert()
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson throws Exception
7005cfed8cd3296d356883dcb414979f22e06b13Brian Wellington {
489b76292622f5bc18bf1a18845f8166a73bd797Brian Wellington TestCaseUtils.initializeTestBackend(true);
489b76292622f5bc18bf1a18845f8166a73bd797Brian Wellington
489b76292622f5bc18bf1a18845f8166a73bd797Brian Wellington Entry e = TestCaseUtils.makeEntry(
3184ff5e45c8f821e5165ea60d674bfb87faf5b8Mark Andrews "dn: cn=Test User,o=test",
3184ff5e45c8f821e5165ea60d674bfb87faf5b8Mark Andrews "objectClass: top",
3184ff5e45c8f821e5165ea60d674bfb87faf5b8Mark Andrews "objectClass: person",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "objectClass: organizationalPerson",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "objectClass: inetOrgPerson",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "cn: Test User",
9ceaa92a8ca8a0270ba296d44599e94d95033759Andreas Gustafsson "givenName: Test",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "ds-privilege-name: bypass-acl",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "sn: User");
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson InternalClientConnection conn =
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson InternalClientConnection.getRootConnection();
70e854766f5304f43e94212dc38ebaefe214148cMark Andrews AddOperation addOperation =
16ee4fe11bad616a76c79e9f626a7e04a88ef4abMark Andrews conn.processAdd(e.getDN(), e.getObjectClasses(), e.getUserAttributes(),
16ee4fe11bad616a76c79e9f626a7e04a88ef4abMark Andrews e.getOperationalAttributes());
16ee4fe11bad616a76c79e9f626a7e04a88ef4abMark Andrews assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
16ee4fe11bad616a76c79e9f626a7e04a88ef4abMark Andrews
16ee4fe11bad616a76c79e9f626a7e04a88ef4abMark Andrews
70e854766f5304f43e94212dc38ebaefe214148cMark Andrews String keyStorePath = DirectoryServer.getServerRoot() + File.separator +
70e854766f5304f43e94212dc38ebaefe214148cMark Andrews "config" + File.separator + "client.keystore";
70e854766f5304f43e94212dc38ebaefe214148cMark Andrews String trustStorePath = DirectoryServer.getServerRoot() + File.separator +
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "config" + File.separator + "client.truststore";
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence String[] args =
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson {
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-h", "127.0.0.1",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-p", String.valueOf(TestCaseUtils.getServerLdapsPort()),
fa280ff02ad0c29616a0c3a22ef02cbb3f6db7efDavid Lawrence "-Z",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-K", keyStorePath,
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-W", "password",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-N", "client-cert",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-P", trustStorePath,
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-r",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "cn:Test User",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "cn=Test User,o=test"
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson };
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson }
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson /**
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson * Tests a simple LDAP compare over SSL using a trust store and SASL EXTERNAL
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson * authentication when explicitly specifying an invalid client certificate.
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson *
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson * @throws Exception If an unexpected problem occurs.
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson */
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson @Test()
3fafd7c0c42134ff2964b74a31500465a96dee90Andreas Gustafsson public void testSimpleCompareSSLTrustStoreSASLExternalInvalidClientCert()
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews throws Exception
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews {
9ceaa92a8ca8a0270ba296d44599e94d95033759Andreas Gustafsson TestCaseUtils.initializeTestBackend(true);
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson Entry e = TestCaseUtils.makeEntry(
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "dn: cn=Test User,o=test",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "objectClass: top",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "objectClass: person",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "objectClass: organizationalPerson",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "objectClass: inetOrgPerson",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "cn: Test User",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "givenName: Test",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "ds-privilege-name: bypass-acl",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "sn: User");
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson InternalClientConnection conn =
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson InternalClientConnection.getRootConnection();
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson AddOperation addOperation =
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson conn.processAdd(e.getDN(), e.getObjectClasses(), e.getUserAttributes(),
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson e.getOperationalAttributes());
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson String keyStorePath = DirectoryServer.getServerRoot() + File.separator +
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "config" + File.separator + "client.keystore";
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson String trustStorePath = DirectoryServer.getServerRoot() + File.separator +
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "config" + File.separator + "client.truststore";
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson String[] args =
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson {
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-h", "127.0.0.1",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-p", String.valueOf(TestCaseUtils.getServerLdapsPort()),
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-Z",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-K", keyStorePath,
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-W", "password",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-N", "invalid",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-P", trustStorePath,
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "-r",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "cn:Test User",
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson "cn=Test User,o=test"
712bf9b0cc4ed34f4bf33b437f8b0e45853b93ceMark Andrews };
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews assertFalse(LDAPCompare.mainCompare(args, false, null, null) == 0);
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews }
712bf9b0cc4ed34f4bf33b437f8b0e45853b93ceMark Andrews
712bf9b0cc4ed34f4bf33b437f8b0e45853b93ceMark Andrews
712bf9b0cc4ed34f4bf33b437f8b0e45853b93ceMark Andrews
712bf9b0cc4ed34f4bf33b437f8b0e45853b93ceMark Andrews /**
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson * Tests a simple LDAP compare using StartTLS with a trust store and SASL
a1884b96ef53efc8b4e14be173aaee552ca0213aAndreas Gustafsson * EXTERNAL authentication.
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley *
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence * @throws Exception If an unexpected problem occurs.
fafb62400d2f1b1da4f3908447e1f3935fc5155bBrian Wellington */
fafb62400d2f1b1da4f3908447e1f3935fc5155bBrian Wellington @Test()
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence public void testSimpleCompareStartTLSTrustStoreSASLExternal()
fafb62400d2f1b1da4f3908447e1f3935fc5155bBrian Wellington throws Exception
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley {
9ceaa92a8ca8a0270ba296d44599e94d95033759Andreas Gustafsson TestCaseUtils.initializeTestBackend(true);
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
620de5a4b1f23dc9b4ec30d30c0607ff389be0daBob Halley Entry e = TestCaseUtils.makeEntry(
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "dn: cn=Test User,o=test",
fafb62400d2f1b1da4f3908447e1f3935fc5155bBrian Wellington "objectClass: top",
fafb62400d2f1b1da4f3908447e1f3935fc5155bBrian Wellington "objectClass: person",
fafb62400d2f1b1da4f3908447e1f3935fc5155bBrian Wellington "objectClass: organizationalPerson",
23ac30603a7639bea1d331537634b079b046b122Mark Andrews "objectClass: inetOrgPerson",
23ac30603a7639bea1d331537634b079b046b122Mark Andrews "cn: Test User",
23ac30603a7639bea1d331537634b079b046b122Mark Andrews "givenName: Test",
23ac30603a7639bea1d331537634b079b046b122Mark Andrews "ds-privilege-name: bypass-acl",
23ac30603a7639bea1d331537634b079b046b122Mark Andrews "sn: User");
3f123dcc2fe5d2cd08ca91b732741d86a4036906Brian Wellington
3f123dcc2fe5d2cd08ca91b732741d86a4036906Brian Wellington InternalClientConnection conn =
64b92523f9333ba053f4b2860335583be455b0b3Brian Wellington InternalClientConnection.getRootConnection();
64b92523f9333ba053f4b2860335583be455b0b3Brian Wellington AddOperation addOperation =
3f123dcc2fe5d2cd08ca91b732741d86a4036906Brian Wellington conn.processAdd(e.getDN(), e.getObjectClasses(), e.getUserAttributes(),
3f123dcc2fe5d2cd08ca91b732741d86a4036906Brian Wellington e.getOperationalAttributes());
64b92523f9333ba053f4b2860335583be455b0b3Brian Wellington assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
3f123dcc2fe5d2cd08ca91b732741d86a4036906Brian Wellington
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence String keyStorePath = DirectoryServer.getServerRoot() + File.separator +
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "config" + File.separator + "client.keystore";
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence String trustStorePath = DirectoryServer.getServerRoot() + File.separator +
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "config" + File.separator + "client.truststore";
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence String[] args =
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence {
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-h", "127.0.0.1",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-q",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-K", keyStorePath,
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-W", "password",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-P", trustStorePath,
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley "-r",
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley "cn:Test User",
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley "cn=Test User,o=test"
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley };
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley }
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley /**
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley * Tests a simple compare operation using CRAM-MD5 authentication.
03f4c76f95f75e2b0d1206e784e35bed6041305cBob Halley *
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence * @throws Exception If an unexpected problem occurs.
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence */
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence @Test()
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence public void testCRAMMD5()
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence throws Exception
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence {
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence TestCaseUtils.initializeTestBackend(true);
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
15bda409010cbf2d3e43baf10f28bae5f7b1abefMark Andrews Entry e = TestCaseUtils.makeEntry(
3ea6d4dc33482a752553c59ed94bcecd23d254b0Mark Andrews "dn: uid=test.user,o=test",
3ea6d4dc33482a752553c59ed94bcecd23d254b0Mark Andrews "objectClass: top",
8af4e7aa4e2a6fe84bf4ebe09ca1d4ef1d8ab593Mark Andrews "objectClass: person",
3ea6d4dc33482a752553c59ed94bcecd23d254b0Mark Andrews "objectClass: organizationalPerson",
3ea6d4dc33482a752553c59ed94bcecd23d254b0Mark Andrews "objectClass: inetOrgPerson",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "uid: test.user",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "givenName: Test",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "sn: User",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "cn: Test User",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "ds-privilege-name: bypass-acl",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "userPassword: password",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "cn=Password Policies,cn=config");
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence InternalClientConnection conn =
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence InternalClientConnection.getRootConnection();
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence AddOperation addOperation =
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence conn.processAdd(e.getDN(), e.getObjectClasses(), e.getUserAttributes(),
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence e.getOperationalAttributes());
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence String[] args =
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence {
16ee4fe11bad616a76c79e9f626a7e04a88ef4abMark Andrews "-h", "127.0.0.1",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-o", "mech=CRAM-MD5",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "-o", "authid=u:test.user",
8af4e7aa4e2a6fe84bf4ebe09ca1d4ef1d8ab593Mark Andrews "-w", "password",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "givenName:Test",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "uid=test.user,o=test"
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence };
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence }
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence /**
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence * Tests a simple compare operation using DIGEST-MD5 authentication.
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence *
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence * @throws Exception If an unexpected problem occurs.
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence */
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence @Test()
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence public void testDigestMD5()
3fafd7c0c42134ff2964b74a31500465a96dee90Andreas Gustafsson throws Exception
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews {
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews TestCaseUtils.initializeTestBackend(true);
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence Entry e = TestCaseUtils.makeEntry(
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "dn: uid=test.user,o=test",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "objectClass: top",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "objectClass: person",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "objectClass: organizationalPerson",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "objectClass: inetOrgPerson",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "uid: test.user",
9a2574531e3d2ced31072200b416467fdee0c29cDavid Lawrence "givenName: Test",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "sn: User",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "cn: Test User",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "ds-privilege-name: bypass-acl",
d8dcd6ad4617cc8d7df979bd62101fa9c4bac1bcBob Halley "userPassword: password",
d8dcd6ad4617cc8d7df979bd62101fa9c4bac1bcBob Halley "ds-pwp-password-policy-dn: cn=Clear UserPassword Policy," +
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "cn=Password Policies,cn=config");
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence InternalClientConnection conn =
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence InternalClientConnection.getRootConnection();
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence AddOperation addOperation =
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence conn.processAdd(e.getDN(), e.getObjectClasses(), e.getUserAttributes(),
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence e.getOperationalAttributes());
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence
882350d11c90de9de6fc1cead25690c8114b0b95Michael Graff String[] args =
882350d11c90de9de6fc1cead25690c8114b0b95Michael Graff {
882350d11c90de9de6fc1cead25690c8114b0b95Michael Graff "-h", "127.0.0.1",
882350d11c90de9de6fc1cead25690c8114b0b95Michael Graff "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
882350d11c90de9de6fc1cead25690c8114b0b95Michael Graff "-o", "mech=DIGEST-MD5",
882350d11c90de9de6fc1cead25690c8114b0b95Michael Graff "-o", "authid=u:test.user",
882350d11c90de9de6fc1cead25690c8114b0b95Michael Graff "-o", "authzid=u:test.user",
882350d11c90de9de6fc1cead25690c8114b0b95Michael Graff "-o", "realm=o=test",
64ba6e4cc3a0ccf8c8c6349fa75b937ca9bad9a6Michael Graff "-w", "password",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "givenName:Test",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "uid=test.user,o=test"
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob };
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
547f79ea44f0a91442fd942b04c11c1958f75136Andreas Gustafsson }
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob /**
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob * Tests a simple compare operation using PLAIN authentication.
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob *
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob * @throws Exception If an unexpected problem occurs.
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob */
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob @Test()
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob public void testPLAIN()
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob throws Exception
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob {
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob TestCaseUtils.initializeTestBackend(true);
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob Entry e = TestCaseUtils.makeEntry(
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "dn: uid=test.user,o=test",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "objectClass: top",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "objectClass: person",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "objectClass: organizationalPerson",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "objectClass: inetOrgPerson",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "uid: test.user",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "givenName: Test",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "sn: User",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "cn: Test User",
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob "userPassword: password");
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob InternalClientConnection conn =
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob InternalClientConnection.getRootConnection();
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob AddOperation addOperation =
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob conn.processAdd(e.getDN(), e.getObjectClasses(), e.getUserAttributes(),
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob e.getOperationalAttributes());
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob assertEquals(addOperation.getResultCode(), ResultCode.SUCCESS);
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob String[] args =
d901b2252d664a5b96bae117416f8ee822dc6691Stephen Jacob {
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-h", "127.0.0.1",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-o", "mech=PLAIN",
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley "-o", "authid=dn:cn=Directory Manager",
a5cf3cf61e96e0db9ffe433402783e1ddbb2fbc3Michael Graff "-w", "password",
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley "givenName:Test",
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley "uid=test.user,o=test"
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley };
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley }
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley
c64aeaf419a7ef156b4aabfa2a913831e773157eBob Halley
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews /**
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews * Tests a a comparison in which the assertion value is base64-encoded with a
aceae69c7f3e76e8842de178851928619c65b61cMark Andrews * valid encoding.
aceae69c7f3e76e8842de178851928619c65b61cMark Andrews *
aceae69c7f3e76e8842de178851928619c65b61cMark Andrews * @throws Exception If an unexpectd problem occurs.
6e1141e6e83b3907b8b187d97932f30fa82470efMark Andrews */
6e1141e6e83b3907b8b187d97932f30fa82470efMark Andrews @Test()
6e1141e6e83b3907b8b187d97932f30fa82470efMark Andrews public void testCompareValidBase64Assertion()
6e1141e6e83b3907b8b187d97932f30fa82470efMark Andrews throws Exception
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley {
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley TestCaseUtils.initializeTestBackend(true);
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley String[] args =
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley {
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley "-h", "127.0.0.1",
c64aeaf419a7ef156b4aabfa2a913831e773157eBob Halley "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews "-V", "3",
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews "-D", "cn=Directory Manager",
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews "-w", "password",
aceae69c7f3e76e8842de178851928619c65b61cMark Andrews "o::" + Base64.encode("test".getBytes("UTF-8")),
6e1141e6e83b3907b8b187d97932f30fa82470efMark Andrews "o=test"
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley };
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley
193738b819e3c699f9edd18864a6810fcfcec855Andreas Gustafsson assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
ce8c568e0d6106bb87069453505e09bc66754b40Andreas Gustafsson }
193738b819e3c699f9edd18864a6810fcfcec855Andreas Gustafsson
193738b819e3c699f9edd18864a6810fcfcec855Andreas Gustafsson
ce8c568e0d6106bb87069453505e09bc66754b40Andreas Gustafsson
193738b819e3c699f9edd18864a6810fcfcec855Andreas Gustafsson /**
193738b819e3c699f9edd18864a6810fcfcec855Andreas Gustafsson * Tests a a comparison in which the assertion value should be base64-encoded
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley * but uses an incorrect encoding.
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley *
193738b819e3c699f9edd18864a6810fcfcec855Andreas Gustafsson * @throws Exception If an unexpectd problem occurs.
c64aeaf419a7ef156b4aabfa2a913831e773157eBob Halley */
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews @Test()
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews public void testCompareInvalidBase64Assertion()
74cb99072c4b0ebd2ccafcfa284288fa760f7a1aMark Andrews throws Exception
aceae69c7f3e76e8842de178851928619c65b61cMark Andrews {
6e1141e6e83b3907b8b187d97932f30fa82470efMark Andrews TestCaseUtils.initializeTestBackend(true);
64e41159a919b0711321fe688ca5da4f4d1b7d80Bob Halley
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews String[] args =
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews {
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews "-h", "127.0.0.1",
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews "-V", "3",
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews "-D", "cn=Directory Manager",
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews "-w", "password",
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews "o::***invalidencoding***",
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews "o=test"
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews };
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews assertFalse(LDAPCompare.mainCompare(args, false, null, null) == 0);
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews }
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews
9ed37e8b9ccd53bc37b546fffe487b9547dda3a0Mark Andrews
03e200df5dc283f24a6a349f0b31d3eab26da893Mark Andrews
905e0c15332d3209dd73ff8b2334f6b80f7fe3a6David Lawrence /**
905e0c15332d3209dd73ff8b2334f6b80f7fe3a6David Lawrence * Tests a a comparison in which the assertion value is contained in a file.
905e0c15332d3209dd73ff8b2334f6b80f7fe3a6David Lawrence *
905e0c15332d3209dd73ff8b2334f6b80f7fe3a6David Lawrence * @throws Exception If an unexpectd problem occurs.
905e0c15332d3209dd73ff8b2334f6b80f7fe3a6David Lawrence */
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence @Test()
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence public void testCompareAssertionValueFromFile()
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence throws Exception
7bb707a34778fc4bd9624d6c5de95675424ea59fDavid Lawrence {
7bb707a34778fc4bd9624d6c5de95675424ea59fDavid Lawrence TestCaseUtils.initializeTestBackend(true);
7bb707a34778fc4bd9624d6c5de95675424ea59fDavid Lawrence
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington File f = File.createTempFile("testCompareAssertionValueFromFile", ".txt");
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington f.deleteOnExit();
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington FileWriter w = new FileWriter(f);
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington w.write("test");
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington w.close();
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington String[] args =
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington {
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-h", "127.0.0.1",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-V", "3",
df3c4c7988b9bae7d121a8ac9ed17a23366a948dDavid Lawrence "-D", "cn=Directory Manager",
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington "-w", "password",
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington "o:<" + f.getAbsolutePath(),
c0ef1acf49b383d8b6d3742cb963f7d08f5762e3Andreas Gustafsson "o=test"
c0ef1acf49b383d8b6d3742cb963f7d08f5762e3Andreas Gustafsson };
c0ef1acf49b383d8b6d3742cb963f7d08f5762e3Andreas Gustafsson
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington }
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington
4108eed5092156cf0407a97a9bd8ab7775164694Brian Wellington
7bb707a34778fc4bd9624d6c5de95675424ea59fDavid Lawrence /**
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * Tests a a comparison in which the assertion value is contained in a file
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * that does not exist.
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence *
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * @throws Exception If an unexpectd problem occurs.
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence */
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence @Test()
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence public void testCompareAssertionValueFromNonExistentFile()
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence throws Exception
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence {
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence String[] args =
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence {
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-h", "127.0.0.1",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-V", "3",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-D", "cn=Directory Manager",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-w", "password",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "o:<does.not.exist",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "o=test"
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence };
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence assertFalse(LDAPCompare.mainCompare(args, false, null, null) == 0);
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence }
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence /**
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * Tests a a comparison using the LDAP assertion control in which the
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * assertion is true.
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence *
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * @throws Exception If an unexpectd problem occurs.
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence */
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence @Test()
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence public void testCompareLDAPAssertionControlTrue()
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence throws Exception
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence {
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence TestCaseUtils.initializeTestBackend(true);
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence String[] args =
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence {
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-h", "127.0.0.1",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-V", "3",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-D", "cn=Directory Manager",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "-w", "password",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "--assertionFilter", "(o=test)",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "o:test",
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence "o=test"
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence };
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence assertEquals(LDAPCompare.mainCompare(args, false, null, System.err), 0);
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence }
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence /**
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * Tests a a comparison using the LDAP assertion control in which the
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * assertion is not true.
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence *
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence * @throws Exception If an unexpectd problem occurs.
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence */
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence @Test()
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence public void testCompareLDAPAssertionControlNotTrue()
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence throws Exception
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence {
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence TestCaseUtils.initializeTestBackend(true);
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence
3fafd7c0c42134ff2964b74a31500465a96dee90Andreas Gustafsson String[] args =
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews {
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews "-h", "127.0.0.1",
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews "-V", "3",
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews "-D", "cn=Directory Manager",
aa30ee42c4b6da9bab4fb84d6cbbda6036a4d426Mark Andrews "-w", "password",
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence "--assertionFilter", "(o=notAMatch)",
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence "o:test",
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence "o=test"
e544b507b8019a62c5d2716281f6832519a8791dDavid Lawrence };
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence assertFalse(LDAPCompare.mainCompare(args, false, null, null) == 0);
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence }
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence /**
7bb707a34778fc4bd9624d6c5de95675424ea59fDavid Lawrence * Tests a a compare operation reading the DNs to compare from a file. Some
7bb707a34778fc4bd9624d6c5de95675424ea59fDavid Lawrence * of the compares will succeed and others will not.
35c842e05dc6382ce1d9161a658d3ff4b2c3d4c9Bob Halley *
35c842e05dc6382ce1d9161a658d3ff4b2c3d4c9Bob Halley * @throws Exception If an unexpectd problem occurs.
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff */
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews @Test()
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews public void testCompareDNsFromFile()
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews throws Exception
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews {
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews TestCaseUtils.initializeTestBackend(true);
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews String path = TestCaseUtils.createTempFile(
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews "o=test",
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews "dc=example,dc=com",
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews "o=nonexistentsuffix",
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews "malformed",
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews "o=nonexistent,o=test");
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews String[] args =
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews {
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews "-h", "127.0.0.1",
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews "-V", "3",
435532822dc571a904207d8176e063cc8731eef5Bob Halley "-D", "cn=Directory Manager",
9ac79ef3f89b23d80f9649abf71fdc65bb7a8b62David Lawrence "-w", "password",
435532822dc571a904207d8176e063cc8731eef5Bob Halley "-c",
435532822dc571a904207d8176e063cc8731eef5Bob Halley "-f", path,
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence "o:test",
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews };
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews LDAPCompare.mainCompare(args, false, null, null);
19cfe6a53b6b932a375299ff8d82dbd66e54b5fdMark Andrews }
7c014c5bf41dc38802e8889c0a9110204eb1a552Andreas Gustafsson
435532822dc571a904207d8176e063cc8731eef5Bob Halley
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence /**
435532822dc571a904207d8176e063cc8731eef5Bob Halley * Tests a a compare operation reading the DNs to compare from a file that
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence * doesn't exist.
ed71ea51c6ecb5d7d659b6e6a20f6b3f5c2678c6David Lawrence *
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff * @throws Exception If an unexpectd problem occurs.
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson */
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson @Test()
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson public void testCompareDNsFromNonExistentFile()
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson throws Exception
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson {
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson TestCaseUtils.initializeTestBackend(true);
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson String[] args =
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson {
7c014c5bf41dc38802e8889c0a9110204eb1a552Andreas Gustafsson "-h", "127.0.0.1",
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson "-p", String.valueOf(TestCaseUtils.getServerLdapPort()),
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson "-V", "3",
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson "-D", "cn=Directory Manager",
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson "-w", "password",
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson "-c",
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson "-f", "does.not.exist",
9f6c66e1b3902b61256267d124f1b9cd61402e76Andreas Gustafsson "o:test",
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff };
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff assertFalse(LDAPCompare.mainCompare(args, false, null, null) == 0);
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff }
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff /**
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff * Tests the LDAPCompare tool with the "--help" option.
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff */
6526fd032fc418411da3af4201214e95c113d3e2Mark Andrews @Test()
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff public void testHelp()
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff {
6526fd032fc418411da3af4201214e95c113d3e2Mark Andrews String[] args = { "--help" };
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff assertEquals(LDAPCompare.mainCompare(args, false, null, null), 0);
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff
8313838954d67250d0ed7edf67fba5da0790d1a7Michael Graff args = new String[] { "-H" };
ece3d6c35693f9e2145434b0bf14e8b752cdeee8Michael Graff assertEquals(LDAPCompare.mainCompare(args, false, null, null), 0);
0adde9f4f9369b23c67b9a29e824dda09b19022fDavid Lawrence
ece3d6c35693f9e2145434b0bf14e8b752cdeee8Michael Graff args = new String[] { "-?" };
ece3d6c35693f9e2145434b0bf14e8b752cdeee8Michael Graff assertEquals(LDAPCompare.mainCompare(args, false, null, null), 0);
163bf7444f140c9201cc093c31431a56d4665af7Michael Graff
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence args = new String[] { "/?" };
dc97fe4ed08488d314ab5bc8e99ed839542cf411David Lawrence assertEquals(LDAPCompare.mainCompare(args, false, null, null), 0);
163bf7444f140c9201cc093c31431a56d4665af7Michael Graff }
ece3d6c35693f9e2145434b0bf14e8b752cdeee8Michael Graff}
ece3d6c35693f9e2145434b0bf14e8b752cdeee8Michael Graff
ece3d6c35693f9e2145434b0bf14e8b752cdeee8Michael Graff