blob: 83e2254d7b9f7b926aca881190d0adf88894c12f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 1998, 2013 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 v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Oracle - initial API and implementation from Oracle TopLink
******************************************************************************/
package org.eclipse.persistence.testing.tests.jpql;
import java.util.List;
import org.eclipse.persistence.queries.ReadAllQuery;
import org.eclipse.persistence.testing.framework.*;
import org.eclipse.persistence.testing.models.employee.domain.Employee;
public class JPQLSimpleTestSuite extends TestSuite {
public JPQLSimpleTestSuite() {
setDescription("The unit tests for EJBQL");
}
public void addTests() {
addTest(JPQLTestCase.getBaseTestCase());
addSpecialTest(new SimpleAbsTest());
addTest(new SimpleBetweenAndTest());
addTest(new SimpleBetweenTest());
addTest(new SimpleConcatTest());
addTest(new SimpleConcatTestWithConstants1());
addTest(new SimpleDoubleOrTest());
addTest(new SimpleEqualsBracketsTest());
addTest(new SimpleEqualsTest());
addTest(new SimpleEqualsTestWithJoin());
addTest(new SimpleEqualsTestWithManualJoin());
addTest(new SimpleEqualsWithAs());
//JGL Added to support phones = ?1
addTest(new CollectionMemberIdentifierEqualsTest());
//JGL Added to support phones <> ?1
//Test commented for now...Not sure this query makes sense
addTest(new CollectionMemberIdentifierNotEqualsTest());
//JGL Added to support emp = ?1
//BUG 3003399 in Core
addTest(new AbstractSchemaIdentifierEqualsTest());
//JGL Added to support emp <> ?1
//BUG 3003399 in Core
addTest(new AbstractSchemaIdentifierNotEqualsTest());
addTest(new SimpleFromFailed());
addTest(new SimpleInOneDotTest());
addTest(new SimpleInOneDotTestReversed());
addTest(new SimpleInTest());
addTest(new SimpleLengthTest());
addTest(new SimpleLikeTest());
addTest(new SimpleLikeTestWithParameter());
addTest(new SimpleNotBetweenTest());
addTest(new SimpleNotEqualsTwoVariables());
addTest(new SimpleNotEqualsVariablesIngeter());
addTest(new SimpleNotInTest());
addTest(new SimpleNotLikeTest());
addTest(new SimpleOrFollowedByAndTest());
addTest(new SimpleOrFollowedByAndTestWithStaticNames());
addTest(new SimpleOrTest());
addTest(new SimpleParameterTest());
addTest(new SimpleParameterTestChangingParameters());
addSpecialTest(new SimpleReverseAbsTest());
addTest(new SimpleReverseConcatTest());
addTest(new SimpleReverseEqualsTest());
addTest(new SimpleReverseLengthTest());
addTest(new SimpleReverseParameterTest());
addSpecialTest2(new SimpleReverseSqrtTest());
addTest(new SimpleReverseSubstringTest());
addSpecialTest2(new SimpleSqrtTest());
addTest(new SimpleSubstringTest());
addTest(new SimpleNullTest());
addTest(new SimpleNotNullTest());
// removed until we decide how to do MEMBER OF
/*
addTest(new SimpleMemberOfTest());
addTest(new SimpleNotMemberOfTest());
addTest(new SimpleMemberTest());
addTest(new SimpleNotMemberTest());
addTest(new SimpleMemberWithParameterTest());
addTest(SimpleNullTest.getSimpleNullTest());
addTest(SimpleNullTest.getSimpleNotNullTest());
addTest(new SimpleMemberOfTest());
addTest(new SimpleNotMemberOfTest());
*/
addTest(new SimpleOrFollowedByAndTest());
addTest(new SimpleNotEqualsVariablesIngeter());
addTest(new SimpleBetweenAndTest());
addTest(new SimpleInOneDotTest());
addTest(new SimpleEqualsBracketsTest());
addTest(new SimpleEqualsWithAs());
addTest(new DistinctTest());
addTest(new ConformResultsInUnitOfWorkTest());
addTest(ModTest.getSimpleModTest());
//JGL Added to test IS [NOT] EMPTY -- BUG 2775179
addSpecialTest(new SimpleIsEmptyTest());
addSpecialTest(new SimpleIsNotEmptyTest());
//JGL Added to test ' (Apostrophe) -- BUG 3105560
addTest(new SimpleApostropheTest());
//JGL Added to test WHERE . '..\_' ...ESCAPE '\' -- BUG 3106981
addTest(new SimpleEscapeUnderscoreTest());
//JGL Added to test l MEMBER OF o.lineItems -- BUG 3107061
addTest(new SmallProjectMemberOfProjectsTest());
//JGL Added to test NOT MEMBER OF
addTest(new SmallProjectNOTMemberOfProjectsTest());
//JGL Added BUG 3106877
addTest(new SelectCOUNTOneToOneTest());
addTest(new SelectOneToOneTest());
//JGL Added for BUG 3105651
addTest(new SelectPhoneNumberDeclaredInINClauseTest());
IdentifierTest.addTestsTo(this);
addTest(WhitespaceTest.getWhitespaceTests());
addTest(BinaryOperatorTest.getSimpleBinaryOperatorTests());
addTest(BinaryOperatorWithParameterTest.getParameterBinaryOperatorTests());
// JED Added to test ORDER BY - EJBQL 2.1
addTest(OrderByTest.getOrderByTestSuite());
// JED Added to test aggregates - EJBQL 2.1
addTest(AggregateTest.getSimpleAggregateTestSuite());
//BUG 3175011
addTest(new ChangeJPQLStringAfterExecutionTest());
addTest(buildMaxRowsTest());
//217745
addTest(new CustomQueryStringTranlateValidationTest());
}
/**
* This tests using query properties with EJBQL.
* It verifies that the parse cache is not used if properties are used.
*/
public TestCase buildMaxRowsTest() {
return new TestCase() {
public void test() {
ReadAllQuery query = new ReadAllQuery(Employee.class);
query.setEJBQLString("Select Object(Emp) from Employee Emp");
List results = (List) getSession().executeQuery(query);
if (results.size() != 12) {
throwError("Incorrect number of employees:12->" + results.size());
}
// Execute twice to ensure prepare works right.
results = (List) getSession().executeQuery(query);
if (results.size() != 12) {
throwError("Incorrect number of employees:12->" + results.size());
}
query = new ReadAllQuery(Employee.class);
query.setEJBQLString("Select Object(Emp) from Employee Emp");
query.setMaxRows(5);
results = (List) getSession().executeQuery(query);
if (results.size() != 5) {
throwError("Incorrect number of employees:5->" + results.size());
}
}
};
}
public void addSpecialTest(JPQLTestCase theTest) {
theTest.addUnsupportedPlatform(org.eclipse.persistence.platform.database.TimesTenPlatform.class);
addTest(theTest);
}
public void addSpecialTest2(JPQLTestCase theTest) {
theTest.addUnsupportedPlatform(org.eclipse.persistence.platform.database.TimesTenPlatform.class);
theTest.addUnsupportedPlatform(org.eclipse.persistence.platform.database.SymfowarePlatform.class);
addTest(theTest);
}
}