You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2015/11/17 19:44:05 UTC

olingo-odata2 git commit: [OLINGO-824] Added test for fixed JoinColumns on EDM creation

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 <mi...@mirb.de>
Authored: Tue Nov 17 19:38:55 2015 +0100
Committer: mibo <mi...@mirb.de>
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 {