| /* |
| * Copyright (c) 1998, 2021 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // Oracle - initial API and implementation from Oracle TopLink |
| package org.eclipse.persistence.testing.tests.validation; |
| |
| import java.lang.reflect.Method; |
| |
| import java.util.Iterator; |
| import java.util.Vector; |
| |
| import org.eclipse.persistence.descriptors.RelationalDescriptor; |
| import org.eclipse.persistence.exceptions.DescriptorException; |
| import org.eclipse.persistence.exceptions.EclipseLinkException; |
| import org.eclipse.persistence.internal.queries.IndirectListContainerPolicy; |
| import org.eclipse.persistence.mappings.DirectToFieldMapping; |
| import org.eclipse.persistence.mappings.ForeignReferenceMapping; |
| import org.eclipse.persistence.mappings.OneToOneMapping; |
| import org.eclipse.persistence.sessions.DatabaseRecord; |
| import org.eclipse.persistence.testing.framework.AutoVerifyTestCase; |
| import org.eclipse.persistence.testing.framework.TestErrorException; |
| |
| |
| //used for Method.class |
| |
| //Created by Ian Reid |
| //Date: Mar 5, 2k3 |
| //non-standard Test |
| //This class simply calls the static method to get the code coverage for problem |
| //for untestable code (i.e. method is never called in source code) |
| |
| public class ConstructingDescriptorExceptionTests extends AutoVerifyTestCase { |
| public ConstructingDescriptorExceptionTests() { |
| setDescription("This creates all untestable Descriptor Exceptions by calling each static method contructor for Code Coverage (methods and error codes could be Deprecated)"); |
| } |
| |
| Vector testResults = new Vector(); |
| EclipseLinkException caughtException = null; |
| |
| @Override |
| public void test() throws NoSuchMethodException { |
| try { |
| Class<ConstructingDescriptorExceptionTests> javaClass = ConstructingDescriptorExceptionTests.class; |
| RelationalDescriptor descriptor = new RelationalDescriptor(); |
| descriptor.setJavaClass(javaClass); |
| TestErrorException dummyException = new TestErrorException("no ERROR"); |
| DirectToFieldMapping mapping = new DirectToFieldMapping(); |
| ForeignReferenceMapping mappingFR = new OneToOneMapping(); |
| IndirectListContainerPolicy policy = new IndirectListContainerPolicy(); |
| Object object = new Object(); |
| DatabaseRecord row = new DatabaseRecord(); |
| Class<?>[] parmClasses = { }; |
| Method method = javaClass.getDeclaredMethod("test", parmClasses); |
| |
| DescriptorException descriptorException; |
| |
| descriptorException = DescriptorException.javaClassNotSpecified(descriptor); |
| if (descriptorException.getErrorCode() != 39) |
| testResults.add("DescriptorException.javaClassNotSpecified"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.writeLockFieldInChildDescriptor(descriptor); |
| if (descriptorException.getErrorCode() != 109) |
| testResults.add("DescriptorException.writeLockFieldInChildDescriptor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.childDoesNotDefineAbstractQueryKeyOfParent(descriptor, descriptor, "dummy"); |
| if (descriptorException.getErrorCode() != 120) |
| testResults.add("DescriptorException.childDoesNotDefineAbstractQueryKeyOfParent"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.missingIndirectContainerConstructor(javaClass); |
| if (descriptorException.getErrorCode() != 145) |
| testResults.add("DescriptorException.missingIndirectContainerConstructor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.couldNotInstantiateIndirectContainerClass(javaClass, dummyException); |
| if (descriptorException.getErrorCode() != 146) |
| testResults.add("DescriptorException.couldNotInstantiateIndirectContainerClass"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.invalidContainerPolicy(policy, javaClass); |
| if (descriptorException.getErrorCode() != 147) |
| testResults.add("DescriptorException.invalidContainerPolicy"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.invalidUseOfNoIndirection(mapping); |
| if (descriptorException.getErrorCode() != 149) |
| testResults.add("DescriptorException.invalidUseOfNoIndirection"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.proxyIndirectionNotAvailable(mapping); |
| if (descriptorException.getErrorCode() != 159) |
| testResults.add("DescriptorException.proxyIndirectionNotAvailable"); |
| // else testResults.add("Passed"); |
| |
| descriptorException = DescriptorException.illegalAccesstWhileGettingValueThruInstanceVaraibleAccessor("attributeName", "objectName", dummyException); |
| if (descriptorException.getErrorCode() != 13) |
| testResults.add("DescriptorException.illegalAccesstWhileGettingValueThruInstanceVaraibleAccessor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileCloning(object, "methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 14) |
| testResults.add("DescriptorException.illegalAccessWhileCloning"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileEventExecution("eventMethodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 16) |
| testResults.add("DescriptorException.illegalAccessWhileEventExecution"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileGettingValueThruMethodAccessor("methodName", "objectName", dummyException); |
| if (descriptorException.getErrorCode() != 17) |
| testResults.add("DescriptorException.illegalAccessWhileGettingValueThruMethodAccessor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileInstantiatingMethodBasedProxy(dummyException); |
| if (descriptorException.getErrorCode() != 18) |
| testResults.add("DescriptorException.illegalAccessWhileInstantiatingMethodBasedProxy"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileInvokingAttributeMethod(mapping, dummyException); |
| if (descriptorException.getErrorCode() != 19) |
| testResults.add("DescriptorException.illegalAccessWhileInvokingAttributeMethod"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileInvokingFieldToMethod("methodName", mapping, dummyException); |
| if (descriptorException.getErrorCode() != 20) |
| testResults.add("DescriptorException.illegalAccessWhileInvokingFieldToMethod"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileInvokingRowExtractionMethod(row, method, descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 21) |
| testResults.add("DescriptorException.illegalAccessWhileInvokingRowExtractionMethod"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileMethodInstantiation("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 22) |
| testResults.add("DescriptorException.illegalAccessWhileMethodInstantiation"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileObsoleteEventExecute("eventMethodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 23) |
| testResults.add("DescriptorException.illegalAccessWhileObsoleteEventExecute"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileSettingValueThruInstanceVariableAccessor("attributeName", "objectName", object, dummyException); |
| if (descriptorException.getErrorCode() != 24) |
| testResults.add("DescriptorException.illegalAccessWhileSettingValueThruInstanceVariableAccessor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileSettingValueThruMethodAccessor("setMethodName", object, dummyException); |
| if (descriptorException.getErrorCode() != 25) |
| testResults.add("DescriptorException.illegalAccessWhileSettingValueThruMethodAccessor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.missingClassForIndicatorFieldValue(object, descriptor); |
| if (descriptorException.getErrorCode() != 43) |
| testResults.add("DescriptorException.missingClassForIndicatorFieldValue"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.missingClassIndicatorField(row, descriptor); |
| if (descriptorException.getErrorCode() != 44) |
| testResults.add("DescriptorException.missingClassIndicatorField"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.notDeserializable(mapping, dummyException); |
| if (descriptorException.getErrorCode() != 66) |
| testResults.add("DescriptorException.notDeserializable"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.notSerializable(mapping, dummyException); |
| if (descriptorException.getErrorCode() != 67) |
| testResults.add("DescriptorException.notSerializable"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.nullPointerWhileSettingValueThruInstanceVariableAccessor("attributeName", object, dummyException); |
| if (descriptorException.getErrorCode() != 71) |
| testResults.add("DescriptorException.nullPointerWhileSettingValueThruInstanceVariableAccessor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.nullPointerWhileSettingValueThruMethodAccessor("setMethodName", object, dummyException); |
| if (descriptorException.getErrorCode() != 72) |
| testResults.add("DescriptorException.nullPointerWhileSettingValueThruMethodAccessor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityOnFindMethod("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 82) |
| testResults.add("DescriptorException.securityOnFindMethod"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityOnFindObsoleteMethod("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 83) |
| testResults.add("DescriptorException.securityOnFindObsoleteMethod"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityOnInitializingAttributeMethod("attributeMethodName", mapping, dummyException); |
| if (descriptorException.getErrorCode() != 84) |
| testResults.add("DescriptorException.securityOnInitializingAttributeMethod"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityWhileConvertingToMethod("methodName", mapping, dummyException); |
| if (descriptorException.getErrorCode() != 85) |
| testResults.add("DescriptorException.securityWhileConvertingToMethod"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityWhileInitializingAttributesInInstanceVariableAccessor("attributeName", "javaClassName", dummyException); |
| if (descriptorException.getErrorCode() != 86) |
| testResults.add("DescriptorException.securityWhileInitializingAttributesInInstanceVariableAccessor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityWhileInitializingAttributesInMethodAccessor("setMethodName", "getMethodName", "javaClassName"); |
| if (descriptorException.getErrorCode() != 87) |
| testResults.add("DescriptorException.securityWhileInitializingAttributesInMethodAccessor"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityWhileInitializingClassExtractionMethod("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 88) |
| testResults.add("DescriptorException.securityWhileInitializingClassExtractionMethod"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityWhileInitializingCopyPolicy("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 89) |
| testResults.add("DescriptorException.securityWhileInitializingCopyPolicy"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.securityWhileInitializingInstantiationPolicy("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 90) |
| testResults.add("DescriptorException.securityWhileInitializingInstantiationPolicy"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.sizeMismatchOfForeignKeys(mappingFR); |
| if (descriptorException.getErrorCode() != 92) |
| testResults.add("DescriptorException.sizeMismatchOfForeignKeys"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.targetForeignKeysSizeMismatch(mappingFR); |
| if (descriptorException.getErrorCode() != 96) |
| testResults.add("DescriptorException.targetForeignKeysSizeMismatch"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.multipleTableInsertOrderMismatch(descriptor); |
| if (descriptorException.getErrorCode() != 143) |
| testResults.add("DescriptorException.multipleTableInsertOrderMismatch"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.variableOneToOneMappingIsNotDefinedProperly(mapping, descriptor, "targetKeyName"); |
| if (descriptorException.getErrorCode() != 166) |
| testResults.add("DescriptorException.variableOneToOneMappingIsNotDefinedProperly"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileConstructorInstantiationOfFactory(descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 170) |
| testResults.add("DescriptorException.illegalAccessWhileConstructorInstantiationOfFactory"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.noSuchMethodWhileConstructorInstantiationOfFactory(descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 172) |
| testResults.add("DescriptorException.noSuchMethodWhileConstructorInstantiationOfFactory"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.nullPointerWhileConstructorInstantiationOfFactory(descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 173) |
| testResults.add("DescriptorException.nullPointerWhileConstructorInstantiationOfFactory"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.illegalAccessWhileMethodInstantiationOfFactory("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 174) |
| testResults.add("DescriptorException.illegalAccessWhileMethodInstantiationOfFactory"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.targetInvocationWhileMethodInstantiationOfFactory("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 175) |
| testResults.add("DescriptorException.targetInvocationWhileMethodInstantiationOfFactory"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.nullPointerWhileMethodInstantiationOfFactory("methodName", descriptor, dummyException); |
| if (descriptorException.getErrorCode() != 176) |
| testResults.add("DescriptorException.nullPointerWhileMethodInstantiationOfFactory"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.mappingForAttributeIsMissing("attributeName", descriptor); |
| if (descriptorException.getErrorCode() != 177) |
| testResults.add("DescriptorException.mappingForAttributeIsMissing"); |
| // else testResults.add("Passed"); |
| descriptorException = DescriptorException.attributeMappingIsMissingForEntityBean("attributeName", "beanName"); |
| if (descriptorException.getErrorCode() != 178) |
| testResults.add("DescriptorException.attributeMappingIsMissingForEntityBean"); |
| // else testResults.add("Passed"); |
| } catch (EclipseLinkException exception) { |
| caughtException = exception; |
| } |
| } |
| |
| @Override |
| protected void verify() { |
| if (caughtException != null) { |
| throw new TestErrorException("An exception was thrown:" + org.eclipse.persistence.internal.helper.Helper.cr() + "caught exception was not null! \n\n[EXPECTING] no Exceptions "); |
| } |
| Iterator iteratorResults = testResults.iterator(); |
| while (iteratorResults.hasNext()) { |
| String item = (String)iteratorResults.next(); |
| if (!item.equalsIgnoreCase("passed")) { |
| throw new TestErrorException("The proper exception was not created:" + org.eclipse.persistence.internal.helper.Helper.cr() + "[Problem with METHOD] " + item); |
| } |
| |
| } |
| |
| |
| } |
| } |