| /* |
| * 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 org.eclipse.persistence.testing.framework.TestModel; |
| import org.eclipse.persistence.testing.framework.TestSuite; |
| import org.eclipse.persistence.testing.tests.validation.ClassIndicatorFieldNotFoundTest; |
| |
| |
| /** |
| * Code coverage test. Tests exception code. |
| */ |
| public class ValidationModel extends TestModel { |
| public ValidationModel() { |
| setDescription("This model tests various EclipseLink exceptions thrown."); |
| } |
| |
| @Override |
| public void addRequiredSystems() { |
| addRequiredSystem(new org.eclipse.persistence.testing.models.employee.relational.EmployeeSystem()); |
| addRequiredSystem(new org.eclipse.persistence.testing.models.mapping.MappingSystem()); |
| addRequiredSystem(new org.eclipse.persistence.testing.models.interfaces.InterfaceWithoutTablesSystem()); |
| } |
| |
| @Override |
| public void addTests() { |
| addTest(getClientSessionReleaseTestSuite()); |
| addTest(new DatabaseAccessorNotConnectedTestSuite()); |
| addTest(getDescriptorExceptionTestSuite()); |
| addTest(new ExceptionValidationTestSuit()); |
| addTest(new ThreeTierBehaviorTestSuite()); |
| addTest(getDescriptorExceptionTestSuiteSupportPhaseOne()); |
| addTest(getDescriptorExceptionTestSuiteSupportPhaseOne2()); |
| addTest(getDescriptorExceptionTestSuiteSupportPhaseOne3()); |
| addTest(getDescriptorExceptionTestSuiteSupportPhaseOne4()); |
| addTest(getDescriptorExceptionTestSuiteSupportPhaseOne5()); |
| addTest(getConnectionCloseAfterTxnTestSuite()); |
| addTest(getLoginTestSuite()); |
| } |
| |
| public static TestSuite getConnectionCloseAfterTxnTestSuite(){ |
| TestSuite suite = new TestSuite(); |
| suite.setName("ConnectionCloseAfterTxnTestSuite"); |
| suite.setDescription("This suite tests that connections are closed once txn finished."); |
| suite.addTest(new CloseConnAfterDatabaseSessionTxnTest()); |
| return suite; |
| } |
| public static TestSuite getClientSessionReleaseTestSuite() { |
| TestSuite suite = new TestSuite(); |
| suite.setName("ClientSessionReleaseTestSuite"); |
| suite.setDescription("This suite tests that client sessions are only released once."); |
| |
| suite.addTest(new ClientServerTest(5, 1, 2)); |
| |
| suite.addTest(new ClientServerTest(10, 2, 4)); |
| suite.addTest(new ClientServerTest(15, 2, 4)); |
| suite.addTest(new ClientServerTest(20, 2, 5)); |
| suite.addTest(new ClientServerTest(25, 4, 8)); |
| suite.addTest(new ClientServerTest(25, 2, 4)); |
| |
| return suite; |
| } |
| |
| public static TestSuite getLoginTestSuite() { |
| TestSuite suite = new TestSuite(); |
| suite.setName("LoginTestSuite"); |
| suite.setDescription("This suite tests Login options."); |
| |
| suite.addTest(new NullUsernameLoginTest()); |
| return suite; |
| } |
| |
| public static TestSuite getDescriptorExceptionTestSuite() { |
| TestSuite suite = new TestSuite(); |
| suite.setName("DescriptorExceptionTestSuite"); |
| suite.setDescription("This suite tests that proper descriptor exceptions are thrown when appropriate."); |
| |
| suite.addTest(new GetTableNameTest()); |
| suite.addTest(new GetMethodReturnsValueHolderTest()); |
| suite.addTest(new SequenceFieldNameNotSetTest()); |
| suite.addTest(new ConnectionSizeChangedAfterLogin()); |
| suite.addTest(new NewObjectRegisteration()); |
| suite.addTest(new NoFieldConversionValueInObjectTypeMapping()); |
| suite.addTest(new NoAttributeConversionValueInObjectTypeMapping()); |
| suite.addTest(new KeyFromObjecWithoutDescriptor()); |
| suite.addTest(new ConstructorTest()); |
| suite.addTest(new UOWWithoutDescriptorTest()); |
| suite.addTest(new BidirectionWithHashtableTest()); |
| return suite; |
| } |
| |
| public static TestSuite getDescriptorExceptionTestSuiteSupportPhaseOne() { |
| TestSuite suite = new TestSuite(); |
| suite.setName("DescriptorExceptionTestSuite(SupportPhaseOne)"); |
| suite.setDescription("This suite tests that proper descriptor exceptions are thrown when appropriate."); |
| suite.addTest(new NoMappingForPrimaryKeyTest()); //ian added |
| suite.addTest(new DirectFieldNameNotSetTest()); //ian added |
| suite.addTest(new NoForeighKeysAreSpecifiedTest()); //ian added |
| suite.addTest(new ForeignKeysDefinedIncorrectlyTest()); //ian added |
| suite.addTest(new ReferenceKeyFieldNotProperlySpecifiedTest()); //ian added |
| suite.addTest(new NoReferenceKeyIsSpecifiedTest()); //ian added |
| suite.addTest(new NoRelationTableTest()); //ian added |
| suite.addTest(new NoSourceRelationKeysSpecifiedTest()); //ian added |
| suite.addTest(new NoSuchMethodWhileInitializingAttributesInMethodAccessor_SetTest()); //ian added |
| suite.addTest(new NoSuchMethodWhileInitializingAttributesInMethodAccessor_GetTest()); //ian added |
| suite.addTest(new NoSuchMethodWhileInitializingAttributesInMethodAccessorTest()); //ian added |
| suite.addTest(new NoTargetForeignKeysSpecifiedTest()); //ian added |
| suite.addTest(new NoTargetRelationKeysSpecifiedTest()); //ian added |
| suite.addTest(new ClassIndicatorFieldNotFoundTest()); //ian added |
| suite.addTest(new ValueNotFoundInClassIndicatorMappingTest()); //ian added |
| suite.addTest(new DescriptorForInterfaceIsMissingTest()); //ian added |
| suite.addTest(new DescriptorIsMissingTest()); //ian added |
| suite.addTest(new ParentDescriptorNotSpecifiedTest()); //ian added |
| suite.addTest(new TableNotSpecifiedTest()); //ian added |
| suite.addTest(new ReferenceTableNotSpecifiedTest()); //ian added |
| suite.addTest(new RelationKeyFieldNotProperlySpecifiedTest()); //ian added |
| suite.addTest(new ReturnTypeInGetAttributeAccessorTest()); //ian added |
| suite.addTest(new NoSuchMethodOnInitializingAttributeMethodTest()); //ian added |
| suite.addTest(new MultipleWriteMappingsForFieldTest()); //ian added |
| suite.addTest(new AttributeNameNotSpecifiedTest()); //vesna added |
| suite.addTest(new IllegalArgumentWhileGettingValueThruMethodAccessorTest()); //vesna added |
| suite.addTest(new MultipleTablePrimaryKeyMustBeFullyQualifiedTest()); //vesna added |
| suite.addTest(new NullPointerWhileGettingValueThruInstanceVariableAccessorTest()); //vesna added |
| suite.addTest(new NullPointerWhileGettingValueThruMethodAccessorTest()); //vesna added |
| suite.addTest(new IllegalArgumentWhileSettingValueThruMethodAccessorTest()); //vesna added |
| suite.addTest(new ParentClassIsSelfTest()); //vesna added |
| suite.addTest(new IllegalArgumentWhileGettingValueThruInstanceVariableAccessorTest()); //vesna aded |
| suite.addTest(new IllegalArgumentWhileSettingValueThruInstanceVariableAccessorTest()); //vesna added |
| |
| return suite; |
| } |
| |
| public static TestSuite getDescriptorExceptionTestSuiteSupportPhaseOne2() { |
| TestSuite suite = new TestSuite(); |
| suite.setName("DescriptorExceptionTestSuite(SupportPhaseOne.2)"); |
| suite.setDescription("This suite tests that proper descriptor exceptions are thrown when appropriate."); |
| suite.addTest(new NoFieldNameForMappingTest()); //ian added |
| suite.addTest(new NoAttributeTransformationMethodTest()); //ian added |
| suite.addTest(new NoSuchMethodWhileConvertingToMethodTest()); //ian added |
| suite.addTest(new NoAttributeValueConversionToFieldValueProvidedTest()); //ian added |
| suite.addTest(new SetExistanceCheckingNotUnderstoodTest()); //ian added |
| suite.addTest(new ValueHolderInstantiationMismatchTest()); //ian added |
| suite.addTest(new TableIsNotPresentInDatabaseTest()); //ian added |
| suite.addTest(new InvalidIdentityMapTest()); //ian added |
| suite.addTest(new MissingMappingForFieldTest()); //ian added ** |
| suite.addTest(new InvalidUseOfTransparentIndirectionTest_extractPrimaryKeyForReferenceObject()); //ian added |
| suite.addTest(new InvalidUseOfTransparentIndirectionTest_nullValueFromRow()); //ian added |
| suite.addTest(new InvalidUseOfTransparentIndirectionTest_valueFromMethod()); //ian added |
| suite.addTest(new ReferenceDescriptorIsNotAggreagteCollectionTest()); //ian added |
| suite.addTest(new ReferenceDescriptorIsNotAggregateTest()); //ian added |
| suite.addTest(new SetMethodParameterTypeNotValidTest()); //ian added |
| suite.addTest(new IllegalTableNameInMultipleTableForeignKeyTest_Source()); //ian added |
| suite.addTest(new IllegalTableNameInMultipleTableForeignKeyTest_Target()); //ian added |
| suite.addTest(new NormalDescriptorsDoNotSupportNonRelationalExtensionsTest("buildDirectValuesFromFieldValue")); //ian added |
| suite.addTest(new NormalDescriptorsDoNotSupportNonRelationalExtensionsTest("buildFieldValueFromDirectValues")); //ian added |
| suite.addTest(new NormalDescriptorsDoNotSupportNonRelationalExtensionsTest("buildFieldValueFromForeignKeys")); //ian added |
| suite.addTest(new NormalDescriptorsDoNotSupportNonRelationalExtensionsTest("buildFieldValueFromNestedRow")); //ian added |
| suite.addTest(new NormalDescriptorsDoNotSupportNonRelationalExtensionsTest("buildFieldValueFromNestedRows")); //ian added |
| suite.addTest(new NormalDescriptorsDoNotSupportNonRelationalExtensionsTest("buildNestedRowFromFieldValue")); //ian added |
| suite.addTest(new NormalDescriptorsDoNotSupportNonRelationalExtensionsTest("buildNestedRowsFromFieldValue")); //ian added |
| suite.addTest(new InvalidDataModificationEventTest()); //ian added |
| suite.addTest(new InvalidDataModificationEventCodeTest_DirectCollectionMapping()); //ian added |
| suite.addTest(new InvalidDataModificationEventCodeTest_ManyToManyMapping()); //ian added |
| suite.addTest(new InvalidDescriptorEventCodeTest()); //ian added |
| suite.addTest(new MultipleTablePrimaryKeyNotSpecifiedTest()); //ian added |
| suite.addTest(new NoSuchMethodOnFindObsoleteMethodTest()); //ian added |
| suite.addTest(new NoSuchMethodWhileInitializingClassExtractionMethodTest()); //ian added |
| suite.addTest(new NoSuchMethodWhileInitializingCopyPolicyTest()); //ian added |
| suite.addTest(new MappingCanNotBeReadOnlyTest()); //ian added |
| suite.addTest(new MappingMustBeReadOnlyWhenStoredInCacheTest()); //ian added |
| suite.addTest(new ParameterAndMappingWithoutIndirectionMismatchTest()); //vesna added * |
| suite.addTest(new ReturnAndMappingWithoutIndirectionMismatchTest()); //vesna added |
| suite.addTest(new ParameterAndMappingWithIndirectionMismatchTest()); //vesna added |
| suite.addTest(new IncorrectCollectionPolicyTest()); //vesna added |
| suite.addTest(new InvalidIndirectionContainerClassTest()); //vesna added |
| suite.addTest(new StructureNameNotSetInMappingTest()); //vesna added |
| return suite; |
| } |
| |
| public static TestSuite getDescriptorExceptionTestSuiteSupportPhaseOne3() { |
| TestSuite suite = new TestSuite(); |
| suite.setName("DescriptorExceptionTestSuite(SupportPhaseOne.3)"); |
| suite.setDescription("This suite tests that proper descriptor exceptions are thrown when appropriate."); |
| suite.addTest(new NoSubClassMatchTest_AggregateCollection()); //ian added |
| suite.addTest(new NoSubClassMatchTest_AggregateObject()); //ian added |
| suite.addTest(new ReturnAndMappingWithTransparentIndirectionMismatchTest()); //vesna added |
| suite.addTest(new ParameterAndMappingWithTransparentIndirectionMismatchTest()); //vesna added |
| suite.addTest(new GetMethodReturnTypeNotValidTest()); //vesna added |
| suite.addTest(new AttributeAndMappingWithTransparentIndirectionMismatchTest()); //ian added |
| //The following was untestable, but using a non-standard verify it can be tested |
| suite.addTest(new InvalidContainerPolicyTest()); //ian added -- changed verify method as error is never thrown |
| suite.addTest(new ErrorOccuredInAmendmentMethodTest()); //vesna added |
| suite.addTest(new InvalidAmendmentMethodTest()); //vesna added |
| suite.addTest(new InvalidContainerPolicyWithTransparentIndirectionTest()); //ian added |
| suite.addTest(new ProxyIndirectionNotAvailableTest()); //ian added -- non standard test for JDK 1.2 or JDK 1.3+ |
| suite.addTest(new InvalidAttributeTypeForProxyIndirectionTest()); //ian added |
| suite.addTest(new InvalidGetMethodReturnTypeForProxyIndirectionTest()); //ian added |
| suite.addTest(new InvalidSetMethodParameterTypeForProxyIndirectionTest()); //ian added |
| suite.addTest(new InvalidMappingOperationTest("buildBackupCloneForPartObject")); //ian added |
| suite.addTest(new InvalidMappingOperationTest("buildCloneForPartObject")); //ian added |
| suite.addTest(new InvalidMappingOperationTest("createUnitOfWorkValueHolder")); //ian added |
| suite.addTest(new InvalidMappingOperationTest("getContainerPolicy")); //ian added |
| suite.addTest(new InvalidMappingOperationTest("getRealCollectionAttributeValueFromObject")); //ian added |
| suite.addTest(new InvalidMappingOperationTest("getValueFromRemoteValueHolder")); //ian added |
| suite.addTest(new InvalidMappingOperationTest("iterateOnRealAttributeValue")); //ian added |
| suite.addTest(new InvalidMappingOperationTest("simpleAddToCollectionChangeRecord")); //ian added |
| suite.addTest(new InvalidMappingOperationTest("simpleRemoveFromCollectionChangeRecord")); //ian added |
| suite.addTest(new InvalidIndirectionPolicyOperationTest("NoIndirectionPolicy.getValueFromRemoteValueHolder")); //ian added |
| suite.addTest(new InvalidIndirectionPolicyOperationTest("NoIndirectionPolicy.mergeRemoteValueHolder")); //ian added |
| suite.addTest(new InvalidIndirectionPolicyOperationTest("ContainerIndirectionPolicy.nullValueFromRow")); //ian added |
| suite.addTest(new MissingForeignKeyTranslationTest()); //ian added |
| suite.addTest(new TargetInvocationWhileInvokingFieldToMethodTest()); //vesna added |
| return suite; |
| } |
| |
| public static TestSuite getDescriptorExceptionTestSuiteSupportPhaseOne4() { |
| TestSuite suite = new TestSuite(); |
| suite.setName("DescriptorExceptionTestSuite(SupportPhaseOne.4)"); |
| suite.setDescription("This suite tests that proper descriptor exceptions are thrown when appropriate."); |
| suite.addTest(new TargetInvocationWhileGettingValueThruMethodAccessorTest()); //ian added |
| suite.addTest(new TargetInvocationWhileSettingValueThruMethodAccessorTest()); //ian added |
| suite.addTest(new TargetInvocationWhileCloningTest()); //ian added |
| suite.addTest(new TargetInvocationWhileEventExecutionTest()); //ian added |
| suite.addTest(new NullPointerWhileMethodInstantiationTest()); //ian added |
| suite.addTest(new TargetInvocationWhileMethodInstantiationTest()); //ian added |
| suite.addTest(new TargetInvocationWhileInvokingRowExtractionMethodTest()); //ian added |
| suite.addTest(new TargetInvocationWhileInvokingAttributeMethodTest()); //ian added |
| suite.addTest(new TargetInvocationWhileInstantiatingMethodBasedProxyTest()); //ian added |
| suite.addTest(new TargetInvocationWhileConstructorInstantiationTest()); //ian added |
| suite.addTest(new IllegalArgumentWhileInstantiatingMethodBasedProxyTest()); //ian added |
| suite.addTest(new IllegalArgumentWhileInvokingAttributeMethodTest()); //ian added |
| suite.addTest(new IllegalArgumentWhileInvokingFieldToMethodTest()); //ian added |
| suite.addTest(new TargetInvocationWhileConstructorInstantiationOfFactoryTest()); //ian added |
| suite.addTest(new InstantiationWhileConstructorInstantiationOfFactoryTest()); //ian added |
| suite.addTest(new NoConstructorIndirectionContainerClassTest()); //ian added |
| return suite; |
| } |
| |
| public static TestSuite getDescriptorExceptionTestSuiteSupportPhaseOne5() { |
| TestSuite suite = new TestSuite(); |
| suite.setName("DescriptorExceptionTestSuite(SupportPhaseOne.5)"); |
| suite.setDescription("This suite tests that proper descriptor exceptions are thrown when appropriate."); |
| suite.addTest(new ConstructingDescriptorExceptionTests()); //ian added -- non-standard test -- catch all |
| suite.addTest(new ChildDoesNotDefineAbstractQueryKeyOfParentTest()); //ian added |
| suite.addTest(new NullPointerWhileConstructorInstantiationTest()); //ian added |
| suite.addTest(new VariableOneToOneMappingIsNotDefinedProperlyTest("writeFromObjectIntoRow")); //ian added |
| suite.addTest(new VariableOneToOneMappingIsNotDefinedProperlyTest("writeFromObjectIntoRowWithChangeRecord")); //ian added |
| suite.addTest(new VariableOneToOneMappingIsNotDefinedProperlyTest("writeFromObjectIntoRowForWhereClause")); //ian added im not |
| suite.addTest(new NullPointerWhileSettingValueThruInstanceVariableAccessorTest()); |
| suite.addTest(new GetClassDescriptorWithNullTest()); |
| return suite; |
| } |
| } |