package com.sap.core.odata.processor.core.jpa;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.easymock.EasyMock;
import org.junit.Test;
import com.sap.core.odata.api.edm.EdmException;
import com.sap.core.odata.api.edm.EdmMapping;
import com.sap.core.odata.api.edm.EdmNavigationProperty;
import com.sap.core.odata.api.edm.EdmProperty;
import com.sap.core.odata.api.edm.EdmStructuralType;
import com.sap.core.odata.api.edm.EdmType;
import com.sap.core.odata.api.edm.EdmTypeKind;
import com.sap.core.odata.processor.api.jpa.exception.ODataJPARuntimeException;
import com.sap.core.odata.processor.core.jpa.access.data.JPAEntityParser;
import com.sap.core.odata.processor.core.jpa.common.ODataJPATestConstants;
public class JPAEntityParserTest {
/*
* TestCase - JPAResultParser is a singleton class Check if the same
* instance is returned when create method is called
*/
@Test
public void testCreate() {
JPAEntityParser resultParser1 = new JPAEntityParser();
JPAEntityParser resultParser2 = new JPAEntityParser();
if (resultParser1.equals(resultParser2)) {
fail();
}
}
@Test
public void testparse2EdmPropertyValueMap() {
JPAEntityParser resultParser = new JPAEntityParser();
Object jpaEntity = new demoItem("abc", 10);
EdmStructuralType structuralType = EasyMock
.createMock(EdmStructuralType.class);
EdmProperty edmTyped = EasyMock.createMock(EdmProperty.class);
EdmType edmType = EasyMock.createMock(EdmType.class);
EdmProperty edmTyped01 = EasyMock.createMock(EdmProperty.class);
EdmType edmType01 = EasyMock.createMock(EdmType.class);
EdmMapping edmMapping = EasyMock.createMock(EdmMapping.class);
EdmMapping edmMapping01 = EasyMock.createMock(EdmMapping.class);
try {
EasyMock.expect(edmType.getKind())
.andStubReturn(EdmTypeKind.SIMPLE);
EasyMock.expect(edmTyped.getName()).andStubReturn("identifier");
EasyMock.replay(edmType);
EasyMock.expect(edmMapping.getInternalName()).andStubReturn("id");
EasyMock.replay(edmMapping);
EasyMock.expect(edmTyped.getType()).andStubReturn(edmType);
EasyMock.expect(edmTyped.getMapping()).andStubReturn(edmMapping);
EasyMock.replay(edmTyped);
EasyMock.expect(structuralType.getProperty("identifier"))
.andStubReturn(edmTyped);
EasyMock.expect(edmType01.getKind()).andStubReturn(
EdmTypeKind.SIMPLE);
EasyMock.expect(edmTyped01.getName()).andStubReturn("Value");
EasyMock.replay(edmType01);
EasyMock.expect(edmMapping01.getInternalName()).andStubReturn(
"value");
EasyMock.replay(edmMapping01);
EasyMock.expect(edmTyped01.getType()).andStubReturn(edmType01);
EasyMock.expect(edmTyped01.getMapping())
.andStubReturn(edmMapping01);
EasyMock.replay(edmTyped01);
EasyMock.expect(structuralType.getProperty("value")).andStubReturn(
edmTyped01);
List<String> propNames = new ArrayList<String>();
propNames.add("identifier");
propNames.add("value");
EasyMock.expect(structuralType.getPropertyNames()).andReturn(
propNames);
EasyMock.replay(structuralType);
} catch (EdmException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
try {
Map<String, Object> result = resultParser.parse2EdmPropertyValueMap(jpaEntity, structuralType);
assertEquals(2, result.size());
} catch (ODataJPARuntimeException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
@Test
public void testparse2EdmPropertyValueMapEdmExcep() {
JPAEntityParser resultParser = new JPAEntityParser();
Object jpaEntity = new demoItem("abc", 10);
EdmStructuralType structuralType = EasyMock
.createMock(EdmStructuralType.class);
EdmProperty edmTyped = EasyMock.createMock(EdmProperty.class);
EdmType edmType = EasyMock.createMock(EdmType.class);
EdmProperty edmTyped01 = EasyMock.createMock(EdmProperty.class);
EdmType edmType01 = EasyMock.createMock(EdmType.class);
EdmMapping edmMapping = EasyMock.createMock(EdmMapping.class);
EdmMapping edmMapping01 = EasyMock.createMock(EdmMapping.class);
try {
EasyMock.expect(edmType.getKind())
.andStubReturn(EdmTypeKind.SIMPLE);
EasyMock.expect(edmType.getName()).andReturn("identifier");
EasyMock.replay(edmType);
EasyMock.expect(edmMapping.getInternalName()).andStubReturn("id");
EasyMock.replay(edmMapping);
EasyMock.expect(edmTyped.getType()).andStubThrow(
new EdmException(null));
EasyMock.expect(edmTyped.getMapping()).andStubReturn(edmMapping);
EasyMock.expect(edmTyped.getName()).andReturn("identifier");
EasyMock.replay(edmTyped);
EasyMock.expect(structuralType.getProperty("identifier"))
.andStubReturn(edmTyped);
EasyMock.expect(edmType01.getKind()).andStubReturn(
EdmTypeKind.SIMPLE);
EasyMock.expect(edmType01.getName()).andStubReturn("value");
EasyMock.replay(edmType01);
EasyMock.expect(edmMapping01.getInternalName()).andStubReturn(
"value");
EasyMock.replay(edmMapping01);
EasyMock.expect(edmTyped01.getName()).andReturn("value");
EasyMock.expect(edmTyped01.getType()).andStubReturn(edmType01);
EasyMock.expect(edmTyped01.getMapping())
.andStubReturn(edmMapping01);
EasyMock.replay(edmTyped01);
EasyMock.expect(structuralType.getProperty("value")).andStubReturn(
edmTyped01);
List<String> propNames = new ArrayList<String>();
propNames.add("identifier");
propNames.add("value");
EasyMock.expect(structuralType.getPropertyNames()).andReturn(
propNames);
EasyMock.replay(structuralType);
} catch (EdmException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2); // assertTrue(false);
}
try {
resultParser.parse2EdmPropertyValueMap(jpaEntity, structuralType);
} catch (ODataJPARuntimeException e) {
assertTrue(true);
}
}
@Test
public void testparse2EdmPropertyListMap()
{
JPAEntityParser resultParser = new JPAEntityParser();
Map<String, Object> edmEntity = new HashMap<String, Object>();
edmEntity.put("SoId", 1);
DemoRelatedEntity relatedEntity = new DemoRelatedEntity("NewOrder");
demoItem jpaEntity = new demoItem("laptop", 1);
jpaEntity.setRelatedEntity(relatedEntity);
List<EdmNavigationProperty> navigationPropertyList = new ArrayList<EdmNavigationProperty>();
// Mocking a navigation property and its mapping object
EdmNavigationProperty navigationProperty = EasyMock.createMock(EdmNavigationProperty.class);
EdmMapping edmMapping = EasyMock.createMock(EdmMapping.class);
try {
EasyMock.expect(edmMapping.getInternalName()).andStubReturn("relatedEntity");
EasyMock.replay(edmMapping);
EasyMock.expect(navigationProperty.getName()).andStubReturn("RelatedEntities");
EasyMock.expect(navigationProperty.getMapping()).andStubReturn(edmMapping);
EasyMock.replay(navigationProperty);
} catch (EdmException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
navigationPropertyList.add(navigationProperty);
try {
HashMap<String, Object> result = resultParser.parse2EdmNavigationValueMap(jpaEntity, navigationPropertyList);
assertEquals(relatedEntity, result.get("RelatedEntities"));
} catch (ODataJPARuntimeException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
@Test
public void testparse2EdmPropertyValueMapFromList()
{
JPAEntityParser resultParser = new JPAEntityParser();
demoItem jpaEntity = new demoItem("laptop", 1);
DemoRelatedEntity relatedEntity = new DemoRelatedEntity("DemoOrder");
jpaEntity.setRelatedEntity(relatedEntity);
List<EdmProperty> selectPropertyList = new ArrayList<EdmProperty>();
// Mocking EdmProperties
EdmProperty edmProperty1 = EasyMock.createMock(EdmProperty.class);
EdmProperty edmProperty2 = EasyMock.createMock(EdmProperty.class);
EdmType edmType1 = EasyMock.createMock(EdmType.class);
EdmType edmType2 = EasyMock.createMock(EdmType.class);
EdmMapping mapping1 = EasyMock.createMock(EdmMapping.class);
EdmMapping mapping2 = EasyMock.createMock(EdmMapping.class);
try {
EasyMock.expect(edmType1.getKind()).andStubReturn(EdmTypeKind.SIMPLE);
EasyMock.replay(edmType1);
EasyMock.expect(mapping1.getInternalName()).andStubReturn("id");
EasyMock.replay(mapping1);
EasyMock.expect(edmProperty1.getName()).andStubReturn("Id");
EasyMock.expect(edmProperty1.getMapping()).andStubReturn(mapping1);
EasyMock.expect(edmProperty1.getType()).andStubReturn(edmType1);
EasyMock.replay(edmProperty1);
EasyMock.expect(edmType2.getKind()).andStubReturn(EdmTypeKind.COMPLEX);
EasyMock.replay(edmType2);
EasyMock.expect(mapping2.getInternalName()).andStubReturn("relatedEntity.order");
EasyMock.replay(mapping2);
EasyMock.expect(edmProperty2.getName()).andStubReturn("Order");
EasyMock.expect(edmProperty2.getMapping()).andStubReturn(mapping2);
EasyMock.expect(edmProperty2.getType()).andStubReturn(edmType2);
EasyMock.replay(edmProperty2);
} catch (EdmException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
selectPropertyList.add(edmProperty1);
selectPropertyList.add(edmProperty2);
try {
Map<String, Object> result = resultParser.parse2EdmPropertyValueMap(jpaEntity, selectPropertyList);
assertEquals("DemoOrder", result.get("Order"));
} catch (ODataJPARuntimeException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
// This unit tests when there is a complex type in the select list
@SuppressWarnings("unchecked")
@Test
public void testparse2EdmPropertyValueMapFromListComplex()
{
JPAEntityParser resultParser = new JPAEntityParser();
demoItem jpaEntity = new demoItem("laptop", 1);
DemoRelatedEntity relatedEntity = new DemoRelatedEntity("DemoOrder");
jpaEntity.setRelatedEntity(relatedEntity);
List<EdmProperty> selectPropertyList = new ArrayList<EdmProperty>();
// Mocking EdmProperties
EdmProperty edmProperty1 = EasyMock.createMock(EdmProperty.class);
EdmProperty edmProperty2 = EasyMock.createMock(EdmProperty.class);
EdmProperty edmComplexProperty = EasyMock.createMock(EdmProperty.class);
EdmType edmType1 = EasyMock.createMock(EdmType.class);
EdmStructuralType edmType2 = EasyMock.createMock(EdmStructuralType.class);
EdmType edmComplexType = EasyMock.createMock(EdmType.class);
EdmMapping mapping1 = EasyMock.createMock(EdmMapping.class);
EdmMapping mapping2 = EasyMock.createMock(EdmMapping.class);
EdmMapping complexMapping = EasyMock.createMock(EdmMapping.class);
try {
EasyMock.expect(edmType1.getKind()).andStubReturn(EdmTypeKind.SIMPLE);
EasyMock.replay(edmType1);
EasyMock.expect(mapping1.getInternalName()).andStubReturn("id");
EasyMock.replay(mapping1);
EasyMock.expect(edmProperty1.getName()).andStubReturn("Id");
EasyMock.expect(edmProperty1.getMapping()).andStubReturn(mapping1);
EasyMock.expect(edmProperty1.getType()).andStubReturn(edmType1);
EasyMock.replay(edmProperty1);
// Mocking the complex properties
EasyMock.expect(edmComplexType.getKind()).andStubReturn(EdmTypeKind.SIMPLE);
EasyMock.replay(edmComplexType);
EasyMock.expect(complexMapping.getInternalName()).andStubReturn("order");
EasyMock.replay(complexMapping);
EasyMock.expect(edmComplexProperty.getName()).andStubReturn("OrderName");
EasyMock.expect(edmComplexProperty.getMapping()).andStubReturn(complexMapping);
EasyMock.expect(edmComplexProperty.getType()).andStubReturn(edmComplexType);
EasyMock.replay(edmComplexProperty);
EasyMock.expect(edmType2.getKind()).andStubReturn(EdmTypeKind.COMPLEX);
EasyMock.expect(edmType2.getProperty("OrderName")).andStubReturn(edmComplexProperty);
List<String> propertyNames = new ArrayList<String>();
propertyNames.add("OrderName");
EasyMock.expect(edmType2.getPropertyNames()).andStubReturn(propertyNames);
EasyMock.replay(edmType2);
EasyMock.expect(mapping2.getInternalName()).andStubReturn("relatedEntity");
EasyMock.replay(mapping2);
EasyMock.expect(edmProperty2.getName()).andStubReturn("Order");
EasyMock.expect(edmProperty2.getMapping()).andStubReturn(mapping2);
EasyMock.expect(edmProperty2.getType()).andStubReturn(edmType2);
EasyMock.replay(edmProperty2);
} catch (EdmException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
selectPropertyList.add(edmProperty1);
selectPropertyList.add(edmProperty2);
try {
Map<String, Object> result = resultParser.parse2EdmPropertyValueMap(jpaEntity, selectPropertyList);
assertEquals(1, ((HashMap<String, Object>) result.get("Order")).size());
} catch (ODataJPARuntimeException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
/*
* TestCase - getGetterName is a private method in JPAResultParser. The
* method is uses reflection to derive the property access methods from
* EdmProperty
*/
@Test
public void testGetGettersWithOutMapping() {
JPAEntityParser resultParser = new JPAEntityParser();
try {
/*
* Case 1 - Property having No mapping
*/
Class<?>[] pars = { String.class, EdmMapping.class, String.class };
Object[] params = { "Field1", null, "get" };
Method getGetterName = resultParser.getClass().getDeclaredMethod(
"getAccessModifierName", pars);
getGetterName.setAccessible(true);
String name = (String) getGetterName.invoke(resultParser,
params);
assertEquals("getField1", name);
} catch (IllegalAccessException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (IllegalArgumentException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (InvocationTargetException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (NoSuchMethodException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (SecurityException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
@Test
public void testGetGettersWithNullPropname() {
JPAEntityParser resultParser = new JPAEntityParser();
try {
/*
* Case 1 - Property having No mapping and no name
*/
Class<?>[] pars = { String.class, EdmMapping.class, String.class };
Object[] params = { null, null, null };
Method getGetterName = resultParser.getClass().getDeclaredMethod(
"getAccessModifierName", pars);
getGetterName.setAccessible(true);
String name = (String) getGetterName.invoke(resultParser,
params);
assertNull(name);
} catch (IllegalAccessException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (IllegalArgumentException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (InvocationTargetException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (NoSuchMethodException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (SecurityException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
/*
* TestCase - getGetterName is a private method in JPAResultParser. The
* method is uses reflection to derive the property access methods from
* EdmProperty
*
* EdmProperty name could have been modified. Then mapping object of
* EdmProperty should be used for deriving the name
*/
@Test
public void testGetGettersWithMapping() {
JPAEntityParser resultParser = new JPAEntityParser();
EdmMapping edmMapping = EasyMock.createMock(EdmMapping.class);
EasyMock.expect(edmMapping.getInternalName()).andStubReturn("field1");
EasyMock.replay(edmMapping);
try {
Class<?>[] pars = { String.class, EdmMapping.class, String.class };
Object[] params = { "myField", edmMapping, "get" };
Method getGetterName = resultParser.getClass().getDeclaredMethod(
"getAccessModifierName", pars);
getGetterName.setAccessible(true);
String name = (String) getGetterName.invoke(resultParser,
params);
assertEquals("getField1", name);
} catch (IllegalAccessException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (IllegalArgumentException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (InvocationTargetException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (NoSuchMethodException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (SecurityException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
@Test
public void testGetGettersNoSuchMethodException() {
JPAEntityParser resultParser = new JPAEntityParser();
try {
Method getGetterName = resultParser.getClass().getDeclaredMethod(
"getGetterName1", EdmProperty.class);
getGetterName.setAccessible(true);
} catch (NoSuchMethodException e) {
assertEquals(
"com.sap.core.odata.processor.core.jpa.access.data.JPAEntityParser.getGetterName1(com.sap.core.odata.api.edm.EdmProperty)",
e.getMessage());
} catch (SecurityException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
@Test
public void testParse2EdmPropertyValueMap() {
JPAEntityParser resultParser = new JPAEntityParser();
Object jpaEntity = new DemoItem2("abc");
try {
resultParser.parse2EdmPropertyValueMap(jpaEntity, getEdmPropertyList());
} catch (ODataJPARuntimeException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
@Test
public void testGetGetterEdmException() {
JPAEntityParser resultParser = new JPAEntityParser();
Object jpaEntity = new demoItem("abc", 10);
EdmStructuralType structuralType = EasyMock
.createMock(EdmStructuralType.class);
try {
EasyMock.expect(structuralType.getPropertyNames()).andStubThrow(
new EdmException(null));
EasyMock.replay(structuralType);
Method getGetters = resultParser.getClass().getDeclaredMethod(
"getGetters", Object.class, EdmStructuralType.class);
getGetters.setAccessible(true);
try {
getGetters.invoke(resultParser, jpaEntity, structuralType);
} catch (IllegalAccessException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (IllegalArgumentException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (InvocationTargetException e) {
assertTrue(true);
}
} catch (NoSuchMethodException e) {
assertEquals(
"com.sap.core.odata.processor.core.jpa.access.data.JPAEntityParser.getGetters(java.lang.Object, com.sap.core.odata.api.edm.EdmStructuralType)",
e.getMessage());
} catch (SecurityException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
} catch (EdmException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
@Test
public void testForNullJPAEntity() {
JPAEntityParser resultParser = new JPAEntityParser();
EdmStructuralType structuralType = EasyMock
.createMock(EdmStructuralType.class);
Object map;
try {
map = resultParser.parse2EdmPropertyValueMap(null,
structuralType);
assertNull(map);
} catch (ODataJPARuntimeException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
}
class demoItem {
private String id;
private int value;
private DemoRelatedEntity relatedEntity;
public String getId() {
return id;
}
public void setId(final String id) {
this.id = id;
}
public DemoRelatedEntity getRelatedEntity() {
return relatedEntity;
}
public void setRelatedEntity(final DemoRelatedEntity relatedEntity) {
this.relatedEntity = relatedEntity;
}
public int getValue() {
return value;
}
public void setValue(final int value) {
this.value = value;
}
demoItem(final String id, final int value) {
this.id = id;
this.value = value;
}
}
class DemoRelatedEntity
{
String order;
public String getOrder() {
return order;
}
public void setOrder(final String order) {
this.order = order;
}
public DemoRelatedEntity(final String order) {
super();
this.order = order;
}
}
private List<EdmProperty> getEdmPropertyList() {
List<EdmProperty> properties = new ArrayList<EdmProperty>();
properties.add(getEdmProperty());
return properties;
}
class DemoItem2
{
private String field1;
public String getField1() {
return field1;
}
public void setField1(final String field) {
field1 = field;
}
public DemoItem2(final String field)
{
field1 = field;
}
}
private EdmProperty getEdmProperty() {
EdmProperty edmTyped = EasyMock.createMock(EdmProperty.class);
EdmMapping edmMapping = EasyMock.createMock(EdmMapping.class);
EasyMock.expect(edmMapping.getInternalName()).andStubReturn(
"Field1");
EasyMock.replay(edmMapping);
EdmType edmType = EasyMock.createMock(EdmType.class);
try {
EasyMock.expect(edmType.getKind()).andStubReturn(EdmTypeKind.SIMPLE);
EasyMock.expect(edmType.getName()).andStubReturn("identifier");
EasyMock.expect(edmTyped.getName()).andStubReturn("SalesOrderHeader");
EasyMock.expect(edmTyped.getMapping())
.andStubReturn(edmMapping);
EasyMock.expect(edmTyped.getType()).andStubReturn(edmType);
EasyMock.expect(edmTyped.getMapping()).andStubReturn(edmMapping);
} catch (EdmException e) {
fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage()
+ ODataJPATestConstants.EXCEPTION_MSG_PART_2);
}
EasyMock.replay(edmType);
EasyMock.replay(edmTyped);
return edmTyped;
}
}