Package com.cubusmail.user.test

Source Code of com.cubusmail.user.test.UserAccountDaoTest

/* UserAccountDaoTest.java

   Copyright (c) 2009 Juergen Schlierf, All Rights Reserved
  
   This file is part of Cubusmail (http://code.google.com/p/cubusmail/).
 
   This library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 3 of the License, or (at your option) any later version.
 
   This library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.
 
   You should have received a copy of the GNU Lesser General Public
   License along with Cubusmail. If not, see <http://www.gnu.org/licenses/>.
*/
package com.cubusmail.user.test;

import java.util.List;

import junit.framework.Assert;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.cubusmail.gwtui.domain.Contact;
import com.cubusmail.gwtui.domain.ContactFolder;
import com.cubusmail.gwtui.domain.UserAccount;
import com.cubusmail.user.UserAccountDao;

/**
* Unittests for UserAccountDao
*
* @author Juergen Schlierf
*/

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath*:com/cubusmail/user/test/userAccountDaoTestContext.xml")
public class UserAccountDaoTest implements ApplicationContextAware {

  private ApplicationContext context;

  private UserAccountDao userAccountDao;

  @Before
  public void initDB() {

    this.userAccountDao = (UserAccountDao) this.context.getBean( "userAccountDao" );
    UserAccount userAccount = (UserAccount) this.context.getBean( "testUserAccount" );

    this.userAccountDao.saveUserAccount( userAccount );
  }

  @After
  public void closeDB() {

    this.userAccountDao.getSessionFactory().openSession();
  }

  /**
   * Compare test user account with the persistent one.
   */
  @Test
  public void testGetUserAccountByUsername() {

    UserAccount userAccount = (UserAccount) this.context.getBean( "testUserAccount" );
    UserAccount savedUserAccount = this.userAccountDao.getUserAccountByUsername( userAccount.getUsername() );
    Assert.assertNotNull( savedUserAccount );

    List<ContactFolder> contactFolders = this.userAccountDao.retrieveContactFolders( userAccount );

    Assert.assertNotNull( contactFolders );
    Assert.assertFalse( contactFolders.isEmpty() );

    List<Contact> contactList = this.userAccountDao.retrieveContactList( contactFolders.get( 0 ) );
    Assert.assertNotNull( contactList );
    Assert.assertFalse( contactList.isEmpty() );
    Assert.assertEquals( contactList.size(), userAccount.getContactFolders().get( 0 ).getContactList().size() );
  }

  /**
   * Test moveContacts().
   */
  // @Test
  public void testMoveContacts() {

    UserAccount userAccount = (UserAccount) this.context.getBean( "testUserAccount" );
    UserAccount savedUserAccount = this.userAccountDao.getUserAccountByUsername( userAccount.getUsername() );
    Assert.assertNotNull( savedUserAccount );
    List<ContactFolder> contactFolders = this.userAccountDao.retrieveContactFolders( userAccount );

    ContactFolder targetFolder = contactFolders.get( 0 );
    ContactFolder sourceFolder = contactFolders.get( 1 );
    List<Contact> contacts = this.userAccountDao.retrieveContactList( sourceFolder );
    Long[] contactIds = new Long[] { contacts.get( 0 ).getId(), contacts.get( 1 ).getId() };
   
    this.userAccountDao.moveContacts( contactIds, targetFolder );
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * org.springframework.context.ApplicationContextAware#setApplicationContext
   * (org.springframework.context.ApplicationContext)
   */
  public void setApplicationContext( ApplicationContext applicationContext ) throws BeansException {

    this.context = applicationContext;
  }
}
TOP

Related Classes of com.cubusmail.user.test.UserAccountDaoTest

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.