Spring security unit test

33 views Asked by At
@Override
  protected void configure(AuthenticationManagerBuilder authBuilder) throws Exception {
      if (ldap) {
          authBuilder.ldapAuthentication()
                  .userDetailsContextMapper(customUserDetailsCxtMapper())
                  .userSearchFilter("(&(objectClass=user)(" + userDnPatterns + "))")
                  .contextSource()
                  .url(ldapProviderUrl + ldapBaseDn.trim().replaceAll(" ", "%20"))
                  .managerDn(ldapSecurityPrincipal)
                  .managerPassword(ldapPrincipalPassword);
      } else {
         
          super.configure(auth);
      }
  }


@Bean
  public UserDetailsContextMapper customUserDetailsContextMapper() {
      return new UserDetailsContextMapper() {
          @Override
          public UserDetails mapUserFromContext(DirContextOperations context, String uName,
                                                Collection<? extends GrantedAuthority> authorities) {
              ArrayList<GrantedAuthority> grantedAuthorities = new ArrayList<>();
              Collection<? extends GrantedAuthority> authorities = extractAuthorityFromMemberOf(context);
              grantedAuthorities.addAll(authorities);
              UserDetailsContextMapper contextMapper = new LdapUserDetailsMapper();
              return contextMapper.mapUserFromContext(context, uName, grantedAuthorities);
          }

          @Override
          public void mapUserToContext(UserDetails userDetails, DirContextAdapter dirContextAdapter) {
          }
      };
  }

I am new to spring security? How can I write a unit test for checking this ldap configuration? I am always getting null while at this line userDetailsContextMapper(customUserDetailsCxtMapper()) Not sure how to mock these lines

userDetailsContextMapper(customUserDetailsCxtMapper())
                  .userSearchFilter("(&(objectClass=user)(" + userDnPatterns + "))")
                  .contextSource()
0

There are 0 answers