blob: 70151c297026a193bd388f84d8eaa556b9151140 [file] [log] [blame]
/*
* Copyright (c) 2006, 2020 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
//
package org.eclipse.persistence.jpa.tests.jpql;
import org.eclipse.persistence.jpa.tests.jpql.parser.AllJPQLParserTests;
import org.eclipse.persistence.jpa.tests.jpql.tools.AllContentAssistTests;
import org.eclipse.persistence.jpa.tests.jpql.tools.AllJPQLQueryHelperTests;
import org.eclipse.persistence.jpa.tests.jpql.tools.AllRefactoringToolTests;
import org.eclipse.persistence.jpa.tests.jpql.tools.model.AllEclipseLinkStateObjectTest2_1;
import org.eclipse.persistence.jpa.tests.jpql.tools.model.AllStateObjectTest1_0;
import org.eclipse.persistence.jpa.tests.jpql.tools.model.AllStateObjectTest2_0;
import org.eclipse.persistence.jpa.tests.jpql.tools.model.AllStateObjectTests;
import org.junit.runner.RunWith;
import org.junit.runners.Suite.SuiteClasses;
/**
* The root test suite that includes the entire functionality provided by Hermes.
*
* @version 2.5
* @since 2.3
* @author Pascal Filion
*/
@SuiteClasses({
AllUtilityTests.class,
AllJPQLParserTests.class,
ValidateJPQLVersionTest.class,
AllGrammarValidatorTests.class,
AllHermesTests.HermesDefaultTestSuite.class,
AllHermesTests.HermesEclipseLinkTestSuite.class
})
@RunWith(JPQLTestRunner.class)
public final class AllHermesTests {
private AllHermesTests() {
super();
}
/**
* The suite to be used by Hermes and third-party when testing with generic JPA as the provider.
*/
@SuiteClasses({
// Test JPQLQueryHelper
AllJPQLQueryHelperTests.AllDefaultDeclarationTest.class,
AllJPQLQueryHelperTests.AllDefaultJPQLQueryHelperTests.class,
AllJPQLQueryHelperTests.AllDefaultJPQLQueryHelperTests2_1.class,
// Unit-Test testing validating a JPQL query that was written following the JPA 2.0 spec
AllSemanticValidatorTests.AllDefaultSemanticValidatorTest2_0.class,
// Unit-Test testing validating a JPQL query that was written following the JPA 2.1 spec
AllSemanticValidatorTests.AllDefaultSemanticValidatorTest2_1.class,
// Content assist support
AllContentAssistTests.AllDefaultContentAssistTests.class,
// Refactoring support
AllRefactoringToolTests.class,
// Testing the creation of the state model representation of a JPQL query
AllStateObjectTests.class,
AllStateObjectTest1_0.class,
AllStateObjectTest2_0.class
})
@RunWith(JPQLTestRunner.class)
public static class DefaultTestSuite {
}
/**
* The suite to be used by Hermes and third-party when testing with EclipseLink as the provider.
*/
@SuiteClasses({
// Test JPQLQueryHelper
AllJPQLQueryHelperTests.AllEclipseLinkDeclarationTest.class,
AllJPQLQueryHelperTests.AllEclipseLinkJPQLQueryHelperTests.class,
AllJPQLQueryHelperTests.AllEclipseLinkJPQLQueryHelperTests2_4.class,
AllJPQLQueryHelperTests.AllEclipseLinkJPQLQueryHelperTests2_5.class,
// Unit-Test testing validating a JPQL query that was written following EclipseLink 2.0, 2.1, 2.2, 2.3
AllSemanticValidatorTests.AllEclipseLinkSemanticValidatorTest.class,
// Unit-Test testing validating a JPQL query that was written following EclipseLink 2.4
AllSemanticValidatorTests.AllEclipseLinkSemanticValidatorTest2_4.class,
// Unit-Test testing validating a JPQL query that was written following EclipseLink 2.5
AllSemanticValidatorTests.AllEclipseLinkSemanticValidatorTest2_5.class,
// Content assist support
AllContentAssistTests.AllEclipseLinkContentAssistTests.class,
// Refactoring support
AllRefactoringToolTests.class,
// Testing the creation of the state model representation of a JPQL query
AllStateObjectTests.class,
AllEclipseLinkStateObjectTest2_1.class
})
@RunWith(JPQLTestRunner.class)
public static class EclipseLinkTestSuite {
}
public static class HermesDefaultTestSuite extends DefaultTestSuite {
@JPQLQueryTestHelperTestHelper
static JPQLQueryTestHelper buildQueryTestHelper() {
return new DefaultJavaJPQLQueryTestHelper();
}
}
public static final class HermesEclipseLinkTestSuite extends EclipseLinkTestSuite {
@JPQLQueryTestHelperTestHelper
static JPQLQueryTestHelper buildQueryTestHelper() {
return new EclipseLinkJavaJPQLQueryTestHelper();
}
}
}