@@ -48,7 +48,7 @@ class LdapUserManagerSpec extends spock.lang.Specification {
4848 @Shared
4949 private def principal
5050
51- private def createGroupSearchContext () {
51+ private def createGroupSearchContextOneUser () {
5252
5353 def umSearchResult = Mock (SearchResult )
5454 umSearchResult. getName() >> principal;
@@ -75,7 +75,34 @@ class LdapUserManagerSpec extends spock.lang.Specification {
7575 searchUsersResults. add(userSearchResult);
7676
7777 def context = Mock (LdapContext )
78- context. search(_, _, _) >>> [searchGroupResults, searchUsersResults];
78+ context. search(_, _, _) >>> [searchGroupResults, searchUsersResults, searchGroupResults, new BasicNamingEnumerationImpl ()];
79+
80+ return context
81+ }
82+
83+ private def createGroupSearchContextNoUser () {
84+
85+ def umSearchResult = Mock (SearchResult )
86+ umSearchResult. getName() >> principal;
87+ umSearchResult. getAttributes() >> principal
88+
89+ def uniqueMembers = new BasicNamingEnumerationImpl ()
90+ uniqueMembers. add(umSearchResult);
91+ def attributes = Mock (Attributes )
92+ def uniqueMemberAttribute = Mock (Attribute )
93+ uniqueMemberAttribute. getId() >> " uniquemember"
94+ uniqueMemberAttribute. getAll() >> uniqueMembers
95+ attributes. get(" uniquemember" ) >> uniqueMemberAttribute
96+
97+ def groupSearchResult = Mock (SearchResult )
98+ groupSearchResult. getName() >> principal;
99+ groupSearchResult. getAttributes() >> attributes
100+
101+ def searchGroupResults = new BasicNamingEnumerationImpl ()
102+ searchGroupResults. add(groupSearchResult);
103+
104+ def context = Mock (LdapContext )
105+ context. search(_, _, _) >>> [searchGroupResults, new BasicNamingEnumerationImpl ()];
79106
80107 return context
81108 }
@@ -254,16 +281,26 @@ class LdapUserManagerSpec extends spock.lang.Specification {
254281 varGroupName << [" " , null , " Murphy" ]
255282 }
256283
257- def " test successful getUsersInGroup" () {
284+ def " test successful getUsersInGroup one user " () {
258285 given : " ldap user manager and ldap config"
259286 def ldapUserManager = new LdapUserManager (ldapConfiguration)
260287
261288 when : " A request for users is made"
262- def result = ldapUserManager. getUsersInGroup(" engineering" , createGroupSearchContext ())
289+ def result = ldapUserManager. getUsersInGroup(" engineering" , createGroupSearchContextOneUser ())
263290 then : " one user is returned"
264291 result. size() == 1
265292 }
266293
294+ def " test successful getUsersInGroup no user" () {
295+ given : " ldap user manager and ldap config"
296+ def ldapUserManager = new LdapUserManager (ldapConfiguration)
297+
298+ when : " A request for users is made"
299+ def result = ldapUserManager. getUsersInGroup(" engineering" , createGroupSearchContextNoUser())
300+ then : " no user is returned"
301+ result. size() == 0
302+ }
303+
267304 def " test successful getUserForDn" () {
268305 given : " ldap user manager and ldap config"
269306 def ldapUserManager = new LdapUserManager (ldapConfiguration)
0 commit comments