diff options
author | pfullbright | 2008-11-10 16:45:13 +0000 |
---|---|---|
committer | pfullbright | 2008-11-10 16:45:13 +0000 |
commit | 9b4c3f837b1980634ee98a9469085e03cef18ccd (patch) | |
tree | 5b5a2817d53de30b455f138d3ef7208a5a6a25ce /jpa | |
parent | dd58e53e2dad453817803bb7f88573de146afd2b (diff) | |
download | webtools.dali-9b4c3f837b1980634ee98a9469085e03cef18ccd.tar.gz webtools.dali-9b4c3f837b1980634ee98a9469085e03cef18ccd.tar.xz webtools.dali-9b4c3f837b1980634ee98a9469085e03cef18ccd.zip |
added implied eclipselink-orm.xml tests
Diffstat (limited to 'jpa')
2 files changed, 111 insertions, 0 deletions
diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTests.java new file mode 100644 index 0000000000..fd3355037f --- /dev/null +++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/persistence/EclipseLinkPersistenceUnitTests.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2008 Oracle. + * All rights reserved. This program and the accompanying materials are + * made available under the terms of the Eclipse Public License v1.0 which + * accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Oracle - initial API and implementation + *******************************************************************************/ +package org.eclipse.jpt.eclipselink.core.tests.internal.context.persistence; + +import org.eclipse.jpt.core.internal.facet.JpaFacetDataModelProperties; +import org.eclipse.jpt.core.internal.facet.JpaFacetDataModelProvider; +import org.eclipse.jpt.core.internal.operations.OrmFileCreationDataModelProperties; +import org.eclipse.jpt.core.resource.persistence.PersistenceFactory; +import org.eclipse.jpt.core.resource.persistence.XmlMappingFileRef; +import org.eclipse.jpt.core.resource.persistence.XmlPersistenceUnit; +import org.eclipse.jpt.core.tests.internal.projects.TestJpaProject; +import org.eclipse.jpt.eclipselink.core.internal.EclipseLinkJpaPlatform; +import org.eclipse.jpt.eclipselink.core.internal.context.persistence.EclipseLinkPersistenceUnit; +import org.eclipse.jpt.eclipselink.core.internal.operations.EclipseLinkOrmFileCreationDataModelProvider; +import org.eclipse.jpt.eclipselink.core.resource.orm.EclipseLinkOrmResource; +import org.eclipse.jpt.eclipselink.core.tests.internal.context.orm.EclipseLinkOrmContextModelTestCase; +import org.eclipse.jpt.utility.internal.CollectionTools; +import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory; +import org.eclipse.wst.common.frameworks.datamodel.IDataModel; + +public class EclipseLinkPersistenceUnitTests + extends EclipseLinkOrmContextModelTestCase +{ + public EclipseLinkPersistenceUnitTests(String name) { + super(name); + } + + + @Override + protected IDataModel buildJpaConfigDataModel() { + IDataModel dataModel = DataModelFactory.createDataModel(new JpaFacetDataModelProvider()); + dataModel.setProperty(JpaFacetDataModelProperties.PLATFORM_ID, EclipseLinkJpaPlatform.ID); + dataModel.setProperty(JpaFacetDataModelProperties.CREATE_ORM_XML, Boolean.TRUE); + return dataModel; + } + + @Override + protected IDataModel buildEclipseLinkOrmConfig(TestJpaProject testJpaProject) { + IDataModel dataModel = + DataModelFactory.createDataModel(new EclipseLinkOrmFileCreationDataModelProvider()); + dataModel.setProperty(OrmFileCreationDataModelProperties.PROJECT_NAME, testJpaProject.getProject().getName()); + dataModel.setProperty(OrmFileCreationDataModelProperties.ADD_TO_PERSISTENCE_UNIT, Boolean.FALSE); + return dataModel; + } + + + public void testUpdateEclipseLinkImpliedMappingFileRef1() throws Exception { + EclipseLinkPersistenceUnit persistenceUnit = persistenceUnit(); + + // test that there is one initially + EclipseLinkOrmResource eclipseLinkOrmResource = ormResource(); + assertTrue(eclipseLinkOrmResource.exists()); + assertNotNull(persistenceUnit.getImpliedMappingFileRef()); + assertNotNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); + + // remove eclipselink-orm.xml + deleteResource(eclipseLinkOrmResource); + + assertFalse(eclipseLinkOrmResource.exists()); + assertNotNull(persistenceUnit.getImpliedMappingFileRef()); + assertNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); + } + + public void testUpdateEclipseLinkImpliedMappingFileRef2() { + XmlPersistenceUnit xmlPersistenceUnit = xmlPersistenceUnit(); + EclipseLinkPersistenceUnit persistenceUnit = persistenceUnit(); + + // test that there is one initially + EclipseLinkOrmResource eclipseLinkOrmResource = ormResource(); + assertTrue(eclipseLinkOrmResource.exists()); + assertNotNull(persistenceUnit.getImpliedMappingFileRef()); + assertNotNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); + + // add specified eclipselink-orm.xml + XmlMappingFileRef xmlMappingFileRef = PersistenceFactory.eINSTANCE.createXmlMappingFileRef(); + xmlMappingFileRef.setFileName("META-INF/eclipselink-orm.xml"); + xmlPersistenceUnit.getMappingFiles().add(xmlMappingFileRef); + + assertEquals(1, CollectionTools.size(persistenceUnit.specifiedMappingFileRefs())); + + assertTrue(eclipseLinkOrmResource.exists()); + assertNotNull(persistenceUnit.getImpliedMappingFileRef()); + assertNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); + } + + public void testUpdateEclipseLinkImpliedMappingFileRef3() { + EclipseLinkPersistenceUnit persistenceUnit = persistenceUnit(); + + // test that there is one initially + EclipseLinkOrmResource eclipseLinkOrmResource = ormResource(); + assertTrue(eclipseLinkOrmResource.exists()); + assertNotNull(persistenceUnit.getImpliedMappingFileRef()); + assertNotNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); + + // ignore in persistence unit + persistenceUnit.getGeneralProperties().setExcludeEclipselinkOrm(Boolean.TRUE); + + assertTrue(eclipseLinkOrmResource.exists()); + assertNotNull(persistenceUnit.getImpliedMappingFileRef()); + assertNull(persistenceUnit.getImpliedEclipseLinkMappingFileRef()); + } +} diff --git a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/persistence/JptEclipseLinkCorePersistenceContextModelTests.java b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/persistence/JptEclipseLinkCorePersistenceContextModelTests.java index 9d5500e608..59bb0a6173 100644 --- a/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/persistence/JptEclipseLinkCorePersistenceContextModelTests.java +++ b/jpa/tests/org.eclipse.jpt.eclipselink.core.tests/src/org/eclipse/jpt/eclipselink/core/tests/internal/context/persistence/JptEclipseLinkCorePersistenceContextModelTests.java @@ -19,6 +19,7 @@ public class JptEclipseLinkCorePersistenceContextModelTests extends TestCase public static Test suite(boolean all) { TestSuite suite = new TestSuite(JptEclipseLinkCorePersistenceContextModelTests.class.getName()); + suite.addTestSuite(EclipseLinkPersistenceUnitTests.class); suite.addTest(JptEclipseLinkPersistenceGeneralTests.suite()); suite.addTest(JptEclipseLinkPersistenceConnectionTests.suite()); suite.addTest(JptEclipseLinkPersistenceCustomizationTests.suite()); |