/org-lib-usurper/test/org/org/usurper/UsurperSpringTest.java
https://github.com/zepag/org-libs · Java · 456 lines · 333 code · 49 blank · 74 comment · 30 complexity · 2b40c44f6421b6b7f3ca365899e206a9 MD5 · raw file
- /*
- ORG Usurper is a random value object generator library
- Copyright (C) 2007 Pierre-Antoine Grégoire
-
- 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 2.1 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 this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
- package org.org.usurper;
-
- import java.util.List;
- import java.util.Map;
- import java.util.Set;
-
- import junit.framework.TestCase;
-
- import org.org.usurper.TestCommons.BadSetupException;
- import org.org.usurper.TestCommons.NullPropertyException;
- import org.org.usurper.dummydomain.DummyService;
- import org.org.usurper.dummydomain.DummyVO;
- import org.org.usurper.dummydomain.IDummyDAO;
- import org.org.usurper.dummydomain.IOtherDummyDAO;
- import org.org.usurper.dummydomain.ImmutableDummyVO;
- import org.org.usurper.dummydomain.OtherDummyVO;
- import org.org.usurper.setup.IUsurperGeneratorSetup;
- import org.org.usurper.setup.constants.OnMissingHandlers;
- import org.org.usurper.setup.constants.PropertyWritingMechanism;
- import org.org.usurper.springframework.UsurperFactoryBean;
- import org.org.usurper.springframework.UsurperGeneratorSetupFactoryBean;
- import org.org.usurper.springframework.UsurperListFactoryBean;
- import org.org.usurper.springframework.UsurperMapFactoryBean;
- import org.org.usurper.springframework.UsurperSetFactoryBean;
- import org.org.usurper.springframework.UsurperSpringConstants;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
-
- /**
- * @author pagregoire
- */
- public class UsurperSpringTest extends TestCase {
-
- /**
- * @see junit.framework.TestCase#setUp()
- */
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- }
-
- public void testGenerateObject() throws Exception {
- // CREATE USURPER GENERATOR
- UsurperFactoryBean usurperFactoryBean = new UsurperFactoryBean();
- usurperFactoryBean.setUsurpedClassName(DummyVO.class.getName());
- usurperFactoryBean.afterPropertiesSet();
- // GENERATE USURPER
- DummyVO object = (DummyVO) usurperFactoryBean.getObject();
-
- // VALIDATE RESULTING OBJECT
- try {
- TestCommons.auditVO(object);
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateList() throws Exception {
- final int listSize = 15;
- // CREATE USURPER GENERATOR
- UsurperListFactoryBean usurperListFactoryBean = new UsurperListFactoryBean();
- usurperListFactoryBean.setUsurpedClassName(DummyVO.class.getName());
- usurperListFactoryBean.setCount(listSize);
- usurperListFactoryBean.afterPropertiesSet();
- // GENERATE USURPER
- List list = (List) usurperListFactoryBean.getObject();
- assertTrue("Generated List's size should be " + listSize, list.size() == listSize);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : list) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateSet() throws Exception {
- final int setSize = 15;
- // CREATE USURPER GENERATOR
- UsurperSetFactoryBean usurperSetFactoryBean = new UsurperSetFactoryBean();
- usurperSetFactoryBean.setUsurpedClassName(DummyVO.class.getName());
- usurperSetFactoryBean.setCount(setSize);
- usurperSetFactoryBean.afterPropertiesSet();
- // GENERATE USURPER
- Set set = (Set) usurperSetFactoryBean.getObject();
- assertTrue("Generated Set's size should be " + setSize, set.size() == setSize);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : set) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateMap() throws Exception {
- final int mapSize = 15;
- // CREATE USURPER GENERATOR
- UsurperMapFactoryBean usurperMapFactoryBean = new UsurperMapFactoryBean();
- usurperMapFactoryBean.setUsurpedKeyClassName(DummyVO.class.getName());
- usurperMapFactoryBean.setUsurpedValueClassName(OtherDummyVO.class.getName());
- usurperMapFactoryBean.setCount(mapSize);
- usurperMapFactoryBean.afterPropertiesSet();
- // GENERATE USURPER
- Map map = (Map) usurperMapFactoryBean.getObject();
- assertTrue("Generated Map's size should be " + mapSize, map.size() == mapSize);
- // VALIDATE RESULTING OBJECT
- try {
- Set keys = map.keySet();
- for (Object key : keys) {
- TestCommons.auditVO(key);
- TestCommons.auditVO(map.get(key));
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- public void testGenerateObjectWithNamespaceHandler() throws Exception {
- // CREATE USURPER GENERATOR through Spring namespace
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-namespace-onebean.xml");
- // RETRIEVE USURPER
- DummyVO object = (DummyVO) applicationContext.getBean("DummyVO");
-
- // VALIDATE RESULTING OBJECT
- try {
- TestCommons.auditVO(object);
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- object = ((DummyService) applicationContext.getBean("DummyService")).getDummyVO();
-
- // VALIDATE RESULTING OBJECT
- try {
- TestCommons.auditVO(object);
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateListWithNamespaceHandler() throws Exception {
- final int listSize = 15;
- // CREATE USURPER GENERATOR through Spring namespace
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-namespace-listofbeans.xml");
- // RETRIEVE USURPER
- List list = (List) applicationContext.getBean("DummyVOs");
-
- assertTrue("Generated List's size should be " + listSize, list.size() == listSize);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : list) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateSetWithNamespaceHandler() throws Exception {
- final int setSize = 15;
- // CREATE USURPER GENERATOR through Spring namespace
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-namespace-setofbeans.xml");
- // RETRIEVE USURPER
- Set set = (Set) applicationContext.getBean("DummyVOs");
- assertTrue("Generated Set's size should be " + setSize, set.size() == setSize);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : set) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateMapWithNamespaceHandler() throws Exception {
- final int mapSize = 15;
- // CREATE USURPER GENERATOR through Spring namespace
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-namespace-mapofbeans.xml");
- // RETRIEVE USURPER
- Map map = (Map) applicationContext.getBean("DummyVOs");
- assertTrue("Generated Map's size should be " + mapSize, map.size() == mapSize);
- // VALIDATE RESULTING OBJECT
- try {
- Set keys = map.keySet();
- for (Object key : keys) {
- TestCommons.auditVO(key);
- TestCommons.auditVO(map.get(key));
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testMethodInterceptor() throws Exception {
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-aop.xml");
- IDummyDAO dummyDAO = (IDummyDAO) applicationContext.getBean("DummyDAO");
-
- // RETRIEVE USURPER
- DummyVO dummyVO = dummyDAO.getVO("whatever, this is not used");
-
- // VALIDATE RESULTING OBJECT
- try {
- TestCommons.auditVO(dummyVO);
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- List list = dummyDAO.getVOList("whatever, this is not used");
-
- assertTrue("Generated List's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, list.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : list) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- Set set = dummyDAO.getVOSet("whatever, this is not used");
- assertTrue("Generated Set's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, set.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : set) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- Map map = dummyDAO.getVOMap("whatever, this is not used");
- assertTrue("Generated Map's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, map.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- Set keys = map.keySet();
- for (Object key : keys) {
- TestCommons.auditVO(key);
- TestCommons.auditVO(map.get(key));
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testMethodInterceptorWithNamespaceHandler() throws Exception {
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-namespace-aop.xml");
- IDummyDAO dummyDAO = (IDummyDAO) applicationContext.getBean("DummyDAO");
-
- // RETRIEVE USURPER
- DummyVO dummyVO = dummyDAO.getVO("whatever, this is not used");
-
- // VALIDATE RESULTING OBJECT
- try {
- TestCommons.auditVO(dummyVO);
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- List list = dummyDAO.getVOList("whatever, this is not used");
-
- assertTrue("Generated List's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, list.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : list) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- Set set = dummyDAO.getVOSet("whatever, this is not used");
- assertTrue("Generated Set's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, set.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : set) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- Map map = dummyDAO.getVOMap("whatever, this is not used");
- assertTrue("Generated Map's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, map.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- Set keys = map.keySet();
- for (Object key : keys) {
- TestCommons.auditVO(key);
- TestCommons.auditVO(map.get(key));
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testMethodInterceptorWithNamespaceHandlerAndImmutables() throws Exception {
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-namespace-aop-immutable.xml");
- IOtherDummyDAO dummyDAO = (IOtherDummyDAO) applicationContext.getBean("OtherDummyDAO");
-
- // RETRIEVE USURPER
- ImmutableDummyVO dummyVO = dummyDAO.getVO("whatever, this is not used");
-
- // VALIDATE RESULTING OBJECT
- try {
- TestCommons.auditVO(dummyVO);
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- List list = dummyDAO.getVOList("whatever, this is not used");
-
- assertTrue("Generated List's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, list.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : list) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- Set set = dummyDAO.getVOSet("whatever, this is not used");
- assertTrue("Generated Set's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, set.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- for (Object object : set) {
- TestCommons.auditVO(object);
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
-
- // RETRIEVE USURPER
- Map map = dummyDAO.getVOMap("whatever, this is not used");
- assertTrue("Generated Map's size should be " + UsurperSpringConstants.DEFAULT_ENTRIES_COUNT, map.size() == UsurperSpringConstants.DEFAULT_ENTRIES_COUNT);
- // VALIDATE RESULTING OBJECT
- try {
- Set keys = map.keySet();
- for (Object key : keys) {
- TestCommons.auditVO(key);
- TestCommons.auditVO(map.get(key));
- }
- } catch (NullPropertyException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateSetup() throws Exception {
- UsurperGeneratorSetupFactoryBean usurperGeneratorSetupFactoryBean = new UsurperGeneratorSetupFactoryBean();
- usurperGeneratorSetupFactoryBean.setArrayHandler(TestCommons.ARRAY_HANDLER);
- usurperGeneratorSetupFactoryBean.setEnumHandler(TestCommons.ENUM_HANDLER);
- usurperGeneratorSetupFactoryBean.setCountCallback(TestCommons.DUMMY_COLLECTION_COUNT_CALLBACK);
- usurperGeneratorSetupFactoryBean.onMissingHandlers(OnMissingHandlers.SKIP);
- usurperGeneratorSetupFactoryBean.usePropertyWritingMechanism(PropertyWritingMechanism.USE_SETTERS);
- usurperGeneratorSetupFactoryBean.setPropertyTypeHandlers(TestCommons.PROPERTY_TYPE_HANDLERS_SET);
- usurperGeneratorSetupFactoryBean.setSpecificPropertyHandlers(TestCommons.SPECIFIC_PROPERTY_HANDLERS_SET);
- usurperGeneratorSetupFactoryBean.afterPropertiesSet();
-
- IUsurperGeneratorSetup usurperGeneratorSetup = (IUsurperGeneratorSetup) usurperGeneratorSetupFactoryBean.getObject();
- try {
- TestCommons.auditSetup(usurperGeneratorSetup);
- } catch (BadSetupException e) {
- fail(e.getMessage());
- }
-
- UsurperGeneratorSetupFactoryBean usurperGeneratorSetupFactoryBean2 = new UsurperGeneratorSetupFactoryBean();
- usurperGeneratorSetupFactoryBean2.setParentSetup(usurperGeneratorSetup);
- usurperGeneratorSetupFactoryBean2.afterPropertiesSet();
-
- IUsurperGeneratorSetup usurperGeneratorSetup2 = (IUsurperGeneratorSetup) usurperGeneratorSetupFactoryBean2.getObject();
- try {
- TestCommons.auditSetup(usurperGeneratorSetup2);
- } catch (BadSetupException e) {
- fail(e.getMessage());
- }
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateSetupWithXMLConfig() throws Exception {
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-setup.xml");
- IUsurperGeneratorSetup usurperGeneratorSetup = (IUsurperGeneratorSetup) applicationContext.getBean("usurperGeneratorSetupClassic");
- try {
- TestCommons.auditSetup(usurperGeneratorSetup);
- } catch (BadSetupException e) {
- fail(e.getMessage());
- }
-
- IUsurperGeneratorSetup usurperGeneratorSetup2 = (IUsurperGeneratorSetup) applicationContext.getBean("usurperGeneratorSetupClassic2");
- try {
- TestCommons.auditSetup(usurperGeneratorSetup2);
- } catch (BadSetupException e) {
- fail(e.getMessage());
- }
-
- }
-
- @SuppressWarnings("unchecked")
- public void testGenerateSetupWithNamespaceHandler() throws Exception {
- ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-namespace-setup.xml");
- IUsurperGeneratorSetup usurperGeneratorSetup = (IUsurperGeneratorSetup) applicationContext.getBean("usurperGeneratorSetupNamespace");
- try {
- TestCommons.auditSetup(usurperGeneratorSetup);
- } catch (BadSetupException e) {
- fail(e.getMessage());
- }
- IUsurperGeneratorSetup usurperGeneratorSetup2 = (IUsurperGeneratorSetup) applicationContext.getBean("usurperGeneratorSetupNamespace2");
- try {
- TestCommons.auditSetup(usurperGeneratorSetup2);
- } catch (BadSetupException e) {
- fail(e.getMessage());
- }
-
- }
- }