Как сделать тест с плагином OpenJPA Maven - PullRequest
1 голос
/ 24 мая 2019

Мне нужно сделать интеграционный тест для проверки многопоточности в Oracle. Мы используем openjpa в нашем приложении, поэтому я решил использовать openjpa-maven-plugin для проведения этого теста.

Я пытался подготовить профиль для проверки

<profiles>
    <profile>
        <id>integration-test</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.openjpa</groupId>
                    <artifactId>openjpa-maven-plugin</artifactId>
                    <version>${openjpa.version}</version>
                    <configuration>
                        <sqlAction>build</sqlAction>
                        <sqlFile>/src/test/resources/sql/insert.sql</sqlFile>
                        <connectionDriverName>org.apache.commons.dbcp.BasicDataSource</connectionDriverName>
                        <connectionProperties>
                            driverClass=oracle.jdbc.OracleDriver,
                            jdbc.url=jdbc:oracle:thin:@server-test-ora:1521/bacl,
                            user=user,
                            password=root,
                            minPoolSize=5,
                            acquireRetryAttempts=3,
                            maxPoolSize=20
                        </connectionProperties>
                        <includes>**/entities/*.class</includes>
                        <addDefaultConstructor>true</addDefaultConstructor>
                       <enforcePropertyRestrictions>true</enforcePropertyRestrictions>
                    </configuration>
                    <executions>
                        <execution>
                            <id>test enhancer</id>
                            <phase>process-test-classes</phase>
                            <goals>
                                <goal>test-enhance</goal>
                            </goals>
                        </execution>
                    </executions>

                    <dependencies>
                        <dependency>
                            <groupId>org.apache.openjpa</groupId>
                            <artifactId>openjpa</artifactId>
                            <version>${openjpa.version}</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

Но на самом деле я не понимаю, что мне нужно делать и как сделать этот тест. Как заставить EntityManager попытаться выполнить мою вставку.sql

INSERT INTO USER (NAME,SURNAME,DATE) VALUES ('NAME','SURNAME',to_date('2018-12-08 17:21:03', 'yyyy-mm-dd hh24:mi:ss'));

Что мне нужно. Это попытка сделать несколько параллельных тестов. У меня много этого, но без БД, и теперь мне нужно тестовое соединение или inMemoryOracle.

Так что мой вопрос Как получить EntityManager из плагина (Нужно ли создавать еще один context.xml?)

...