| /* |
| * 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 |
| // 03/30/2016-2.7 Tomas Kraus |
| // - 490677: Database connection properties made configurable in test.properties |
| package org.eclipse.persistence.testing.tests.eis.aq; |
| |
| import org.eclipse.persistence.eis.EISLogin; |
| import org.eclipse.persistence.eis.adapters.aq.AQEISConnectionSpec; |
| import org.eclipse.persistence.eis.adapters.aq.AQPlatform; |
| import org.eclipse.persistence.sessions.Project; |
| import org.eclipse.persistence.testing.tests.nosql.NoSQLProperties; |
| import org.eclipse.persistence.testing.tests.nosql.SessionHelper; |
| import org.junit.runner.RunWith; |
| import org.junit.runners.Suite; |
| import org.junit.runners.Suite.SuiteClasses; |
| |
| /** |
| * Test TopLink EIS with the Oracle IP JCA drivers. |
| * <p> |
| * Test suite requires AQ extension to be installed in Oracle database:<ul> |
| * <li>Log in as SYSDBA: {@code sqlplus <admin_user>/<admin_password> as SYSDBA}</li> |
| * <li>Install AQ extension: {@code @@<orahome>\rdbms\admin\catproc.sql}</li> |
| * <li>Create user and grant him required privileges:</li> |
| * <li>{@code CREATE USER <user> IDENTIFIED BY <password>;}</li> |
| * <li>{@code GRANT CONNECT, RESOURCE, AQ_ADMINISTRATOR_ROLE TO <user> IDENTIFIED BY <password>;}</li> |
| * <li>{@code GRANT EXECUTE ON dbms_aq TO <user>}</li> |
| * <li>{@code GRANT EXECUTE ON dbms_aqin TO <user>}</li> |
| * <li>{@code GRANT EXECUTE ON dbms_aqadm TO <user>}</li> |
| * <li>{@code GRANT EXECUTE ON dbms_lock TO <user>}</li> |
| * </ul> |
| */ |
| @RunWith(Suite.class) |
| @SuiteClasses({ |
| JMSDirectConnectTest.class, |
| JMSDirectInteractionTest.class, |
| JavaDirectInteractionTest.class, |
| ConnectTest.class, |
| AuthenticationTest.class, |
| OrderQueueTest.class |
| }) |
| public class AQTestSuite { |
| |
| /** AQ database login information. Shared with whole test suite. */ |
| static final EISLogin login = initLogin(); |
| |
| /** EclipseLink configuration. Shared with whole test suite. */ |
| static final Project project = SessionHelper.createModelProject(login, AQTestSuite.class); |
| |
| /** |
| * Initializes {@link EISLogin} with AQ connection specifications for test suite. |
| * Class initialization helper method. |
| * @return {@link EISLogin} with AQ connection specifications. |
| */ |
| static EISLogin initLogin() { |
| final EISLogin login = new EISLogin(new AQPlatform()); |
| login.setConnectionSpec(new AQEISConnectionSpec()); |
| login.setProperty(AQEISConnectionSpec.URL, NoSQLProperties.getDBURL()); |
| login.setUserName(NoSQLProperties.getDBUserName()); |
| login.setPassword(NoSQLProperties.getDBPassword()); |
| return login; |
| } |
| |
| } |