function it_should_refresh_attributes_but_not_roles_if_specified($query, LdapUser $user, $qb) { $this->setRefreshRoles(false); $query->getSingleResult()->shouldBeCalled(); $query->getResult()->shouldNotBeCalled(); $user->getLdapGuid()->shouldBeCalled()->willReturn($this->attr['guid']); $qb->where(['guid' => $this->attr['guid']])->shouldBeCalled()->willReturn($qb); $user->getRoles()->shouldBeCalled()->willReturn(['ROLE_FOO']); $this->refreshUser($user)->toArray()->shouldEqual($this->attr); }
/** * @param LdapUser $user * @return LdapObjectCollection */ protected function getGroupsForUser(LdapUser $user) { $select = $this->roleAttrMap; unset($select['members']); $query = $this->ldap->buildLdapQuery()->from($this->groupObjectType)->select(array_values($select)); if ($this->checkGroupsRecursively) { $query->where($query->filter()->hasMemberRecursively($user->getLdapGuid(), $this->roleAttrMap['members'])); } else { $query->where([$this->roleAttrMap['members'] => $user->getLdapGuid()]); } return $query->getLdapQuery()->getResult(); }