/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ dependencies { implementation project(':data-prepper-api') implementation libs.armeria.core testImplementation project(':data-prepper-api').sourceSets.test.output implementation project(':data-prepper-plugins:common') implementation project(':data-prepper-plugins:failures-common') implementation project(':data-prepper-plugins:aws-plugin-api') implementation libs.opensearch.client implementation libs.opensearch.rhlc implementation libs.opensearch.java implementation 'com.fasterxml.jackson.core:jackson-databind' implementation 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml' implementation libs.guava.core implementation 'javax.ws.rs:javax.ws.rs-api:2.1.1' implementation 'software.amazon.awssdk:auth' implementation 'software.amazon.awssdk:http-client-spi' implementation 'software.amazon.awssdk:sdk-core' implementation 'software.amazon.awssdk:aws-core' implementation 'software.amazon.awssdk:regions' implementation 'software.amazon.awssdk:utils' implementation 'software.amazon.awssdk:sts' implementation 'software.amazon.awssdk:url-connection-client' implementation 'software.amazon.awssdk:arns' implementation 'io.micrometer:micrometer-core' implementation 'software.amazon.awssdk:s3' implementation "org.apache.commons:commons-lang3:3.12.0" implementation 'software.amazon.awssdk:apache-client' testImplementation testLibs.junit.vintage testImplementation 'commons-io:commons-io:2.12.0' testImplementation 'net.bytebuddy:byte-buddy:1.14.4' testImplementation 'net.bytebuddy:byte-buddy-agent:1.14.4' testImplementation testLibs.slf4j.simple } sourceSets { integrationTest { java { compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('src/integrationTest/java') } resources.srcDir file('src/integrationTest/resources') } } configurations { integrationTestImplementation.extendsFrom testImplementation integrationTestRuntime.extendsFrom testRuntime } task integrationTest(type: Test) { group = 'verification' testClassesDirs = sourceSets.integrationTest.output.classesDirs useJUnitPlatform() classpath = sourceSets.integrationTest.runtimeClasspath systemProperty 'tests.opensearch.host', System.getProperty('tests.opensearch.host') systemProperty 'tests.opensearch.bundle', System.getProperty('tests.opensearch.bundle') systemProperty 'tests.opensearch.user', System.getProperty('tests.opensearch.user') systemProperty 'tests.opensearch.password', System.getProperty('tests.opensearch.password') systemProperty 'tests.opensearch.version', System.getProperty('tests.opensearch.version') filter { includeTestsMatching '*IT' includeTestsMatching '*Test' } } jacocoTestReport { dependsOn test reports { xml.required } afterEvaluate { classDirectories.from = files(classDirectories.files.collect { fileTree(dir: it, exclude: [ // TODO: find a way to include the classes covered by OpenSearch test framework 'com/amazon/dataprepper/plugins/sink/opensearch/OpenSearchSink.class', 'com/amazon/dataprepper/plugins/sink/opensearch/IndexStateManagement.class' ]) }) } } jacocoTestCoverageVerification { dependsOn jacocoTestReport violationRules { rule { element = 'CLASS' excludes = [ // TODO: find a way to include the classes covered by OpenSearch test framework 'org.opensearch.dataprepper.plugins.sink.opensearch.OpenSearchSink', 'org.opensearch.dataprepper.plugins.sink.opensearch.IndexStateManagement' ] limit { minimum = 0.90 } } } }