1
0
mirror of synced 2025-12-25 02:09:19 -05:00
Files
airbyte/airbyte-integrations/connectors/source-mongodb-v2/build.gradle
Jonathan Pearlin 60b0c9d023 Set the user timezone for tests (#31057)
Co-authored-by: Marius Posta <marius@airbyte.io>
Co-authored-by: postamar <postamar@users.noreply.github.com>
2023-10-04 16:29:41 -05:00

132 lines
4.4 KiB
Groovy

plugins {
id 'application'
id 'airbyte-java-connector'
alias(libs.plugins.kotlin.jvm)
}
airbyteJavaConnector {
cdkVersionRequired = '0.1.2'
features = ['db-sources']
useLocalCdk = false
}
airbyteJavaConnector.addCdkDependencies()
application {
mainClass = 'io.airbyte.integrations.source.mongodb.MongoDbSource'
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0']
}
configurations {
dataGenerator.extendsFrom testImplementation
debeziumTest.extendsFrom testImplementation
}
sourceSets {
dataGenerator {
kotlin {
srcDirs('src/test/generator')
}
}
debeziumTest {
kotlin {
srcDirs('src/test/debezium')
}
}
}
dependencies {
implementation libs.airbyte.protocol
implementation libs.mongo.driver.sync
testImplementation testFixtures(project(':airbyte-integrations:bases:debezium'))
testImplementation libs.testcontainers.mongodb
integrationTestJavaImplementation libs.apache.commons.lang
integrationTestJavaImplementation project(':airbyte-integrations:bases:standard-source-test')
integrationTestJavaImplementation project(':airbyte-integrations:connectors:source-mongodb-v2')
dataGeneratorImplementation project(":airbyte-commons")
dataGeneratorImplementation project(':airbyte-integrations:connectors:source-mongodb-v2')
dataGeneratorImplementation libs.mongo.driver.sync
dataGeneratorImplementation libs.kotlin.logging
dataGeneratorImplementation libs.kotlinx.cli
dataGeneratorImplementation (libs.java.faker) {
exclude module: 'snakeyaml'
}
dataGeneratorImplementation libs.jackson.databind
dataGeneratorImplementation libs.bundles.slf4j
dataGeneratorImplementation libs.slf4j.simple
dataGeneratorImplementation libs.kotlinx.cli.jvm
dataGeneratorImplementation 'org.yaml:snakeyaml:2.2'
debeziumTestImplementation libs.bundles.debezium.bundle
debeziumTestImplementation libs.bundles.slf4j
debeziumTestImplementation libs.slf4j.simple
debeziumTestImplementation libs.kotlinx.cli.jvm
debeziumTestImplementation libs.spotbugs.annotations
}
/*
* Executes the script that generates test data and inserts it into the provided database/collection.
*
* To execute this task, use the following command:
*
* ./gradlew :airbyte-integrations:connectors:source-mongodb-v2:generateTestData -PconnectionString=<connection string> -PdatabaseName=<database name> -PcollectionName=<collection name> -Pusername=<username>
*
* Optionally, you can provide -PnumberOfDocuments to change the number of generated documents from the default (10,000).
*/
tasks.register('generateTestData', JavaExec) {
def arguments = []
if(project.hasProperty('collectionName')) {
arguments.addAll(['--collection-name', collectionName])
}
if(project.hasProperty('connectionString')) {
arguments.addAll(['--connection-string', connectionString])
}
if(project.hasProperty('databaseName')) {
arguments.addAll(['--database-name', databaseName])
}
if (project.hasProperty('numberOfDocuments')) {
arguments.addAll(['--number', numberOfDocuments])
}
if(project.hasProperty('username')) {
arguments.addAll(['--username', username])
}
classpath = sourceSets.dataGenerator.runtimeClasspath
main 'io.airbyte.integrations.source.mongodb.MongoDbInsertClient'
standardInput = System.in
args arguments
}
/**
* Executes the Debezium MongoDB Connector test harness.
*
* To execute this task, use the following command:
*
* ./gradlew :airbyte-integrations:connectors:source-mongodb-v2:debeziumTest -PconnectionString=<connection string> -PdatabaseName=<database name> -PcollectionName=<collection name> -Pusername=<username>
*/
tasks.register('debeziumTest', JavaExec) {
def arguments = []
if(project.hasProperty('collectionName')) {
arguments.addAll(['--collection-name', collectionName])
}
if(project.hasProperty('connectionString')) {
arguments.addAll(['--connection-string', connectionString])
}
if(project.hasProperty('databaseName')) {
arguments.addAll(['--database-name', databaseName])
}
if(project.hasProperty('username')) {
arguments.addAll(['--username', username])
}
classpath = sourceSets.debeziumTest.runtimeClasspath
main 'io.airbyte.integrations.source.mongodb.DebeziumMongoDbConnectorTest'
standardInput = System.in
args arguments
}