Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/apache/directory-studio.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Seelmann <mail@stefan-seelmann.de>2021-04-03 20:11:13 +0300
committerStefan Seelmann <mail@stefan-seelmann.de>2021-04-03 20:11:13 +0300
commit66fee764ce1a98e0cbcf65a4ec22d4c7cb4f16a0 (patch)
treeca98e86a2ebac6da16fab27660258c00cb16ecd1
parent4d6eb0d61c11b92f65c9a8b21860ebec6955f218 (diff)
Add tests for DIRSTUDIO-1078/DIRAPI-365: unable to use # pound hash sign in LDAP filters
-rw-r--r--tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/SearchTest.java54
-rw-r--r--tests/test.integration.ui/src/main/resources/org/apache/directory/studio/test/integration/ui/BrowserTest.ldif6
2 files changed, 60 insertions, 0 deletions
diff --git a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/SearchTest.java b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/SearchTest.java
index aa908e068..09923f193 100644
--- a/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/SearchTest.java
+++ b/tests/test.integration.ui/src/main/java/org/apache/directory/studio/test/integration/ui/SearchTest.java
@@ -429,4 +429,58 @@ public class SearchTest extends AbstractLdapTestUnit
assertEquals( "(&\n (objectClass=*)\n (uid=user.1)\n)", formattetFilter );
}
+
+ /**
+ * Test for DIRSTUDIO-1078/DIRAPI-365: unable to use # pound hash sign in LDAP filters
+ */
+ @Test
+ public void testFilterForDnWithLeadingHash() throws Exception
+ {
+ String searchName = "Test filter for DN with leading hash character";
+ browserViewBot.selectEntry( "DIT", "Root DSE", "ou=system" );
+ SearchDialogBot dialogBot = browserViewBot.openSearchDialog();
+ assertTrue( dialogBot.isVisible() );
+ dialogBot.setSearchName( searchName );
+ dialogBot.setReturningAttributes( "objectClass,ou,cn,uid" );
+
+ FilterEditorDialogBot filterBot = dialogBot.openFilterEditor();
+ filterBot.setFilter( "member=CN=\\5c#ACL_AD-Projects_Author,ou=users,ou=system" );
+ filterBot.clickFormatButton();
+ filterBot.clickOkButton();
+ dialogBot.activate();
+ String filter = dialogBot.getFilter();
+ dialogBot.clickSearchButton();
+
+ browserViewBot.expandEntry( "Searches", searchName );
+ assertTrue( browserViewBot.existsEntry( "Searches", searchName, "cn=My Group,ou=groups,ou=system" ) );
+ assertEquals( "(member=CN=\\5c#ACL_AD-Projects_Author,ou=users,ou=system)", filter );
+ }
+
+
+ /**
+ * Test for DIRSTUDIO-1078/DIRAPI-365: unable to use # pound hash sign in LDAP filters
+ */
+ @Test
+ public void testFilterForDnWithLeadingHashHex() throws Exception
+ {
+ String searchName = "Test filter for DN with leading hash character";
+ browserViewBot.selectEntry( "DIT", "Root DSE", "ou=system" );
+ SearchDialogBot dialogBot = browserViewBot.openSearchDialog();
+ assertTrue( dialogBot.isVisible() );
+ dialogBot.setSearchName( searchName );
+ dialogBot.setReturningAttributes( "objectClass,ou,cn,uid" );
+
+ FilterEditorDialogBot filterBot = dialogBot.openFilterEditor();
+ filterBot.setFilter( "member=CN=\\5C23ACL_AD-Projects_Author,ou=users,ou=system" );
+ filterBot.clickFormatButton();
+ filterBot.clickOkButton();
+ dialogBot.activate();
+ String filter = dialogBot.getFilter();
+ dialogBot.clickSearchButton();
+
+ browserViewBot.expandEntry( "Searches", searchName );
+ assertTrue( browserViewBot.existsEntry( "Searches", searchName, "cn=My Group,ou=groups,ou=system" ) );
+ assertEquals( "(member=CN=\\5C23ACL_AD-Projects_Author,ou=users,ou=system)", filter );
+ }
+
}
diff --git a/tests/test.integration.ui/src/main/resources/org/apache/directory/studio/test/integration/ui/BrowserTest.ldif b/tests/test.integration.ui/src/main/resources/org/apache/directory/studio/test/integration/ui/BrowserTest.ldif
index 08c54eb64..761db633a 100644
--- a/tests/test.integration.ui/src/main/resources/org/apache/directory/studio/test/integration/ui/BrowserTest.ldif
+++ b/tests/test.integration.ui/src/main/resources/org/apache/directory/studio/test/integration/ui/BrowserTest.ldif
@@ -221,6 +221,12 @@ objectClass: person
cn: #ACL_AD-Projects_Author
sn: #ACL_AD-Projects_Author
+dn: cn=My Group,ou=groups,ou=system
+objectClass: groupOfNames
+objectClass: top
+cn: My Group
+member: cn=\#ACL_AD-Projects_Author,ou=users,ou=system
+
dn: cn=nghZwwtHgxgyvVbTQCYyeY\+O4cc=,ou=users,ou=system
objectClass: top
objectClass: person