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

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

package org.springside.examples.miniweb.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.miniweb.dao.account.UserDao;
import org.springside.examples.miniweb.service.ServiceException;
import org.springside.examples.miniweb.service.account.AccountManager;

/**
* SecurityEntityManager的测试用例, 测试Service层的业务逻辑.
*
* 调用实际的DAO类进行操作,亦可使用MockDAO对象将本用例改为单元测试.
*
* @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 deleteUser() {
    mockUserDao.delete(2L);
    control.replay();

    //正常删除用户.
    accountManager.deleteUser(2L);

    //删除超级管理用户抛出异常.
    try {
      accountManager.deleteUser(1L);
      fail("expected ServicExcepton not be thrown");
    } catch (ServiceException e) {
      //expected exception
    }
  }
}
TOP

Related Classes of org.springside.examples.miniweb.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.