mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-06-27 10:40:22 -07:00
[PR #6648/88014635 backport][stable-7] plugins/modules/ldap_search: Add support for multipage searches (#6697)
plugins/modules/ldap_search: Add support for multipage searches (#6648)
* Add more integration tests for ldap_search
* Add new page_size option to ldap_search
* Add changelog fragment
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
* Simplify if statement to reduce negatives
* Apply suggestions from code review
Co-authored-by: Felix Fontein <felix@fontein.de>
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 8801463575
)
Co-authored-by: Gnonthgol <gnonthgol+github@gmail.com>
This commit is contained in:
parent
adca0d5d75
commit
7dcbb1ade4
6 changed files with 118 additions and 15 deletions
|
@ -23,3 +23,17 @@
|
|||
- output is not failed
|
||||
- output.results | length == 1
|
||||
- output.results.0.displayName == "LDAP Test"
|
||||
|
||||
- name: Test simple search for a user with no results
|
||||
ldap_search:
|
||||
dn: "ou=users,dc=example,dc=com"
|
||||
scope: "onelevel"
|
||||
filter: "(uid=nonexistent)"
|
||||
ignore_errors: true
|
||||
register: output
|
||||
|
||||
- name: assert that the output is empty
|
||||
assert:
|
||||
that:
|
||||
- output is not failed
|
||||
- output.results | length == 0
|
||||
|
|
24
tests/integration/targets/ldap_search/tasks/tests/pages.yml
Normal file
24
tests/integration/targets/ldap_search/tasks/tests/pages.yml
Normal file
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- debug:
|
||||
msg: Running tests/pages.yml
|
||||
|
||||
####################################################################
|
||||
## Search ##########################################################
|
||||
####################################################################
|
||||
- name: Test paged search for all users
|
||||
ldap_search:
|
||||
dn: "ou=users,dc=example,dc=com"
|
||||
scope: "onelevel"
|
||||
page_size: 1
|
||||
ignore_errors: true
|
||||
register: output
|
||||
|
||||
- name: assert that the right number of results are returned
|
||||
assert:
|
||||
that:
|
||||
- output is not failed
|
||||
- output.results | length == 2
|
25
tests/integration/targets/ldap_search/tasks/tests/schema.yml
Normal file
25
tests/integration/targets/ldap_search/tasks/tests/schema.yml
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- debug:
|
||||
msg: Running tests/schema.yml
|
||||
|
||||
####################################################################
|
||||
## Search ##########################################################
|
||||
####################################################################
|
||||
- name: Test for ldap schema output
|
||||
ldap_search:
|
||||
dn: "ou=users,dc=example,dc=com"
|
||||
scope: "onelevel"
|
||||
schema: true
|
||||
ignore_errors: true
|
||||
register: output
|
||||
|
||||
- name: Assert that the schema output is correct
|
||||
assert:
|
||||
that:
|
||||
- output is not failed
|
||||
- output.results | length >= 1
|
||||
- "{{ 'displayName' in output.results.0.attrs }}"
|
|
@ -20,3 +20,21 @@ gecos: LDAP Test
|
|||
displayName: LDAP Test
|
||||
mail: ldap.test@example.com
|
||||
sn: Test
|
||||
|
||||
dn: uid=second,ou=users,dc=example,dc=com
|
||||
uid: second
|
||||
uidNumber: 1112
|
||||
gidNUmber: 102
|
||||
objectClass: top
|
||||
objectClass: posixAccount
|
||||
objectClass: shadowAccount
|
||||
objectClass: person
|
||||
objectClass: organizationalPerson
|
||||
objectClass: inetOrgPerson
|
||||
loginShell: /bin/sh
|
||||
homeDirectory: /home/second
|
||||
cn: Second Test
|
||||
gecos: Second Test
|
||||
displayName: Second Test
|
||||
mail: second.test@example.com
|
||||
sn: Test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue