http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataEntityParserTest.java ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataEntityParserTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataEntityParserTest.java index adf7b80..3f133c1 100644 --- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataEntityParserTest.java +++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/ODataEntityParserTest.java @@ -1,244 +1,244 @@ -/******************************************************************************* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ******************************************************************************/ -package org.apache.olingo.odata2.jpa.processor.core; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; -import static org.junit.Assert.fail; - -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.io.UnsupportedEncodingException; -import java.net.URISyntaxException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - -import org.apache.olingo.odata2.api.edm.EdmException; -import org.apache.olingo.odata2.api.exception.ODataException; -import org.apache.olingo.odata2.api.uri.PathSegment; -import org.apache.olingo.odata2.api.uri.UriInfo; -import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext; -import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; -import org.apache.olingo.odata2.jpa.processor.core.common.ODataJPATestConstants; -import org.apache.olingo.odata2.jpa.processor.core.mock.ODataContextMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.ODataJPAContextMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.ODataServiceMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.PathInfoMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.PathSegmentMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.data.EdmMockUtilV2; -import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock; -import org.junit.Test; - -public class ODataEntityParserTest { - - private ODataEntityParser parser; - - private ODataJPAContext mock(final String path) { - ODataServiceMock serviceMock = new ODataServiceMock(); - ODataContextMock contextMock = new ODataContextMock(); - PathInfoMock pathInfoMock = new PathInfoMock(); - PathSegmentMock pathSegmentMock = new PathSegmentMock(); - ODataJPAContext odataJPAContext = null; - - try { - - pathSegmentMock.setPath(path); - - List<PathSegment> pathSegments = new ArrayList<PathSegment>(); - pathSegments.add(pathSegmentMock); - pathInfoMock.setPathSegments(pathSegments); - pathInfoMock.setServiceRootURI(ODataServiceMock.SERVICE_ROOT); - - contextMock.setPathInfo(pathInfoMock.mock()); - contextMock.setODataService(serviceMock.mock()); - - odataJPAContext = ODataJPAContextMock.mockODataJPAContext(contextMock.mock()); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } catch (ODataException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } catch (URISyntaxException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - - return odataJPAContext; - } - - @Test - public void testParseURISegment() { - - try { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - UriInfo uriInfo = parser.parseURISegment(0, 1); - assertNotNull(uriInfo); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testParseURISegmentInvalidIndex00() { - try { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - UriInfo uriInfo = parser.parseURISegment(0, 0); - assertNull(uriInfo); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testParseURISegmentInvalidIndex01() { - try { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - UriInfo uriInfo = parser.parseURISegment(-1, -1); - assertNull(uriInfo); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testParseURISegmentInvalidIndex02() { - try { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - UriInfo uriInfo = parser.parseURISegment(3, -1); - assertNull(uriInfo); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testParseURISegmentInvalidEntityType() { - try { - parser = new ODataEntityParser(mock("JPATypeMockInvalid(2)")); - parser.parseURISegment(0, 1); - fail("Exception Expected"); - } catch (ODataJPARuntimeException e) { - assertEquals(true, true); - } - } - - @Test - public void testParseBindingLink() { - try { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - UriInfo uriInfo = parser.parseBindingLink("JPATypeMock(2)", new HashMap<String, String>()); - assertNotNull(uriInfo); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - - } - - @Test - public void testParseBindingLinkNegative() { - try { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - parser.parseBindingLink("JPATypeMockInvalid(2)", new HashMap<String, String>()); - fail("Exception Expected"); - } catch (ODataJPARuntimeException e) { - assertEquals(true, true); - } - } - - @Test - public void testParseLink() { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - try { - UriInfo uriInfo = - parser.parseLink(EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false), mockURIContent(0), - "application/json"); - assertNotNull(uriInfo); - } catch (ODataJPARuntimeException 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 testParseLinkWithoutServiceRoot() { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - try { - UriInfo uriInfo = - parser.parseLink(EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false), mockURIContent(1), - "application/json"); - assertNotNull(uriInfo); - } catch (ODataJPARuntimeException 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 testParseLinkNegative() { - parser = new ODataEntityParser(mock("JPATypeMock(2)")); - try { - parser.parseLink(EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false), mockURIContent(2), - "application/json"); - fail("Exception Expected"); - } catch (ODataJPARuntimeException e) { - assertEquals(true, true); - } catch (EdmException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - private InputStream mockURIContent(final int variant) { - String uri = null; - InputStream is = null; - switch (variant) { - case 0: - uri = "{ \"uri\": \"" + ODataServiceMock.SERVICE_ROOT + "JPATypeMock(2)\" }"; - break; - case 1: - uri = "{ \"uri\": \"JPATypeMock(2)\" }"; - break; - case 2: - uri = "{ \"uri\": \"" + ODataServiceMock.SERVICE_ROOT + "JPATypeMockInvalid(2)\" }"; - } - - try { - is = new ByteArrayInputStream(uri.getBytes("utf-8")); - } catch (UnsupportedEncodingException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - return is; - - } -} +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ******************************************************************************/ +package org.apache.olingo.odata2.jpa.processor.core; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.fail; + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import org.apache.olingo.odata2.api.edm.EdmException; +import org.apache.olingo.odata2.api.exception.ODataException; +import org.apache.olingo.odata2.api.uri.PathSegment; +import org.apache.olingo.odata2.api.uri.UriInfo; +import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext; +import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; +import org.apache.olingo.odata2.jpa.processor.core.common.ODataJPATestConstants; +import org.apache.olingo.odata2.jpa.processor.core.mock.ODataContextMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.ODataJPAContextMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.ODataServiceMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.PathInfoMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.PathSegmentMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.data.EdmMockUtilV2; +import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock; +import org.junit.Test; + +public class ODataEntityParserTest { + + private ODataEntityParser parser; + + private ODataJPAContext mock(final String path) { + ODataServiceMock serviceMock = new ODataServiceMock(); + ODataContextMock contextMock = new ODataContextMock(); + PathInfoMock pathInfoMock = new PathInfoMock(); + PathSegmentMock pathSegmentMock = new PathSegmentMock(); + ODataJPAContext odataJPAContext = null; + + try { + + pathSegmentMock.setPath(path); + + List<PathSegment> pathSegments = new ArrayList<PathSegment>(); + pathSegments.add(pathSegmentMock); + pathInfoMock.setPathSegments(pathSegments); + pathInfoMock.setServiceRootURI(ODataServiceMock.SERVICE_ROOT); + + contextMock.setPathInfo(pathInfoMock.mock()); + contextMock.setODataService(serviceMock.mock()); + + odataJPAContext = ODataJPAContextMock.mockODataJPAContext(contextMock.mock()); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } catch (ODataException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } catch (URISyntaxException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + + return odataJPAContext; + } + + @Test + public void testParseURISegment() { + + try { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + UriInfo uriInfo = parser.parseURISegment(0, 1); + assertNotNull(uriInfo); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testParseURISegmentInvalidIndex00() { + try { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + UriInfo uriInfo = parser.parseURISegment(0, 0); + assertNull(uriInfo); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testParseURISegmentInvalidIndex01() { + try { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + UriInfo uriInfo = parser.parseURISegment(-1, -1); + assertNull(uriInfo); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testParseURISegmentInvalidIndex02() { + try { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + UriInfo uriInfo = parser.parseURISegment(3, -1); + assertNull(uriInfo); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testParseURISegmentInvalidEntityType() { + try { + parser = new ODataEntityParser(mock("JPATypeMockInvalid(2)")); + parser.parseURISegment(0, 1); + fail("Exception Expected"); + } catch (ODataJPARuntimeException e) { + assertEquals(true, true); + } + } + + @Test + public void testParseBindingLink() { + try { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + UriInfo uriInfo = parser.parseBindingLink("JPATypeMock(2)", new HashMap<String, String>()); + assertNotNull(uriInfo); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + + } + + @Test + public void testParseBindingLinkNegative() { + try { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + parser.parseBindingLink("JPATypeMockInvalid(2)", new HashMap<String, String>()); + fail("Exception Expected"); + } catch (ODataJPARuntimeException e) { + assertEquals(true, true); + } + } + + @Test + public void testParseLink() { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + try { + UriInfo uriInfo = + parser.parseLink(EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false), mockURIContent(0), + "application/json"); + assertNotNull(uriInfo); + } catch (ODataJPARuntimeException 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 testParseLinkWithoutServiceRoot() { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + try { + UriInfo uriInfo = + parser.parseLink(EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false), mockURIContent(1), + "application/json"); + assertNotNull(uriInfo); + } catch (ODataJPARuntimeException 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 testParseLinkNegative() { + parser = new ODataEntityParser(mock("JPATypeMock(2)")); + try { + parser.parseLink(EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false), mockURIContent(2), + "application/json"); + fail("Exception Expected"); + } catch (ODataJPARuntimeException e) { + assertEquals(true, true); + } catch (EdmException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + private InputStream mockURIContent(final int variant) { + String uri = null; + InputStream is = null; + switch (variant) { + case 0: + uri = "{ \"uri\": \"" + ODataServiceMock.SERVICE_ROOT + "JPATypeMock(2)\" }"; + break; + case 1: + uri = "{ \"uri\": \"JPATypeMock(2)\" }"; + break; + case 2: + uri = "{ \"uri\": \"" + ODataServiceMock.SERVICE_ROOT + "JPATypeMockInvalid(2)\" }"; + } + + try { + is = new ByteArrayInputStream(uri.getBytes("utf-8")); + } catch (UnsupportedEncodingException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + return is; + + } +}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParserForStaticMethodTest.java ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParserForStaticMethodTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParserForStaticMethodTest.java index 7d09a18..e7d4c5f 100644 --- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParserForStaticMethodTest.java +++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityParserForStaticMethodTest.java @@ -1,330 +1,330 @@ -/******************************************************************************* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ******************************************************************************/ -package org.apache.olingo.odata2.jpa.processor.core.access.data; - -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.io.ByteArrayOutputStream; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.lang.reflect.Method; -import java.net.URL; -import java.sql.Blob; -import java.sql.Clob; -import java.sql.SQLException; - -import javax.sql.rowset.serial.SerialBlob; -import javax.sql.rowset.serial.SerialClob; -import javax.sql.rowset.serial.SerialException; - -import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; -import org.apache.olingo.odata2.jpa.processor.core.common.ODataJPATestConstants; -import org.junit.Test; - -public class JPAEntityParserForStaticMethodTest { - - @Test - public void testToStringDefault() { - - Character[] input = new Character[] { 'A', 'B' }; - assertEquals("AB", JPAEntityParser.toString(input)); - - } - - @Test - public void testToStringNull() { - Character[] input = null; - assertNull(JPAEntityParser.toString(input)); - } - - @Test - public void testToStringPartialNull() { - Character[] input = new Character[] { 'A', null }; - assertEquals("A", JPAEntityParser.toString(input)); - } - - @Test - public void testToCharacterArrayDefault() { - String input = new String("AB"); - Character[] ch = JPAEntityParser.toCharacterArray(input); - - assertEquals(2, ch.length); - assertTrue(ch[0].equals('A')); - assertTrue(ch[1].equals('B')); - } - - @Test - public void testToCharacterArrayNull() { - String input = null; - Character[] ch = JPAEntityParser.toCharacterArray(input); - - assertNull(ch); - } - - @Test - public void testGetPropertyCharacter() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharacter", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertEquals("A", output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetPropertyCharacterNull() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharacterNull", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertNull(output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetPropertyCharacterArray() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharacterArray", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertEquals("AB", output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetPropertyCharacterArrayNull() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharacterArrayNull", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertNull(output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetPropertyChar() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getChar", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertEquals("A", output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetPropertyCharNull() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharNull", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertNull(output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetPropertyCharArray() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharArray", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertEquals("AB", output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetPropertyCharArrayNull() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharArrayNull", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertNull(output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetPropertyCharArrayValueNull() { - try { - Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharArrayValueNull", (Class<?>[]) null); - String output = (String) JPAEntityParser.getPropertyValue(method, this); - assertEquals("A\u0000", output); - - } 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); - } catch (ODataJPARuntimeException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - } - - @Test - public void testGetString() { - char[] expectedChar = new char[] { 'a', 'b', 'c' }; - try { - Clob clob = new SerialClob(expectedChar); - String actualString = JPAEntityParser.getString(clob); - - assertEquals(new String(expectedChar), actualString); - - } catch (SerialException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } catch (SQLException 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); - } - } - - @Test - public void testGetBytes() { - final String fileName = "SalesOrderProcessingMappingModels.xml"; - - try { - FileInputStream fis = getFileStream(fileName); - - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - int content = fis.read(); - while (content != -1) { - baos.write(content); - content = fis.read(); - } - Blob blob = new SerialBlob(baos.toByteArray()); - byte[] actualBytes = (byte[]) JPAEntityParser.getBytes(blob); - byte[] expectedBytes = baos.toByteArray(); - - assertEquals(expectedBytes.length, actualBytes.length); - int size = actualBytes.length; - int index = 0; - while (index < size) { - assertEquals(expectedBytes[index], actualBytes[index]); - index++; - } - - } catch (FileNotFoundException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } catch (SerialException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } catch (SQLException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } catch (IOException 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); - } - } - - private FileInputStream getFileStream(final String name) throws SerialException, FileNotFoundException { - final String fileName = "SalesOrderProcessingMappingModels.xml"; - FileInputStream fis; - - URL fileURL = JPAEntityParserForStaticMethodTest.class.getClassLoader().getResource(fileName); - fis = new FileInputStream(fileURL.getPath()); - - return fis; - - } - - public Character getCharacter() { - return new Character('A'); - } - - public Character getCharacterNull() { - return null; - } - - public Character[] getCharacterArray() { - return new Character[] { 'A', 'B' }; - } - - public Character[] getCharacterArrayNull() { - return null; - } - - public char getChar() { - return 'A'; - } - - public char getCharNull() { - return '\u0000'; - } - - public char[] getCharArray() { - return new char[] { 'A', 'B' }; - } - - public char[] getCharArrayNull() { - return null; - } - - public char[] getCharArrayValueNull() { - return new char[] { 'A', '\u0000' }; - } -} +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ******************************************************************************/ +package org.apache.olingo.odata2.jpa.processor.core.access.data; + +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.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.lang.reflect.Method; +import java.net.URL; +import java.sql.Blob; +import java.sql.Clob; +import java.sql.SQLException; + +import javax.sql.rowset.serial.SerialBlob; +import javax.sql.rowset.serial.SerialClob; +import javax.sql.rowset.serial.SerialException; + +import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; +import org.apache.olingo.odata2.jpa.processor.core.common.ODataJPATestConstants; +import org.junit.Test; + +public class JPAEntityParserForStaticMethodTest { + + @Test + public void testToStringDefault() { + + Character[] input = new Character[] { 'A', 'B' }; + assertEquals("AB", JPAEntityParser.toString(input)); + + } + + @Test + public void testToStringNull() { + Character[] input = null; + assertNull(JPAEntityParser.toString(input)); + } + + @Test + public void testToStringPartialNull() { + Character[] input = new Character[] { 'A', null }; + assertEquals("A", JPAEntityParser.toString(input)); + } + + @Test + public void testToCharacterArrayDefault() { + String input = new String("AB"); + Character[] ch = JPAEntityParser.toCharacterArray(input); + + assertEquals(2, ch.length); + assertTrue(ch[0].equals('A')); + assertTrue(ch[1].equals('B')); + } + + @Test + public void testToCharacterArrayNull() { + String input = null; + Character[] ch = JPAEntityParser.toCharacterArray(input); + + assertNull(ch); + } + + @Test + public void testGetPropertyCharacter() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharacter", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertEquals("A", output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetPropertyCharacterNull() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharacterNull", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertNull(output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetPropertyCharacterArray() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharacterArray", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertEquals("AB", output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetPropertyCharacterArrayNull() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharacterArrayNull", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertNull(output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetPropertyChar() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getChar", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertEquals("A", output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetPropertyCharNull() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharNull", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertNull(output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetPropertyCharArray() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharArray", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertEquals("AB", output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetPropertyCharArrayNull() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharArrayNull", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertNull(output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetPropertyCharArrayValueNull() { + try { + Method method = JPAEntityParserForStaticMethodTest.class.getMethod("getCharArrayValueNull", (Class<?>[]) null); + String output = (String) JPAEntityParser.getPropertyValue(method, this); + assertEquals("A\u0000", output); + + } 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); + } catch (ODataJPARuntimeException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + } + + @Test + public void testGetString() { + char[] expectedChar = new char[] { 'a', 'b', 'c' }; + try { + Clob clob = new SerialClob(expectedChar); + String actualString = JPAEntityParser.getString(clob); + + assertEquals(new String(expectedChar), actualString); + + } catch (SerialException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } catch (SQLException 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); + } + } + + @Test + public void testGetBytes() { + final String fileName = "SalesOrderProcessingMappingModels.xml"; + + try { + FileInputStream fis = getFileStream(fileName); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + int content = fis.read(); + while (content != -1) { + baos.write(content); + content = fis.read(); + } + Blob blob = new SerialBlob(baos.toByteArray()); + byte[] actualBytes = (byte[]) JPAEntityParser.getBytes(blob); + byte[] expectedBytes = baos.toByteArray(); + + assertEquals(expectedBytes.length, actualBytes.length); + int size = actualBytes.length; + int index = 0; + while (index < size) { + assertEquals(expectedBytes[index], actualBytes[index]); + index++; + } + + } catch (FileNotFoundException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } catch (SerialException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } catch (SQLException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } catch (IOException 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); + } + } + + private FileInputStream getFileStream(final String name) throws SerialException, FileNotFoundException { + final String fileName = "SalesOrderProcessingMappingModels.xml"; + FileInputStream fis; + + URL fileURL = JPAEntityParserForStaticMethodTest.class.getClassLoader().getResource(fileName); + fis = new FileInputStream(fileURL.getPath()); + + return fis; + + } + + public Character getCharacter() { + return new Character('A'); + } + + public Character getCharacterNull() { + return null; + } + + public Character[] getCharacterArray() { + return new Character[] { 'A', 'B' }; + } + + public Character[] getCharacterArrayNull() { + return null; + } + + public char getChar() { + return 'A'; + } + + public char getCharNull() { + return '\u0000'; + } + + public char[] getCharArray() { + return new char[] { 'A', 'B' }; + } + + public char[] getCharArrayNull() { + return null; + } + + public char[] getCharArrayValueNull() { + return new char[] { 'A', '\u0000' }; + } +} http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityTest.java ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityTest.java index 3bfac96..e601bd8 100644 --- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityTest.java +++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPAEntityTest.java @@ -1,246 +1,246 @@ -/******************************************************************************* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ******************************************************************************/ -package org.apache.olingo.odata2.jpa.processor.core.access.data; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import org.apache.olingo.odata2.api.edm.EdmEntitySet; -import org.apache.olingo.odata2.api.edm.EdmEntityType; -import org.apache.olingo.odata2.api.edm.EdmException; -import org.apache.olingo.odata2.api.exception.ODataException; -import org.apache.olingo.odata2.api.processor.ODataContext; -import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext; -import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; -import org.apache.olingo.odata2.jpa.processor.core.common.ODataJPATestConstants; -import org.apache.olingo.odata2.jpa.processor.core.mock.ODataContextMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.ODataJPAContextMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.data.EdmMockUtilV2; -import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock.JPARelatedTypeMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock.JPATypeEmbeddableMock; -import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock.JPATypeEmbeddableMock2; -import org.apache.olingo.odata2.jpa.processor.core.mock.data.ODataEntryMockUtil; -import org.junit.Test; - -public class JPAEntityTest { - - private JPAEntity jpaEntity = null; - - @Test - public void testCreateODataEntryWithComplexType() { - try { - EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, true); - EdmEntityType edmEntityType = edmEntitySet.getEntityType(); - - jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); - jpaEntity.create(ODataEntryMockUtil.mockODataEntryWithComplexType(JPATypeMock.ENTITY_NAME)); - } catch (ODataJPARuntimeException 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); - } catch (ODataException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); - assertEquals(jpaTypeMock.getMInt(), ODataEntryMockUtil.VALUE_MINT); - assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); - assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); - JPATypeEmbeddableMock jpaEmbeddableMock = jpaTypeMock.getComplexType(); - assertNotNull(jpaEmbeddableMock); - - assertEquals(jpaEmbeddableMock.getMShort(), ODataEntryMockUtil.VALUE_SHORT); - JPATypeEmbeddableMock2 jpaEmbeddableMock2 = jpaEmbeddableMock.getMEmbeddable(); - assertNotNull(jpaEmbeddableMock2); - assertEquals(jpaEmbeddableMock2.getMFloat(), ODataEntryMockUtil.VALUE_MFLOAT, 1); - assertEquals(jpaEmbeddableMock2.getMUUID(), ODataEntryMockUtil.VALUE_UUID); - } - - @Test - public void testCreateODataEntry() { - try { - EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); - EdmEntityType edmEntityType = edmEntitySet.getEntityType(); - - jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); - jpaEntity.create(ODataEntryMockUtil.mockODataEntry(JPATypeMock.ENTITY_NAME)); - } catch (ODataJPARuntimeException 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); - } catch (ODataException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); - assertEquals(jpaTypeMock.getMInt(), ODataEntryMockUtil.VALUE_MINT); - assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); - assertEquals(ODataEntryMockUtil.VALUE_C.charAt(0), jpaTypeMock.getMC()); - assertEquals(ODataEntryMockUtil.VALUE_CARRAY, new String(jpaTypeMock.getMCArray())); - assertEquals(ODataEntryMockUtil.VALUE_CHAR, jpaTypeMock.getMChar().toString()); - assertEquals(ODataEntryMockUtil.VALUE_CHARARRAY, JPAEntityParser.toString(jpaTypeMock.getMCharArray())); - assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); - } - - @Test - public void testCreateODataEntryWithInline() { - try { - EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); - EdmEntityType edmEntityType = edmEntitySet.getEntityType(); - - jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); - jpaEntity.create(ODataEntryMockUtil.mockODataEntryWithInline(JPATypeMock.ENTITY_NAME)); - } catch (ODataJPARuntimeException 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); - } catch (ODataException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); - assertEquals(jpaTypeMock.getMInt(), ODataEntryMockUtil.VALUE_MINT); - assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); - assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); - - JPARelatedTypeMock relatedType = jpaTypeMock.getMRelatedEntity(); - assertEquals(relatedType.getMByte(), ODataEntryMockUtil.VALUE_MBYTE); - assertEquals(relatedType.getMByteArray(), ODataEntryMockUtil.VALUE_MBYTEARRAY); - assertEquals(relatedType.getMDouble(), ODataEntryMockUtil.VALUE_MDOUBLE, 0.0); - assertEquals(relatedType.getMLong(), ODataEntryMockUtil.VALUE_MLONG); - } - - @Test - public void testCreateODataEntryProperty() { - try { - EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); - EdmEntityType edmEntityType = edmEntitySet.getEntityType(); - - jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); - jpaEntity.create(ODataEntryMockUtil.mockODataEntryProperties(JPATypeMock.ENTITY_NAME)); - } catch (ODataJPARuntimeException 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); - } catch (ODataException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); - assertEquals(jpaTypeMock.getMInt(), ODataEntryMockUtil.VALUE_MINT); - assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); - assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); - } - - @Test - public void testCreateODataEntryPropertyWithOutCallBack() { - try { - EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); - EdmEntityType edmEntityType = edmEntitySet.getEntityType(); - - jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContextWithoutCallBack()); - jpaEntity.create(ODataEntryMockUtil.mockODataEntryProperties(JPATypeMock.ENTITY_NAME)); - } catch (ODataJPARuntimeException e) { - assertEquals(ODataJPARuntimeException.ERROR_JPA_BLOB_NULL.getKey(), e.getMessageReference().getKey()); - return; - } catch (EdmException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } catch (ODataException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - fail(ODataJPATestConstants.EXCEPTION_EXPECTED); - } - - @Test - public void testUpdateODataEntry() { - try { - EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); - EdmEntityType edmEntityType = edmEntitySet.getEntityType(); - - jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); - JPATypeMock jpaTypeMock = new JPATypeMock(); - jpaEntity.setJPAEntity(jpaTypeMock); - jpaEntity.update(ODataEntryMockUtil.mockODataEntry(JPATypeMock.ENTITY_NAME)); - } catch (ODataJPARuntimeException 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); - } catch (ODataException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); - assertEquals(jpaTypeMock.getMInt(), 0);// Key should not be changed - assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); - assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); - } - - @Test - public void testUpdateODataEntryProperty() { - try { - EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); - EdmEntityType edmEntityType = edmEntitySet.getEntityType(); - - jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); - JPATypeMock jpaTypeMock = new JPATypeMock(); - jpaEntity.setJPAEntity(jpaTypeMock); - jpaEntity.update(ODataEntryMockUtil.mockODataEntryProperties(JPATypeMock.ENTITY_NAME)); - } catch (ODataJPARuntimeException 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); - } catch (ODataException e) { - fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() - + ODataJPATestConstants.EXCEPTION_MSG_PART_2); - } - JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); - assertEquals(jpaTypeMock.getMInt(), 0);// Key should not be changed - assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); - assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); - } - - private ODataJPAContext mockODataJPAContext() throws ODataException { - ODataContext context = new ODataContextMock().mock(); - ODataJPAContext jpaContext = ODataJPAContextMock.mockODataJPAContext(context); - return jpaContext; - } - - private ODataJPAContext mockODataJPAContextWithoutCallBack() throws ODataException { - ODataContext context = new ODataContextMock().mockWithoutOnJPAWriteContent(); - ODataJPAContext jpaContext = ODataJPAContextMock.mockODataJPAContext(context); - return jpaContext; - } -} +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ******************************************************************************/ +package org.apache.olingo.odata2.jpa.processor.core.access.data; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import org.apache.olingo.odata2.api.edm.EdmEntitySet; +import org.apache.olingo.odata2.api.edm.EdmEntityType; +import org.apache.olingo.odata2.api.edm.EdmException; +import org.apache.olingo.odata2.api.exception.ODataException; +import org.apache.olingo.odata2.api.processor.ODataContext; +import org.apache.olingo.odata2.jpa.processor.api.ODataJPAContext; +import org.apache.olingo.odata2.jpa.processor.api.exception.ODataJPARuntimeException; +import org.apache.olingo.odata2.jpa.processor.core.common.ODataJPATestConstants; +import org.apache.olingo.odata2.jpa.processor.core.mock.ODataContextMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.ODataJPAContextMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.data.EdmMockUtilV2; +import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock.JPARelatedTypeMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock.JPATypeEmbeddableMock; +import org.apache.olingo.odata2.jpa.processor.core.mock.data.JPATypeMock.JPATypeEmbeddableMock2; +import org.apache.olingo.odata2.jpa.processor.core.mock.data.ODataEntryMockUtil; +import org.junit.Test; + +public class JPAEntityTest { + + private JPAEntity jpaEntity = null; + + @Test + public void testCreateODataEntryWithComplexType() { + try { + EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, true); + EdmEntityType edmEntityType = edmEntitySet.getEntityType(); + + jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); + jpaEntity.create(ODataEntryMockUtil.mockODataEntryWithComplexType(JPATypeMock.ENTITY_NAME)); + } catch (ODataJPARuntimeException 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); + } catch (ODataException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); + assertEquals(jpaTypeMock.getMInt(), ODataEntryMockUtil.VALUE_MINT); + assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); + assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); + JPATypeEmbeddableMock jpaEmbeddableMock = jpaTypeMock.getComplexType(); + assertNotNull(jpaEmbeddableMock); + + assertEquals(jpaEmbeddableMock.getMShort(), ODataEntryMockUtil.VALUE_SHORT); + JPATypeEmbeddableMock2 jpaEmbeddableMock2 = jpaEmbeddableMock.getMEmbeddable(); + assertNotNull(jpaEmbeddableMock2); + assertEquals(jpaEmbeddableMock2.getMFloat(), ODataEntryMockUtil.VALUE_MFLOAT, 1); + assertEquals(jpaEmbeddableMock2.getMUUID(), ODataEntryMockUtil.VALUE_UUID); + } + + @Test + public void testCreateODataEntry() { + try { + EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); + EdmEntityType edmEntityType = edmEntitySet.getEntityType(); + + jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); + jpaEntity.create(ODataEntryMockUtil.mockODataEntry(JPATypeMock.ENTITY_NAME)); + } catch (ODataJPARuntimeException 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); + } catch (ODataException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); + assertEquals(jpaTypeMock.getMInt(), ODataEntryMockUtil.VALUE_MINT); + assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); + assertEquals(ODataEntryMockUtil.VALUE_C.charAt(0), jpaTypeMock.getMC()); + assertEquals(ODataEntryMockUtil.VALUE_CARRAY, new String(jpaTypeMock.getMCArray())); + assertEquals(ODataEntryMockUtil.VALUE_CHAR, jpaTypeMock.getMChar().toString()); + assertEquals(ODataEntryMockUtil.VALUE_CHARARRAY, JPAEntityParser.toString(jpaTypeMock.getMCharArray())); + assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); + } + + @Test + public void testCreateODataEntryWithInline() { + try { + EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); + EdmEntityType edmEntityType = edmEntitySet.getEntityType(); + + jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); + jpaEntity.create(ODataEntryMockUtil.mockODataEntryWithInline(JPATypeMock.ENTITY_NAME)); + } catch (ODataJPARuntimeException 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); + } catch (ODataException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); + assertEquals(jpaTypeMock.getMInt(), ODataEntryMockUtil.VALUE_MINT); + assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); + assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); + + JPARelatedTypeMock relatedType = jpaTypeMock.getMRelatedEntity(); + assertEquals(relatedType.getMByte(), ODataEntryMockUtil.VALUE_MBYTE); + assertEquals(relatedType.getMByteArray(), ODataEntryMockUtil.VALUE_MBYTEARRAY); + assertEquals(relatedType.getMDouble(), ODataEntryMockUtil.VALUE_MDOUBLE, 0.0); + assertEquals(relatedType.getMLong(), ODataEntryMockUtil.VALUE_MLONG); + } + + @Test + public void testCreateODataEntryProperty() { + try { + EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); + EdmEntityType edmEntityType = edmEntitySet.getEntityType(); + + jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); + jpaEntity.create(ODataEntryMockUtil.mockODataEntryProperties(JPATypeMock.ENTITY_NAME)); + } catch (ODataJPARuntimeException 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); + } catch (ODataException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); + assertEquals(jpaTypeMock.getMInt(), ODataEntryMockUtil.VALUE_MINT); + assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); + assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); + } + + @Test + public void testCreateODataEntryPropertyWithOutCallBack() { + try { + EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); + EdmEntityType edmEntityType = edmEntitySet.getEntityType(); + + jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContextWithoutCallBack()); + jpaEntity.create(ODataEntryMockUtil.mockODataEntryProperties(JPATypeMock.ENTITY_NAME)); + } catch (ODataJPARuntimeException e) { + assertEquals(ODataJPARuntimeException.ERROR_JPA_BLOB_NULL.getKey(), e.getMessageReference().getKey()); + return; + } catch (EdmException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } catch (ODataException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + fail(ODataJPATestConstants.EXCEPTION_EXPECTED); + } + + @Test + public void testUpdateODataEntry() { + try { + EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); + EdmEntityType edmEntityType = edmEntitySet.getEntityType(); + + jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); + JPATypeMock jpaTypeMock = new JPATypeMock(); + jpaEntity.setJPAEntity(jpaTypeMock); + jpaEntity.update(ODataEntryMockUtil.mockODataEntry(JPATypeMock.ENTITY_NAME)); + } catch (ODataJPARuntimeException 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); + } catch (ODataException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); + assertEquals(jpaTypeMock.getMInt(), 0);// Key should not be changed + assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); + assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); + } + + @Test + public void testUpdateODataEntryProperty() { + try { + EdmEntitySet edmEntitySet = EdmMockUtilV2.mockEdmEntitySet(JPATypeMock.ENTITY_NAME, false); + EdmEntityType edmEntityType = edmEntitySet.getEntityType(); + + jpaEntity = new JPAEntity(edmEntityType, edmEntitySet, mockODataJPAContext()); + JPATypeMock jpaTypeMock = new JPATypeMock(); + jpaEntity.setJPAEntity(jpaTypeMock); + jpaEntity.update(ODataEntryMockUtil.mockODataEntryProperties(JPATypeMock.ENTITY_NAME)); + } catch (ODataJPARuntimeException 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); + } catch (ODataException e) { + fail(ODataJPATestConstants.EXCEPTION_MSG_PART_1 + e.getMessage() + + ODataJPATestConstants.EXCEPTION_MSG_PART_2); + } + JPATypeMock jpaTypeMock = (JPATypeMock) jpaEntity.getJPAEntity(); + assertEquals(jpaTypeMock.getMInt(), 0);// Key should not be changed + assertEquals(jpaTypeMock.getMString(), ODataEntryMockUtil.VALUE_MSTRING); + assertTrue(jpaTypeMock.getMDateTime().equals(ODataEntryMockUtil.VALUE_DATE_TIME)); + } + + private ODataJPAContext mockODataJPAContext() throws ODataException { + ODataContext context = new ODataContextMock().mock(); + ODataJPAContext jpaContext = ODataJPAContextMock.mockODataJPAContext(context); + return jpaContext; + } + + private ODataJPAContext mockODataJPAContextWithoutCallBack() throws ODataException { + ODataContext context = new ODataContextMock().mockWithoutOnJPAWriteContent(); + ODataJPAContext jpaContext = ODataJPAContextMock.mockODataJPAContext(context); + return jpaContext; + } +} http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b155bda5/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALinkTest.java ---------------------------------------------------------------------- diff --git a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALinkTest.java b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALinkTest.java index 7a0b754..df614f5 100644 --- a/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALinkTest.java +++ b/odata2-jpa-processor/jpa-core/src/test/java/org/apache/olingo/odata2/jpa/processor/core/access/data/JPALinkTest.java @@ -1,23 +1,23 @@ -/******************************************************************************* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ******************************************************************************/ -package org.apache.olingo.odata2.jpa.processor.core.access.data; - -public class JPALinkTest { - -} +/******************************************************************************* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + ******************************************************************************/ +package org.apache.olingo.odata2.jpa.processor.core.access.data; + +public class JPALinkTest { + +}
