Repository: olingo-odata2 Updated Branches: refs/heads/OLINGO-824_FacetsOnJoinColumns a2f89adc3 -> 4752ec10a
[OLINGO-824] Added test for fixed JoinColumns on EDM creation Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/4752ec10 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/4752ec10 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/4752ec10 Branch: refs/heads/OLINGO-824_FacetsOnJoinColumns Commit: 4752ec10a7ad694f491ad0712cc1ddc309679bf6 Parents: a2f89ad Author: mibo <[email protected]> Authored: Tue Nov 17 19:38:55 2015 +0100 Committer: mibo <[email protected]> Committed: Tue Nov 17 19:38:55 2015 +0100 ---------------------------------------------------------------------- .../core/model/JPAEdmPropertyTest.java | 47 +++++++++++++++----- 1 file changed, 35 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/4752ec10/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmPropertyTest.java ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmPropertyTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmPropertyTest.java index c8e9fe1..965ca70 100644 --- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmPropertyTest.java +++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/model/JPAEdmPropertyTest.java @@ -38,12 +38,10 @@ import javax.persistence.metamodel.EntityType; import javax.persistence.metamodel.Metamodel; import javax.persistence.metamodel.Type; +import org.apache.olingo.odata2.api.edm.EdmFacets; import org.apache.olingo.odata2.api.edm.EdmMultiplicity; import org.apache.olingo.odata2.api.edm.FullQualifiedName; -import org.apache.olingo.odata2.api.edm.provider.Association; -import org.apache.olingo.odata2.api.edm.provider.AssociationEnd; -import org.apache.olingo.odata2.api.edm.provider.NavigationProperty; -import org.apache.olingo.odata2.api.edm.provider.Schema; +import org.apache.olingo.odata2.api.edm.provider.*; import org.apache.olingo.odata2.jpa.processor.api.access.JPAEdmBuilder; import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPAModelException; import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; @@ -198,6 +196,10 @@ public class JPAEdmPropertyTest extends JPAEdmTestModelView { fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); } + Property property = objJPAEdmProperty.getEdmPropertyList().get(0); + EdmFacets facets = property.getFacets(); + assertTrue(facets.isNullable()); + NavigationProperty navigationProperty = objJPAEdmProperty.getJPAEdmNavigationPropertyView().getEdmNavigationProperty(); assertNotNull(navigationProperty); @@ -206,6 +208,26 @@ public class JPAEdmPropertyTest extends JPAEdmTestModelView { assertEquals("StringDetails", navigationProperty.getName()); } + @Test + public void testBuildManyToOneJoinColumnWithFacets() { + ATTRIBUTE_TYPE = PersistentAttributeType.MANY_TO_ONE; + testCase = "JoinColumnWithFacets"; + objJPAEdmPropertyTest = new JPAEdmPropertyTest(); + objJPAEdmProperty = new JPAEdmProperty(objJPAEdmPropertyTest); + + try { + objJPAEdmProperty.getBuilder().build(); + } catch (ODataJPAModelException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + + Property property = objJPAEdmProperty.getEdmPropertyList().get(0); + EdmFacets facets = property.getFacets(); + assertFalse(facets.isNullable()); + } + @Override public Metamodel getJPAMetaModel() { return new JPAEdmMetaModel(); @@ -543,25 +565,26 @@ public class JPAEdmPropertyTest extends JPAEdmTestModelView { if (annotationClass.equals(JoinColumn.class)) { + JoinColumn joinColumn = EasyMock.createMock(JoinColumn.class); + EasyMock.expect(joinColumn.insertable()).andReturn(true).anyTimes(); + EasyMock.expect(joinColumn.updatable()).andReturn(true).anyTimes(); if (testCase.equals("Default")) { - JoinColumn joinColumn = EasyMock.createMock(JoinColumn.class); EasyMock.expect(joinColumn.name()).andReturn("FSOID").anyTimes(); EasyMock.expect(joinColumn.referencedColumnName()).andReturn("SOLITID").anyTimes(); - EasyMock.expect(joinColumn.insertable()).andReturn(true).anyTimes(); - EasyMock.expect(joinColumn.updatable()).andReturn(true).anyTimes(); EasyMock.expect(joinColumn.nullable()).andReturn(false).anyTimes(); EasyMock.replay(joinColumn); - return (T) joinColumn; } else if (testCase.equals("NoJoinColumnNames")) { - JoinColumn joinColumn = EasyMock.createMock(JoinColumn.class); EasyMock.expect(joinColumn.name()).andReturn("").anyTimes(); EasyMock.expect(joinColumn.referencedColumnName()).andReturn("").anyTimes(); - EasyMock.expect(joinColumn.insertable()).andReturn(true).anyTimes(); - EasyMock.expect(joinColumn.updatable()).andReturn(true).anyTimes(); EasyMock.expect(joinColumn.nullable()).andReturn(true).anyTimes(); EasyMock.replay(joinColumn); - return (T) joinColumn; + } else if (testCase.equals("JoinColumnWithFacets")) { + EasyMock.expect(joinColumn.name()).andReturn("ColumnWithFacets").anyTimes(); + EasyMock.expect(joinColumn.referencedColumnName()).andReturn("").anyTimes(); + EasyMock.expect(joinColumn.nullable()).andReturn(false).anyTimes(); + EasyMock.replay(joinColumn); } + return (T) joinColumn; } else {
