Package com.github.ebnew.ki4so.core.authentication.resolvers

Source Code of com.github.ebnew.ki4so.core.authentication.resolvers.UsernamePasswordCredentialToPrincipalResolverTest

package com.github.ebnew.ki4so.core.authentication.resolvers;

import junit.framework.Assert;

import org.junit.Test;
import org.mockito.Mockito;

import com.github.ebnew.ki4so.core.authentication.Credential;
import com.github.ebnew.ki4so.core.authentication.DefaultUserPrincipal;
import com.github.ebnew.ki4so.core.authentication.UsernamePasswordCredential;

public class UsernamePasswordCredentialToPrincipalResolverTest {
 
  private UsernamePasswordCredentialToPrincipalResolver resolver = new UsernamePasswordCredentialToPrincipalResolver();
 
  @Test
  public void testSupports(){
    //测试凭据为空的情况。
    Assert.assertFalse(resolver.supports(null));
   
    //测试不支持的凭据类型的情况。
    Credential credential = Mockito.mock(Credential.class);
    Assert.assertFalse(resolver.supports(credential));
   
    //测试支持的凭据类型UsernamePasswordCredential的情况。
    credential = new UsernamePasswordCredential();
    Assert.assertTrue(resolver.supports(credential));
   
   
    //测试支持的凭据类型UsernamePasswordCredential的子类情况。
    credential = new SubUsernamePasswordCredential();
    Assert.assertTrue(resolver.supports(credential));
  }
 
 
  @Test
  public void testResolvePrincipal(){
    //测试传入null的情况。
    Assert.assertNull(resolver.resolvePrincipal(null));
   
    //测试传入不支持的凭据类型的情况。
    Credential credential = Mockito.mock(Credential.class);
    Assert.assertNull(resolver.resolvePrincipal(credential));
   
    //测试传入正确的凭据对象的情况。
    String username = "admin";
    UsernamePasswordCredential usernamePasswordCredential = new UsernamePasswordCredential();
    usernamePasswordCredential.setUsername(username);
    DefaultUserPrincipal principal = (DefaultUserPrincipal)resolver.resolvePrincipal(usernamePasswordCredential);
    Assert.assertNotNull(principal);
    Assert.assertEquals(username, principal.getId());
   
   
  }

}

class SubUsernamePasswordCredential extends UsernamePasswordCredential{
 
}
TOP

Related Classes of com.github.ebnew.ki4so.core.authentication.resolvers.UsernamePasswordCredentialToPrincipalResolverTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.