Package org.springside.examples.miniservice.unit.service.account

Source Code of org.springside.examples.miniservice.unit.service.account.AccountManagerTest

package org.springside.examples.miniservice.unit.service.account;

import static org.junit.Assert.*;

import org.easymock.EasyMock;
import org.easymock.IMocksControl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springside.examples.miniservice.dao.account.UserDao;
import org.springside.examples.miniservice.service.account.AccountManager;

/**
* AccountManager的单元测试用例, 测试Service层的业务逻辑.
*
* 使用EasyMock对UserDao进行模拟.
*
* @author calvin
*/
public class AccountManagerTest {

  private IMocksControl control = EasyMock.createControl();

  private AccountManager accountManager;
  private UserDao mockUserDao;

  @Before
  public void setUp() {
    accountManager = new AccountManager();
    mockUserDao = control.createMock(UserDao.class);
    accountManager.setUserDao(mockUserDao);
  }

  @After
  public void tearDown() {
    control.verify();
  }

  /**
   * 用户认证测试.
   *
   * 分别测试正确的用户与正确,空,错误的密码三种情况.
   */
  @Test
  public void authUser() {
    EasyMock.expect(mockUserDao.countUserByLoginNamePassword("admin", "admin")).andReturn(1L);
    EasyMock.expect(mockUserDao.countUserByLoginNamePassword("admin", "errorPasswd")).andReturn(0L);
    control.replay();

    assertEquals(true, accountManager.authenticate("admin", "admin"));
    assertEquals(false, accountManager.authenticate("admin", ""));
    assertEquals(false, accountManager.authenticate("admin", "errorPasswd"));
  }
}
TOP

Related Classes of org.springside.examples.miniservice.unit.service.account.AccountManagerTest

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.