Package com.vst.dao

Source Code of com.vst.dao.GenericDaoTest

package com.vst.dao;

import com.vst.model.User;
import com.vst.model.ext.GeoCity;

import org.springframework.dao.InvalidDataAccessApiUsageException;
import org.springframework.orm.ObjectRetrievalFailureException;

/**
* This class tests the generic Dao and BaseDao implementation.
*/
public class GenericDaoTest extends BaseDaoTestCase {
    protected Dao dao;

    /**
     * This method is used instead of setDao b/c setDao uses autowire byType
     * <code>setPopulateProtectedVariables(true)</code> can also be used, but it's
     * a little bit slower.
     */
    public void onSetUpBeforeTransaction() throws Exception {
        dao = (Dao) applicationContext.getBean("dao");
    }

    public void onTearDownAfterTransaction() throws Exception {
        dao = null;
    }

    /**
     * Simple test to verify BaseDao works.
     */
    public void testCRUD() {
        User user = new User();
        // set required fields
        user.setUsername("foo");
        user.setPassword("bar");
        user.setFirstName("first");
        user.setLastName("last");
        user.getAddress().setCity(new GeoCity("Denver"));
        user.getAddress().setPostalCode("80465");
        user.setEmail("foo@bar.com");

        // create
        dao.saveObject(user);
        assertNotNull(user.getId());

//        // retrieve
//        user = (User) dao.getObject(User.class, user.getId());
//        assertNotNull(user);
//        assertEquals(user.getLastName(), "last");
//
//        // update
//        user.getAddress().setCountry("USA");
//        dao.saveObject(user);
//        assertEquals(user.getAddress().getCountry(), "USA");
//
//        // delete
//        dao.removeObject(User.class, user.getId());
//        try {
//            dao.getObject(User.class, user.getId());
//            fail("User 'foo' found in database");
//        } catch (ObjectRetrievalFailureException e) {
//            assertNotNull(e.getMessage());
//        } catch (InvalidDataAccessApiUsageException e) { // Spring 2.0 throws this one
//            assertNotNull(e.getMessage());
//        }
    }
}
TOP

Related Classes of com.vst.dao.GenericDaoTest

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.