blob: a300455df04e942a2709f1523b5dbb84a2841e80 [file] [log] [blame]
/*
* 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;
}
}