From aa18eb695b2b829223db6ff8e2ca021b6b5d95f9 Mon Sep 17 00:00:00 2001 From: aderm Date: Mon, 21 Oct 2019 00:12:35 +0800 Subject: [PATCH] [test/plugin] immigrate postgresql scenario (#3644) * Modify plugin test run.sh script parameter error * shell fun error, delete () * delete space line * [test/plugin] immigrate postgresql scenario * add licene * format expectedData.yaml & update support-version.list * change workload from 3 to 1 * add startup.sh * update startup.sh * Add verify health-check segment * remove health-check segment * update code. 1. context is not effective; 2.format code. 3.change log to slf4j; * update expectedData.yaml & change log to log4j2 * Add stage case count * add immigrate postgresql-9.4-scenario * repair module name & package name * repair all postgresql-9.4 to postgresql-above9.4.1207 * change module name to postgresql-above9.4.1207 * change stage name --- Jenkinsfile-Agent-Test | 2 +- Jenkinsfile-Agent-Test-3 | 11 +- .../config/expectedData.yaml | 114 ++++++++++++++++ .../configuration.yml | 29 +++++ .../postgresql-above9.4.1207-scenario/pom.xml | 122 ++++++++++++++++++ .../src/main/assembly/assembly.xml | 41 ++++++ .../apm/testcase/postgresql/Application.java | 34 +++++ .../postgresql/controller/CaseController.java | 82 ++++++++++++ .../postgresql/controller/ConstSql.java | 27 ++++ .../controller/PostgresqlConfig.java | 49 +++++++ .../postgresql/controller/SQLExecutor.java | 67 ++++++++++ .../src/main/resources/application.yml | 17 +++ .../src/main/resources/log4j2.xml | 31 +++++ .../support-version.list | 31 +++++ .../postgresql-scenario/bin/startup.sh | 20 +++ .../config/expectedData.yaml | 115 +++++++++++++++++ .../postgresql-scenario/configuration.yml | 30 +++++ .../scenarios/postgresql-scenario/pom.xml | 122 ++++++++++++++++++ .../src/main/assembly/assembly.xml | 41 ++++++ .../apm/testcase/postgresql/Application.java | 34 +++++ .../postgresql/controller/CaseController.java | 83 ++++++++++++ .../postgresql/controller/ConstSql.java | 27 ++++ .../controller/PostgresqlConfig.java | 49 +++++++ .../postgresql/controller/SQLExecutor.java | 67 ++++++++++ .../src/main/resources/application.yml | 17 +++ .../src/main/resources/log4j2.xml | 31 +++++ .../postgresql-scenario/support-version.list | 51 ++++++++ 27 files changed, 1340 insertions(+), 4 deletions(-) create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/config/expectedData.yaml create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/configuration.yml create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/pom.xml create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/assembly/assembly.xml create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/Application.java create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/CaseController.java create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/ConstSql.java create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/PostgresqlConfig.java create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/SQLExecutor.java create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/resources/application.yml create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/resources/log4j2.xml create mode 100644 test/plugin/scenarios/postgresql-above9.4.1207-scenario/support-version.list create mode 100644 test/plugin/scenarios/postgresql-scenario/bin/startup.sh create mode 100644 test/plugin/scenarios/postgresql-scenario/config/expectedData.yaml create mode 100644 test/plugin/scenarios/postgresql-scenario/configuration.yml create mode 100644 test/plugin/scenarios/postgresql-scenario/pom.xml create mode 100644 test/plugin/scenarios/postgresql-scenario/src/main/assembly/assembly.xml create mode 100644 test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/Application.java create mode 100644 test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/CaseController.java create mode 100644 test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/ConstSql.java create mode 100644 test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/PostgresqlConfig.java create mode 100644 test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/SQLExecutor.java create mode 100644 test/plugin/scenarios/postgresql-scenario/src/main/resources/application.yml create mode 100644 test/plugin/scenarios/postgresql-scenario/src/main/resources/log4j2.xml create mode 100644 test/plugin/scenarios/postgresql-scenario/support-version.list diff --git a/Jenkinsfile-Agent-Test b/Jenkinsfile-Agent-Test index 26ba3a00c..1af47995b 100755 --- a/Jenkinsfile-Agent-Test +++ b/Jenkinsfile-Agent-Test @@ -107,4 +107,4 @@ pipeline { deleteDir() } } -} \ No newline at end of file +} diff --git a/Jenkinsfile-Agent-Test-3 b/Jenkinsfile-Agent-Test-3 index 97bd18f67..ec76a56ec 100755 --- a/Jenkinsfile-Agent-Test-3 +++ b/Jenkinsfile-Agent-Test-3 @@ -54,7 +54,7 @@ pipeline { sh './mvnw -f test/plugin/pom.xml clean package -DskipTests -Dbuild_id=${BUILD_ID} docker:build' } } - stage('Test Cases Report (21)') { + stage('Test Cases Report (73)') { steps { echo "reserve." } @@ -77,9 +77,14 @@ pipeline { } stage('Group2') { stages { - stage('reserve stages') { + stage('postgresql 9.2.x-9.4.x (36)') { steps { - echo "reserve." + sh 'bash test/plugin/run.sh --build_id=${BUILD_ID} postgresql-scenario' + } + } + stage('postgresql-9.4.1207+ (16)') { + steps { + sh 'bash test/plugin/run.sh --build_id=${BUILD_ID} postgresql-above9.4.1207-scenario' } } } diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/config/expectedData.yaml b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/config/expectedData.yaml new file mode 100644 index 000000000..efa343ecf --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/config/expectedData.yaml @@ -0,0 +1,114 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +registryItems: + applications: + - {postgresql-above9.4.1207-scenario: nq 0} + instances: + - {postgresql-above9.4.1207-scenario: 1} + operationNames: + - postgresql-above9.4.1207-scenario: [/postgresql-scenario/case/postgres, PostgreSQL/JDBI/PreparedStatement/executeWithFlags, + PostgreSQL/JDBI/CallableStatement/executeWithFlags, PostgreSQL/JDBI/Statement/execute, + PostgreSQL/JDBI/Connection/close] +segmentItems: +- applicationCode: postgresql-above9.4.1207-scenario + segmentSize: ge 1 + segments: + - segmentId: not null + spans: + - operationName: PostgreSQL/JDBI/PreparedStatement/executeWithFlags + operationId: eq 0 + parentSpanId: 0 + spanId: 1 + tags: + - {key: "db.type", value: "sql"} + - {key: "db.instance", value: "postgres"} + - {key: "db.statement", value: "CREATE TABLE test_007(\nid VARCHAR(1) PRIMARY KEY, \nvalue VARCHAR(1) NOT NULL)"} + startTime: nq 0 + endTime: nq 0 + isError: false + spanLayer: Database + spanType: Exit + componentName: null + componentId: 37 + peer: postgresql-server:5432 + peerId: eq 0 + - operationName: PostgreSQL/JDBI/CallableStatement/executeWithFlags + operationId: eq 0 + parentSpanId: 0 + spanId: 2 + tags: + - {key: "db.type", value: "sql"} + - {key: "db.instance", value: "postgres"} + - {key: "db.statement", value: "INSERT INTO test_007(id, value) VALUES(?,?)"} + startTime: nq 0 + endTime: nq 0 + isError: false + spanLayer: Database + spanType: Exit + componentName: null + componentId: 37 + peer: postgresql-server:5432 + peerId: eq 0 + - operationName: PostgreSQL/JDBI/Statement/execute + operationId: eq 0 + parentSpanId: 0 + spanId: 3 + tags: + - {key: "db.type", value: "sql"} + - {key: "db.instance", value: "postgres"} + - {key: "db.statement", value: "DROP table test_007"} + startTime: nq 0 + endTime: nq 0 + isError: false + spanLayer: Database + spanType: Exit + componentName: null + componentId: 37 + peer: postgresql-server:5432 + peerId: eq 0 + - operationName: PostgreSQL/JDBI/Connection/close + operationId: eq 0 + parentSpanId: 0 + spanId: 4 + tags: + - {key: "db.type", value: "sql"} + - {key: "db.instance", value: "postgres"} + - {key: "db.statement", value: ""} + startTime: nq 0 + endTime: nq 0 + isError: false + spanLayer: Database + spanType: Exit + componentName: null + componentId: 37 + peer: postgresql-server:5432 + peerId: eq 0 + - operationName: /postgresql-scenario/case/postgres + operationId: eq 0 + parentSpanId: -1 + spanId: 0 + startTime: nq 0 + endTime: nq 0 + spanLayer: Http + isError: false + spanType: Entry + componentName: null + componentId: 1 + tags: + - {key: url, value: 'http://localhost:8080/postgresql-scenario/case/postgres'} + - {key: http.method, value: GET} + peer: null + peerId: eq 0 diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/configuration.yml b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/configuration.yml new file mode 100644 index 000000000..663a82d8a --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/configuration.yml @@ -0,0 +1,29 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +type: jvm +entryService: http://localhost:8080/postgresql-scenario/case/postgres +healthCheck: http://localhost:8080/postgresql-scenario/case/healthcheck +startScript: ./bin/startup.sh +framework: PostgreSQL +environment: + - POSTGRESQL_SERVER=postgresql-server:5432 + - POSTGRES_DB=postgres + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres +dependencies: + postgresql-server: + image: postgres:9.3-alpine + hostname: postgresql-server + diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/pom.xml b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/pom.xml new file mode 100644 index 000000000..2df5d8783 --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/pom.xml @@ -0,0 +1,122 @@ + + + + 4.0.0 + + org.apache.skywalking + postgresql-above9.4.1207-scenario + 5.0.0 + + skywalking-postgresql-above9.4.1207-scenario + + + UTF-8 + 1.8 + + 9.4-1206-jdbc42 + ${test.framework.version} + + 2.1.4.RELEASE + 1.16.20 + 2.8.1 + + + + + org.postgresql + postgresql + ${test.framework.version} + + + + org.springframework.boot + spring-boot-starter + ${spring-boot.version} + + + spring-boot-starter-logging + org.springframework.boot + + + + + org.springframework.boot + spring-boot-starter-web + ${spring-boot.version} + + + org.apache.logging.log4j + log4j-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + + + + + postgresql-above9.4.1207-scenario + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.0 + + ${compiler.version} + ${compiler.version} + ${project.build.sourceEncoding} + + + + org.springframework.boot + spring-boot-maven-plugin + 1.5.9.RELEASE + + + + repackage + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + assemble + package + + single + + + + src/main/assembly/assembly.xml + + + + + + + + diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/assembly/assembly.xml b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/assembly/assembly.xml new file mode 100644 index 000000000..3e7d698c3 --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/assembly/assembly.xml @@ -0,0 +1,41 @@ + + + + + zip + + + + + ./bin + 0775 + + + + + + ${project.build.directory}/postgresql-above9.4.1207-scenario.jar + ./libs + 0775 + + + diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/Application.java b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/Application.java new file mode 100644 index 000000000..d2f3e64fa --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/Application.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.testcase.postgresql; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + try { + SpringApplication.run(Application.class, args); + } catch (Exception e) { + // Never do this + } + } +} diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/CaseController.java b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/CaseController.java new file mode 100644 index 000000000..f3566c40c --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/CaseController.java @@ -0,0 +1,82 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.skywalking.apm.testcase.postgresql.controller; + +import java.sql.SQLException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/postgresql-scenario/case") +public class CaseController { + + private static Logger logger = LogManager.getLogger(CaseController.class); + + @Autowired + PostgresqlConfig postgresqlConfig; + + @GetMapping("/healthcheck") + public String healthcheck() throws Exception { + SQLExecutor sqlExecute = null; + try { + sqlExecute = new SQLExecutor(postgresqlConfig); + sqlExecute.checkPG(ConstSql.TEST_SQL); + } catch (SQLException e) { + logger.error("Failed to execute sql.", e); + throw e; + } finally { + if (sqlExecute != null) { + try { + sqlExecute.closeConnection(); + } catch (SQLException e) { + logger.error("Failed to close connection.", e); + } + } + } + return "Success"; + } + + @GetMapping("/postgres") + public String postgres() throws SQLException { + logger.info("Begin to start execute sql"); + SQLExecutor sqlExecute = null; + try { + sqlExecute = new SQLExecutor(postgresqlConfig); + sqlExecute.createTable(ConstSql.CREATE_TABLE_SQL); + sqlExecute.insertData(ConstSql.INSERT_DATA_SQL, "1", "1"); + sqlExecute.dropTable(ConstSql.DROP_TABLE_SQL); + } catch (SQLException e) { + logger.error("Failed to execute sql.", e); + throw e; + } finally { + if (sqlExecute != null) { + try { + sqlExecute.closeConnection(); + } catch (SQLException e) { + logger.error("Failed to close connection.", e); + } + } + } + return "Success"; + } +} + diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/ConstSql.java b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/ConstSql.java new file mode 100644 index 000000000..a0a487b07 --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/ConstSql.java @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.skywalking.apm.testcase.postgresql.controller; + +public class ConstSql { + public static final String TEST_SQL = "SELECT 1"; + public static final String CREATE_TABLE_SQL = "CREATE TABLE test_007(\n" + + "id VARCHAR(1) PRIMARY KEY, \n" + + "value VARCHAR(1) NOT NULL)"; + public static final String INSERT_DATA_SQL = "INSERT INTO test_007(id, value) VALUES(?,?)"; + public static final String DROP_TABLE_SQL = "DROP table test_007"; +} diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/PostgresqlConfig.java b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/PostgresqlConfig.java new file mode 100644 index 000000000..ba7fa48c0 --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/PostgresqlConfig.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.skywalking.apm.testcase.postgresql.controller; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class PostgresqlConfig { + + @Value("${POSTGRESQL_SERVER}") + private String host; + + @Value("${POSTGRES_DB}") + private String db; + + @Value("${POSTGRES_USER}") + private String user; + + @Value("${POSTGRES_PASSWORD}") + private String password; + + public String getUrl() { + return "jdbc:postgresql://" + host + "/" + db; + } + + public String getUserName() { + return user; + } + + public String getPassword() { + return password; + } +} diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/SQLExecutor.java b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/SQLExecutor.java new file mode 100644 index 000000000..fa1f73a75 --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/SQLExecutor.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.skywalking.apm.testcase.postgresql.controller; + +import java.sql.CallableStatement; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Statement; + +public class SQLExecutor { + + private Connection connection; + + public SQLExecutor(PostgresqlConfig postgresqlConfig) throws SQLException { + try { + Class.forName("org.postgresql.Driver"); + } catch (ClassNotFoundException e) { + // + } + connection = DriverManager.getConnection(postgresqlConfig.getUrl(), postgresqlConfig.getUserName(), postgresqlConfig.getPassword()); + } + + public void checkPG(String sql) throws SQLException { + Statement preparedStatement = connection.createStatement(); + preparedStatement.execute(sql); + } + + public void createTable(String sql) throws SQLException { + PreparedStatement preparedStatement = connection.prepareStatement(sql); + preparedStatement.execute(); + } + + public void insertData(String sql, String id, String value) throws SQLException { + CallableStatement preparedStatement = connection.prepareCall(sql); + preparedStatement.setString(1, id); + preparedStatement.setString(2, value); + preparedStatement.execute(); + } + + public void dropTable(String sql) throws SQLException { + Statement preparedStatement = connection.createStatement(); + preparedStatement.execute(sql); + } + + public void closeConnection() throws SQLException { + if (this.connection != null) { + this.connection.close(); + } + } +} diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/resources/application.yml b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/resources/application.yml new file mode 100644 index 000000000..a2f8b0f19 --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/resources/application.yml @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +server: + port: 8080 diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/resources/log4j2.xml b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/resources/log4j2.xml new file mode 100644 index 000000000..985bd03bf --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/src/main/resources/log4j2.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/plugin/scenarios/postgresql-above9.4.1207-scenario/support-version.list b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/support-version.list new file mode 100644 index 000000000..83574bcbf --- /dev/null +++ b/test/plugin/scenarios/postgresql-above9.4.1207-scenario/support-version.list @@ -0,0 +1,31 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +9.4.1207 +9.4.1208 +9.4.1209 +9.4.1210 +9.4.1211 +9.4.1212 +9.4.1208.jre7 +9.4.1208.jre6 +9.4.1209.jre7 +9.4.1209.jre6 +9.4.1210.jre6 +9.4.1210.jre7 +9.4.1211.jre6 +9.4.1211.jre7 +9.4.1212.jre6 +9.4.1212.jre7 diff --git a/test/plugin/scenarios/postgresql-scenario/bin/startup.sh b/test/plugin/scenarios/postgresql-scenario/bin/startup.sh new file mode 100644 index 000000000..74ce435de --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/bin/startup.sh @@ -0,0 +1,20 @@ +#!/bin/bash +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +home="$(cd "$(dirname $0)"; pwd)" + +java -jar ${agent_opts} ${home}/../libs/postgresql-scenario.jar & diff --git a/test/plugin/scenarios/postgresql-scenario/config/expectedData.yaml b/test/plugin/scenarios/postgresql-scenario/config/expectedData.yaml new file mode 100644 index 000000000..9fa8c2339 --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/config/expectedData.yaml @@ -0,0 +1,115 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +registryItems: + applications: + - {postgresql-scenario: nq 0} + instances: + - {postgresql-scenario: 1} + operationNames: + - postgresql-scenario: [/postgresql-scenario/case/postgres, PostgreSQL/JDBI/PreparedStatement/execute, + PostgreSQL/JDBI/CallableStatement/execute, PostgreSQL/JDBI/Statement/execute, + PostgreSQL/JDBI/Connection/close] + heartbeat: [] +segmentItems: +- applicationCode: postgresql-scenario + segmentSize: ge 1 + segments: + - segmentId: not null + spans: + - operationName: PostgreSQL/JDBI/PreparedStatement/execute + operationId: eq 0 + parentSpanId: 0 + spanId: 1 + tags: + - {key: "db.type", value: "sql"} + - {key: "db.instance", value: "postgres"} + - {key: "db.statement", value: "CREATE TABLE test_007(\nid VARCHAR(1) PRIMARY KEY, \nvalue VARCHAR(1) NOT NULL)"} + startTime: nq 0 + endTime: nq 0 + isError: false + spanLayer: Database + spanType: Exit + componentName: '' + componentId: 37 + peer: postgresql-server:5432 + peerId: eq 0 + - operationName: PostgreSQL/JDBI/CallableStatement/execute + operationId: eq 0 + parentSpanId: 0 + spanId: 2 + tags: + - {key: "db.type", value: "sql"} + - {key: "db.instance", value: "postgres"} + - {key: "db.statement", value: "INSERT INTO test_007(id, value) VALUES(?,?)"} + startTime: nq 0 + endTime: nq 0 + isError: false + spanLayer: Database + spanType: Exit + componentName: '' + componentId: 37 + peer: postgresql-server:5432 + peerId: eq 0 + - operationName: PostgreSQL/JDBI/Statement/execute + operationId: eq 0 + parentSpanId: 0 + spanId: 3 + tags: + - {key: "db.type", value: "sql"} + - {key: "db.instance", value: "postgres"} + - {key: "db.statement", value: "DROP table test_007"} + startTime: nq 0 + endTime: nq 0 + isError: false + spanLayer: Database + spanType: Exit + componentName: '' + componentId: 37 + peer: postgresql-server:5432 + peerId: eq 0 + - operationName: PostgreSQL/JDBI/Connection/close + operationId: eq 0 + parentSpanId: 0 + spanId: 4 + tags: + - {key: "db.type", value: "sql"} + - {key: "db.instance", value: "postgres"} + - {key: "db.statement", value: ""} + startTime: nq 0 + endTime: nq 0 + isError: false + spanLayer: Database + spanType: Exit + componentName: '' + componentId: 37 + peer: postgresql-server:5432 + peerId: eq 0 + - operationName: /postgresql-scenario/case/postgres + operationId: eq 0 + parentSpanId: -1 + spanId: 0 + startTime: nq 0 + endTime: nq 0 + spanLayer: Http + isError: false + spanType: Entry + componentName: '' + componentId: 1 + tags: + - {key: url, value: 'http://localhost:8080/postgresql-scenario/case/postgres'} + - {key: http.method, value: GET} + peer: null + peerId: eq 0 diff --git a/test/plugin/scenarios/postgresql-scenario/configuration.yml b/test/plugin/scenarios/postgresql-scenario/configuration.yml new file mode 100644 index 000000000..f34ac2dcd --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/configuration.yml @@ -0,0 +1,30 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +type: jvm +entryService: http://localhost:8080/postgresql-scenario/case/postgres +healthCheck: http://localhost:8080/postgresql-scenario/case/healthcheck +startScript: ./bin/startup.sh +framework: PostgreSQL +environment: + - POSTGRESQL_SERVER=postgresql-server:5432 + - POSTGRES_DB=postgres + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres +dependencies: + postgresql-server: + image: postgres:9.3-alpine + hostname: postgresql-server + diff --git a/test/plugin/scenarios/postgresql-scenario/pom.xml b/test/plugin/scenarios/postgresql-scenario/pom.xml new file mode 100644 index 000000000..eb6b8a41e --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/pom.xml @@ -0,0 +1,122 @@ + + + + 4.0.0 + + org.apache.skywalking + postgresql-scenario + 5.0.0 + + skywalking-postgresql-scenario + + + UTF-8 + 1.8 + + 9.4-1200-jdbc41 + ${test.framework.version} + + 2.1.4.RELEASE + 1.16.20 + 2.8.1 + + + + + org.postgresql + postgresql + ${test.framework.version} + + + + org.springframework.boot + spring-boot-starter + ${spring-boot.version} + + + spring-boot-starter-logging + org.springframework.boot + + + + + org.springframework.boot + spring-boot-starter-web + ${spring-boot.version} + + + org.apache.logging.log4j + log4j-api + ${log4j.version} + + + org.apache.logging.log4j + log4j-core + ${log4j.version} + + + + + postgresql-scenario + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.0 + + ${compiler.version} + ${compiler.version} + ${project.build.sourceEncoding} + + + + org.springframework.boot + spring-boot-maven-plugin + 1.5.9.RELEASE + + + + repackage + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + assemble + package + + single + + + + src/main/assembly/assembly.xml + + + + + + + + diff --git a/test/plugin/scenarios/postgresql-scenario/src/main/assembly/assembly.xml b/test/plugin/scenarios/postgresql-scenario/src/main/assembly/assembly.xml new file mode 100644 index 000000000..195ec651e --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/src/main/assembly/assembly.xml @@ -0,0 +1,41 @@ + + + + + zip + + + + + ./bin + 0775 + + + + + + ${project.build.directory}/postgresql-scenario.jar + ./libs + 0775 + + + diff --git a/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/Application.java b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/Application.java new file mode 100644 index 000000000..d2f3e64fa --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/Application.java @@ -0,0 +1,34 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.testcase.postgresql; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Application { + + public static void main(String[] args) { + try { + SpringApplication.run(Application.class, args); + } catch (Exception e) { + // Never do this + } + } +} diff --git a/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/CaseController.java b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/CaseController.java new file mode 100644 index 000000000..60e1f4810 --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/CaseController.java @@ -0,0 +1,83 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +package org.apache.skywalking.apm.testcase.postgresql.controller; + +import java.sql.SQLException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/postgresql-scenario/case") +public class CaseController { + + private static Logger logger = LogManager.getLogger(CaseController.class); + + @Autowired + PostgresqlConfig postgresqlConfig; + + @GetMapping("/healthcheck") + public String healthcheck() throws Exception { + SQLExecutor sqlExecute = null; + try { + sqlExecute = new SQLExecutor(postgresqlConfig); + sqlExecute.checkPG(ConstSql.TEST_SQL); + } catch (SQLException e) { + logger.error("Failed to execute sql.", e); + throw e; + } finally { + if (sqlExecute != null) { + try { + sqlExecute.closeConnection(); + } catch (SQLException e) { + logger.error("Failed to close connection.", e); + } + } + } + return "Success"; + } + + @GetMapping("/postgres") + public String postgres() throws SQLException { + logger.info("Begin to start execute sql"); + SQLExecutor sqlExecute = null; + try { + sqlExecute = new SQLExecutor(postgresqlConfig); + sqlExecute.createTable(ConstSql.CREATE_TABLE_SQL); + sqlExecute.insertData(ConstSql.INSERT_DATA_SQL, "1", "1"); + sqlExecute.dropTable(ConstSql.DROP_TABLE_SQL); + } catch (SQLException e) { + logger.error("Failed to execute sql.", e); + throw e; + } finally { + if (sqlExecute != null) { + try { + sqlExecute.closeConnection(); + } catch (SQLException e) { + logger.error("Failed to close connection.", e); + } + } + } + return "Success"; + } +} + diff --git a/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/ConstSql.java b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/ConstSql.java new file mode 100644 index 000000000..a0a487b07 --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/ConstSql.java @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.skywalking.apm.testcase.postgresql.controller; + +public class ConstSql { + public static final String TEST_SQL = "SELECT 1"; + public static final String CREATE_TABLE_SQL = "CREATE TABLE test_007(\n" + + "id VARCHAR(1) PRIMARY KEY, \n" + + "value VARCHAR(1) NOT NULL)"; + public static final String INSERT_DATA_SQL = "INSERT INTO test_007(id, value) VALUES(?,?)"; + public static final String DROP_TABLE_SQL = "DROP table test_007"; +} diff --git a/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/PostgresqlConfig.java b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/PostgresqlConfig.java new file mode 100644 index 000000000..ba7fa48c0 --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/PostgresqlConfig.java @@ -0,0 +1,49 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.skywalking.apm.testcase.postgresql.controller; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class PostgresqlConfig { + + @Value("${POSTGRESQL_SERVER}") + private String host; + + @Value("${POSTGRES_DB}") + private String db; + + @Value("${POSTGRES_USER}") + private String user; + + @Value("${POSTGRES_PASSWORD}") + private String password; + + public String getUrl() { + return "jdbc:postgresql://" + host + "/" + db; + } + + public String getUserName() { + return user; + } + + public String getPassword() { + return password; + } +} diff --git a/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/SQLExecutor.java b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/SQLExecutor.java new file mode 100644 index 000000000..fa1f73a75 --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/src/main/java/org/apache/skywalking/apm/testcase/postgresql/controller/SQLExecutor.java @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +package org.apache.skywalking.apm.testcase.postgresql.controller; + +import java.sql.CallableStatement; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; +import java.sql.Statement; + +public class SQLExecutor { + + private Connection connection; + + public SQLExecutor(PostgresqlConfig postgresqlConfig) throws SQLException { + try { + Class.forName("org.postgresql.Driver"); + } catch (ClassNotFoundException e) { + // + } + connection = DriverManager.getConnection(postgresqlConfig.getUrl(), postgresqlConfig.getUserName(), postgresqlConfig.getPassword()); + } + + public void checkPG(String sql) throws SQLException { + Statement preparedStatement = connection.createStatement(); + preparedStatement.execute(sql); + } + + public void createTable(String sql) throws SQLException { + PreparedStatement preparedStatement = connection.prepareStatement(sql); + preparedStatement.execute(); + } + + public void insertData(String sql, String id, String value) throws SQLException { + CallableStatement preparedStatement = connection.prepareCall(sql); + preparedStatement.setString(1, id); + preparedStatement.setString(2, value); + preparedStatement.execute(); + } + + public void dropTable(String sql) throws SQLException { + Statement preparedStatement = connection.createStatement(); + preparedStatement.execute(sql); + } + + public void closeConnection() throws SQLException { + if (this.connection != null) { + this.connection.close(); + } + } +} diff --git a/test/plugin/scenarios/postgresql-scenario/src/main/resources/application.yml b/test/plugin/scenarios/postgresql-scenario/src/main/resources/application.yml new file mode 100644 index 000000000..a2f8b0f19 --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/src/main/resources/application.yml @@ -0,0 +1,17 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +server: + port: 8080 diff --git a/test/plugin/scenarios/postgresql-scenario/src/main/resources/log4j2.xml b/test/plugin/scenarios/postgresql-scenario/src/main/resources/log4j2.xml new file mode 100644 index 000000000..985bd03bf --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/src/main/resources/log4j2.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/test/plugin/scenarios/postgresql-scenario/support-version.list b/test/plugin/scenarios/postgresql-scenario/support-version.list new file mode 100644 index 000000000..ada0541bf --- /dev/null +++ b/test/plugin/scenarios/postgresql-scenario/support-version.list @@ -0,0 +1,51 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +9.2-1002-jdbc4 +9.2-1003-jdbc3 +9.2-1003-jdbc4 +9.2-1004-jdbc3 +9.2-1004-jdbc4 +9.2-1004-jdbc41 +9.3-1100-jdbc3 +9.3-1100-jdbc4 +9.3-1101-jdbc3 +9.3-1101-jdbc4 +9.3-1101-jdbc41 +9.3-1102-jdbc3 +9.3-1102-jdbc4 +9.3-1102-jdbc41 +9.3-1103-jdbc3 +9.3-1103-jdbc4 +9.3-1103-jdbc41 +9.3-1104-jdbc4 +9.3-1104-jdbc41 +9.4-1201-jdbc4 +9.4-1201-jdbc41 +9.4-1202-jdbc4 +9.4-1202-jdbc41 +9.4-1202-jdbc42 +9.4-1203-jdbc4 +9.4-1203-jdbc41 +9.4-1203-jdbc42 +9.4-1204-jdbc4 +9.4-1204-jdbc41 +9.4-1204-jdbc42 +9.4-1205-jdbc4 +9.4-1205-jdbc41 +9.4-1205-jdbc42 +9.4-1206-jdbc4 +9.4-1206-jdbc41 +9.4-1206-jdbc42