/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.github.ebnew.ki4so.core.authentication.resolvers;
import com.github.ebnew.ki4so.core.authentication.Credential;
import com.github.ebnew.ki4so.core.authentication.EncryCredential;
import com.github.ebnew.ki4so.core.authentication.Principal;
import com.github.ebnew.ki4so.core.model.EncryCredentialInfo;
import java.util.HashMap;
import java.util.Map;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;
import org.mockito.Mockito;
/**
*
* @author bidlink
*/
public class EncryCredentialToPrincipalResolverTest {
private EncryCredentialToPrincipalResolver resolver;
public EncryCredentialToPrincipalResolverTest() {
}
@BeforeClass
public static void setUpClass() {
}
@AfterClass
public static void tearDownClass() {
}
@Before
public void setUp() {
this.resolver = new EncryCredentialToPrincipalResolver();
}
@After
public void tearDown() {
}
// TODO add test methods here.
// The methods must be annotated with annotation @Test. For example:
//
@Test
public void testResolvePrincipal() {
//测试null情况。
assertNull(this.resolver.resolvePrincipal(null));
//测试不只是的用户凭据对象。
Credential credential = Mockito.mock(Credential.class);
assertNull(this.resolver.resolvePrincipal(credential));
//测试正常情况。
String userId = "test";
EncryCredential encryCredential = new EncryCredential("ddd");
Map<String, Object> param = new HashMap<String, Object>();
encryCredential.setParameters(param);
EncryCredentialInfo encryCredentialInfo = new EncryCredentialInfo();
encryCredentialInfo.setUserId(userId);
encryCredential.setEncryCredentialInfo(encryCredentialInfo);
Principal principal = this.resolver.resolvePrincipal(encryCredential);
assertNotNull(principal);
assertEquals(userId, principal.getId());
assertEquals(param, principal.getAttributes());
}
}