diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 35dfcf09a..4241a136d 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '17', '21', '24' ] + java: [ '17', '21', '25' ] steps: - uses: actions/checkout@v2 diff --git a/build.gradle b/build.gradle index 38ed7edf6..d1324d212 100644 --- a/build.gradle +++ b/build.gradle @@ -49,9 +49,13 @@ subprojects { dependencies { implementation group: 'org.slf4j', name: 'slf4j-api', version: 'latest.release' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: 'latest.release' - testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: 'latest.release' - testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: 'latest.release' + testImplementation platform('org.junit:junit-bom:latest.release') + + testImplementation 'org.junit.jupiter:junit-jupiter-api' + testImplementation 'org.junit.jupiter:junit-jupiter-params' + testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' + testRuntimeOnly 'org.junit.platform:junit-platform-launcher' + testImplementation group: 'org.assertj', name: 'assertj-core', version: 'latest.release' testRuntimeOnly group: 'ch.qos.logback', name: 'logback-classic', version: 'latest.release' testRuntimeOnly group: 'org.slf4j', name: 'jcl-over-slf4j', version: 'latest.release' @@ -163,7 +167,7 @@ configure(allprojects.findAll {it.name != 'mongo-java-server-examples'}) { } wrapper { - gradleVersion = "8.14.2" + gradleVersion = "9.2.1" distributionType = Wrapper.DistributionType.ALL } diff --git a/buildscript-gradle.lockfile b/buildscript-gradle.lockfile index 453397fa1..40db480cc 100644 --- a/buildscript-gradle.lockfile +++ b/buildscript-gradle.lockfile @@ -3,37 +3,28 @@ # This file is expected to be part of source control. com.github.johnrengelman.shadow:com.github.johnrengelman.shadow.gradle.plugin:8.1.1=classpath com.github.johnrengelman:shadow:8.1.1=classpath -com.google.code.gson:gson:2.11.0=classpath -com.google.errorprone:error_prone_annotations:2.27.0=classpath -com.squareup.okhttp3:logging-interceptor:4.12.0=classpath -com.squareup.okhttp3:okhttp-urlconnection:4.12.0=classpath -com.squareup.okhttp3:okhttp:4.12.0=classpath -com.squareup.okio:okio-jvm:3.6.0=classpath -com.squareup.okio:okio:3.6.0=classpath -commons-codec:commons-codec:1.17.1=classpath -commons-io:commons-io:2.16.1=classpath -io.github.hakky54:sslcontext-kickstart:8.3.6=classpath +com.google.code.gson:gson:2.13.2=classpath +com.google.errorprone:error_prone_annotations:2.41.0=classpath +commons-codec:commons-codec:1.19.0=classpath +commons-io:commons-io:2.20.0=classpath +io.github.hakky54:ayza:10.0.2=classpath +io.github.hakky54:sude:2.0.2=classpath org.apache.ant:ant-launcher:1.10.13=classpath org.apache.ant:ant:1.10.13=classpath -org.apache.commons:commons-compress:1.27.1=classpath -org.apache.commons:commons-lang3:3.17.0=classpath +org.apache.commons:commons-compress:1.28.0=classpath +org.apache.commons:commons-lang3:3.20.0=classpath org.apache.logging.log4j:log4j-api:2.20.0=classpath org.apache.logging.log4j:log4j-core:2.20.0=classpath -org.bouncycastle:bcprov-jdk18on:1.78.1=classpath +org.bouncycastle:bcprov-jdk18on:1.83=classpath org.codehaus.plexus:plexus-utils:3.5.1=classpath org.jdom:jdom2:2.0.6.1=classpath -org.jetbrains.kotlin:kotlin-stdlib-common:1.9.10=classpath -org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.10=classpath -org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10=classpath -org.jetbrains.kotlin:kotlin-stdlib:1.9.10=classpath -org.jetbrains:annotations:13.0=classpath org.ow2.asm:asm-commons:9.4=classpath org.ow2.asm:asm-tree:9.4=classpath org.ow2.asm:asm:9.4=classpath -org.slf4j:slf4j-api:2.0.13=classpath -org.sonarqube:org.sonarqube.gradle.plugin:6.2.0.5505=classpath -org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:6.2.0.5505=classpath -org.sonarsource.scanner.lib:sonar-scanner-java-library-batch-interface:3.3.1.450=classpath -org.sonarsource.scanner.lib:sonar-scanner-java-library:3.3.1.450=classpath +org.sonarqube:org.sonarqube.gradle.plugin:7.2.2.6593=classpath +org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:7.2.2.6593=classpath +org.sonarsource.scanner.lib:sonar-scanner-download-cache:4.0.1.1587=classpath +org.sonarsource.scanner.lib:sonar-scanner-java-library-batch-interface:4.0.1.1587=classpath +org.sonarsource.scanner.lib:sonar-scanner-java-library:4.0.1.1587=classpath org.vafer:jdependency:2.8.0=classpath empty= diff --git a/core/gradle.lockfile b/core/gradle.lockfile index ddb36296d..19ff31f4d 100644 --- a/core/gradle.lockfile +++ b/core/gradle.lockfile @@ -1,43 +1,38 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -ch.qos.logback:logback-classic:1.5.18=testRuntimeClasspath -ch.qos.logback:logback-core:1.5.18=testRuntimeClasspath -io.netty:netty-buffer:4.1.74.Final=default -io.netty:netty-buffer:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-base:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-compression:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-marshalling:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec-protobuf:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-codec:4.1.74.Final=default -io.netty:netty-codec:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-common:4.1.74.Final=default -io.netty:netty-common:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-handler:4.1.74.Final=default -io.netty:netty-handler:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-resolver:4.1.74.Final=default -io.netty:netty-resolver:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-tcnative-classes:2.0.48.Final=default -io.netty:netty-transport-native-unix-common:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -io.netty:netty-transport:4.1.74.Final=default -io.netty:netty-transport:4.2.2.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.17.5=testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.17.5=testCompileClasspath,testRuntimeClasspath -nl.jqno.equalsverifier:equalsverifier:4.0.2=testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.5.23=testRuntimeClasspath +ch.qos.logback:logback-core:1.5.23=testRuntimeClasspath +io.netty:netty-buffer:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-compression:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-marshalling:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec-protobuf:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-codec:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-common:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.9.Final=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.7=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.18.3=testCompileClasspath,testRuntimeClasspath +nl.jqno.equalsverifier:equalsverifier:4.3=testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath -org.assertj:assertj-core:3.27.3=testCompileClasspath,testRuntimeClasspath +org.assertj:assertj-core:3.27.6=testCompileClasspath,testRuntimeClasspath org.jacoco:org.jacoco.agent:0.8.13=jacocoAgent,jacocoAnt org.jacoco:org.jacoco.ant:0.8.13=jacocoAnt org.jacoco:org.jacoco.core:0.8.13=jacocoAnt org.jacoco:org.jacoco.report:0.8.13=jacocoAnt -org.junit.jupiter:junit-jupiter-api:5.11.4=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.11.4=testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.11.4=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.11.4=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.11.4=testRuntimeClasspath -org.junit:junit-bom:5.11.4=testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-core:5.18.0=testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-junit-jupiter:5.18.0=testCompileClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=testCompileClasspath +org.junit.jupiter:junit-jupiter-api:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:6.0.1=testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:6.0.1=testRuntimeClasspath +org.junit.platform:junit-platform-launcher:6.0.1=testRuntimeClasspath +org.junit:junit-bom:6.0.1=testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-core:5.21.0=testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-junit-jupiter:5.21.0=testCompileClasspath,testRuntimeClasspath org.mongodb:mongo-java-driver:3.12.14=testCompileClasspath,testRuntimeClasspath org.objenesis:objenesis:3.4=testCompileClasspath,testRuntimeClasspath org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath @@ -45,6 +40,5 @@ org.ow2.asm:asm-commons:9.8=jacocoAnt org.ow2.asm:asm-tree:9.8=jacocoAnt org.ow2.asm:asm:9.8=jacocoAnt org.slf4j:jcl-over-slf4j:2.0.17=testRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=default org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -empty=annotationProcessor,archives,compile,compileOnly,runtime,signatures,testAnnotationProcessor,testCompile,testCompileOnly,testRuntime +empty=annotationProcessor,testAnnotationProcessor diff --git a/examples/gradle.lockfile b/examples/gradle.lockfile index 9f09b15cc..8313be972 100644 --- a/examples/gradle.lockfile +++ b/examples/gradle.lockfile @@ -1,32 +1,34 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -ch.qos.logback:logback-classic:1.5.18=runtimeClasspath,testRuntimeClasspath -ch.qos.logback:logback-core:1.5.18=runtimeClasspath,testRuntimeClasspath -io.netty:netty-buffer:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec-base:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec-compression:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec-marshalling:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec-protobuf:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-common:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-handler:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-resolver:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-transport-native-unix-common:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-transport:4.2.2.Final=runtimeClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.15.11=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.5.23=runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.5.23=runtimeClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-compression:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-marshalling:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-protobuf:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.7=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=compileClasspath,testCompileClasspath -org.assertj:assertj-core:3.27.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.assertj:assertj-core:3.27.6=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.jacoco:org.jacoco.agent:0.8.13=jacocoAgent,jacocoAnt org.jacoco:org.jacoco.ant:0.8.13=jacocoAnt org.jacoco:org.jacoco.core:0.8.13=jacocoAnt org.jacoco:org.jacoco.report:0.8.13=jacocoAnt -org.junit.jupiter:junit-jupiter-api:5.11.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.11.4=testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.11.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.11.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.11.4=testRuntimeClasspath -org.junit:junit-bom:5.11.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=compileClasspath,testCompileClasspath +org.junit.jupiter:junit-jupiter-api:6.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:6.0.1=testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:6.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:6.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:6.0.1=testRuntimeClasspath +org.junit.platform:junit-platform-launcher:6.0.1=testRuntimeClasspath +org.junit:junit-bom:6.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.mongodb:mongo-java-driver:3.12.14=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.opentest4j:opentest4j:1.3.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.ow2.asm:asm-commons:9.8=jacocoAnt @@ -34,4 +36,4 @@ org.ow2.asm:asm-tree:9.8=jacocoAnt org.ow2.asm:asm:9.8=jacocoAnt org.slf4j:jcl-over-slf4j:2.0.17=testRuntimeClasspath org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -empty=annotationProcessor,signatures,testAnnotationProcessor +empty=annotationProcessor,testAnnotationProcessor diff --git a/gradle.lockfile b/gradle.lockfile index c11ef4757..eade9e5c5 100644 --- a/gradle.lockfile +++ b/gradle.lockfile @@ -1,116 +1,63 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -ch.qos.logback:logback-classic:1.3.5=allCodeCoverageReportClassDirectories -ch.qos.logback:logback-classic:1.5.18=aggregateCodeCoverageReportResults -ch.qos.logback:logback-core:1.3.5=allCodeCoverageReportClassDirectories -ch.qos.logback:logback-core:1.5.18=aggregateCodeCoverageReportResults -com.fasterxml.jackson.core:jackson-annotations:2.14.1=allCodeCoverageReportClassDirectories -com.fasterxml.jackson.core:jackson-annotations:2.19.1=aggregateCodeCoverageReportResults -com.fasterxml.jackson.core:jackson-core:2.14.1=allCodeCoverageReportClassDirectories -com.fasterxml.jackson.core:jackson-core:2.19.1=aggregateCodeCoverageReportResults -com.fasterxml.jackson.core:jackson-databind:2.14.1=allCodeCoverageReportClassDirectories -com.fasterxml.jackson.core:jackson-databind:2.19.1=aggregateCodeCoverageReportResults -com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.1=allCodeCoverageReportClassDirectories -com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.19.1=aggregateCodeCoverageReportResults -com.fasterxml.jackson:jackson-bom:2.14.1=allCodeCoverageReportClassDirectories -com.fasterxml.jackson:jackson-bom:2.19.1=aggregateCodeCoverageReportResults -com.h2database:h2:2.1.214=allCodeCoverageReportClassDirectories -com.h2database:h2:2.3.232=aggregateCodeCoverageReportResults -io.micrometer:micrometer-commons:1.14.8=aggregateCodeCoverageReportResults -io.micrometer:micrometer-observation:1.14.8=aggregateCodeCoverageReportResults -io.netty:netty-buffer:4.1.74.Final=default -io.netty:netty-buffer:4.1.87.Final=allCodeCoverageReportClassDirectories -io.netty:netty-buffer:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec-base:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec-compression:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec-marshalling:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec-protobuf:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec:4.1.74.Final=default -io.netty:netty-codec:4.1.87.Final=allCodeCoverageReportClassDirectories -io.netty:netty-codec:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-common:4.1.74.Final=default -io.netty:netty-common:4.1.87.Final=allCodeCoverageReportClassDirectories -io.netty:netty-common:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-handler:4.1.74.Final=default -io.netty:netty-handler:4.1.87.Final=allCodeCoverageReportClassDirectories -io.netty:netty-handler:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-resolver:4.1.74.Final=default -io.netty:netty-resolver:4.1.87.Final=allCodeCoverageReportClassDirectories -io.netty:netty-resolver:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-tcnative-classes:2.0.48.Final=default -io.netty:netty-transport-native-unix-common:4.1.87.Final=allCodeCoverageReportClassDirectories -io.netty:netty-transport-native-unix-common:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.netty:netty-transport:4.1.74.Final=default -io.netty:netty-transport:4.1.87.Final=allCodeCoverageReportClassDirectories -io.netty:netty-transport:4.2.2.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -io.projectreactor:reactor-core:3.5.0=aggregateCodeCoverageReportResults,allCodeCoverageReportClassDirectories -net.bytebuddy:byte-buddy-agent:1.12.22=allCodeCoverageReportClassDirectories -net.bytebuddy:byte-buddy-agent:1.17.5=aggregateCodeCoverageReportResults -net.bytebuddy:byte-buddy:1.12.22=allCodeCoverageReportClassDirectories -net.bytebuddy:byte-buddy:1.17.5=aggregateCodeCoverageReportResults -org.assertj:assertj-core:3.24.2=allCodeCoverageReportClassDirectories -org.assertj:assertj-core:3.27.3=aggregateCodeCoverageReportResults +ch.qos.logback:logback-classic:1.5.23=aggregateCodeCoverageReportResults +ch.qos.logback:logback-core:1.5.23=aggregateCodeCoverageReportResults +com.fasterxml.jackson.core:jackson-annotations:2.20=aggregateCodeCoverageReportResults +com.fasterxml.jackson.core:jackson-core:2.20.1=aggregateCodeCoverageReportResults +com.fasterxml.jackson.core:jackson-databind:2.20.1=aggregateCodeCoverageReportResults +com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.20.1=aggregateCodeCoverageReportResults +com.fasterxml.jackson:jackson-bom:2.20.1=aggregateCodeCoverageReportResults +com.h2database:h2:2.4.240=aggregateCodeCoverageReportResults +commons-logging:commons-logging:1.3.5=aggregateCodeCoverageReportResults +io.micrometer:micrometer-commons:1.16.1=aggregateCodeCoverageReportResults +io.micrometer:micrometer-observation:1.16.1=aggregateCodeCoverageReportResults +io.netty:netty-buffer:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-compression:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-marshalling:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-protobuf:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-common:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.9.Final=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath +io.projectreactor:reactor-core:3.5.0=aggregateCodeCoverageReportResults +net.bytebuddy:byte-buddy-agent:1.17.7=aggregateCodeCoverageReportResults +net.bytebuddy:byte-buddy:1.17.7=aggregateCodeCoverageReportResults +org.assertj:assertj-core:3.27.6=aggregateCodeCoverageReportResults org.jacoco:org.jacoco.agent:0.8.13=jacocoAgent,jacocoAnt org.jacoco:org.jacoco.ant:0.8.13=jacocoAnt org.jacoco:org.jacoco.core:0.8.13=jacocoAnt org.jacoco:org.jacoco.report:0.8.13=jacocoAnt -org.junit.jupiter:junit-jupiter-api:5.11.4=aggregateCodeCoverageReportResults -org.junit.jupiter:junit-jupiter-api:5.9.2=allCodeCoverageReportClassDirectories -org.junit.jupiter:junit-jupiter-engine:5.11.4=aggregateCodeCoverageReportResults -org.junit.jupiter:junit-jupiter-engine:5.9.2=allCodeCoverageReportClassDirectories -org.junit.jupiter:junit-jupiter-params:5.11.4=aggregateCodeCoverageReportResults -org.junit.jupiter:junit-jupiter-params:5.9.2=allCodeCoverageReportClassDirectories -org.junit.platform:junit-platform-commons:1.11.4=aggregateCodeCoverageReportResults -org.junit.platform:junit-platform-commons:1.9.2=allCodeCoverageReportClassDirectories -org.junit.platform:junit-platform-engine:1.11.4=aggregateCodeCoverageReportResults -org.junit.platform:junit-platform-engine:1.9.2=allCodeCoverageReportClassDirectories -org.junit:junit-bom:5.11.4=aggregateCodeCoverageReportResults -org.junit:junit-bom:5.9.2=allCodeCoverageReportClassDirectories -org.mockito:mockito-core:5.0.0=allCodeCoverageReportClassDirectories -org.mockito:mockito-core:5.18.0=aggregateCodeCoverageReportResults -org.mockito:mockito-junit-jupiter:5.0.0=allCodeCoverageReportClassDirectories -org.mockito:mockito-junit-jupiter:5.18.0=aggregateCodeCoverageReportResults -org.mongodb:bson-record-codec:4.8.2=allCodeCoverageReportClassDirectories -org.mongodb:bson-record-codec:5.5.1=aggregateCodeCoverageReportResults -org.mongodb:bson:4.8.2=allCodeCoverageReportClassDirectories -org.mongodb:bson:5.5.1=aggregateCodeCoverageReportResults -org.mongodb:mongo-java-driver:3.12.11=allCodeCoverageReportClassDirectories +org.jspecify:jspecify:1.0.0=aggregateCodeCoverageReportResults +org.junit.jupiter:junit-jupiter-api:6.0.1=aggregateCodeCoverageReportResults +org.junit.jupiter:junit-jupiter-params:6.0.1=aggregateCodeCoverageReportResults +org.junit.platform:junit-platform-commons:6.0.1=aggregateCodeCoverageReportResults +org.junit:junit-bom:6.0.1=aggregateCodeCoverageReportResults +org.mockito:mockito-core:5.21.0=aggregateCodeCoverageReportResults +org.mockito:mockito-junit-jupiter:5.21.0=aggregateCodeCoverageReportResults +org.mongodb:bson-record-codec:5.6.2=aggregateCodeCoverageReportResults +org.mongodb:bson:5.6.2=aggregateCodeCoverageReportResults org.mongodb:mongo-java-driver:3.12.14=aggregateCodeCoverageReportResults -org.mongodb:mongodb-driver-core:4.8.2=allCodeCoverageReportClassDirectories -org.mongodb:mongodb-driver-core:5.5.1=aggregateCodeCoverageReportResults -org.mongodb:mongodb-driver-reactivestreams:4.8.2=allCodeCoverageReportClassDirectories -org.mongodb:mongodb-driver-reactivestreams:5.5.1=aggregateCodeCoverageReportResults -org.mongodb:mongodb-driver-sync:4.8.2=allCodeCoverageReportClassDirectories -org.mongodb:mongodb-driver-sync:5.5.1=aggregateCodeCoverageReportResults -org.objenesis:objenesis:3.3=aggregateCodeCoverageReportResults,allCodeCoverageReportClassDirectories -org.opentest4j:opentest4j:1.2.0=allCodeCoverageReportClassDirectories +org.mongodb:mongodb-driver-core:5.6.2=aggregateCodeCoverageReportResults +org.mongodb:mongodb-driver-reactivestreams:5.6.2=aggregateCodeCoverageReportResults +org.mongodb:mongodb-driver-sync:5.6.2=aggregateCodeCoverageReportResults +org.objenesis:objenesis:3.3=aggregateCodeCoverageReportResults org.opentest4j:opentest4j:1.3.0=aggregateCodeCoverageReportResults org.ow2.asm:asm-commons:9.8=jacocoAnt org.ow2.asm:asm-tree:9.8=jacocoAnt org.ow2.asm:asm:9.8=jacocoAnt -org.reactivestreams:reactive-streams:1.0.4=aggregateCodeCoverageReportResults,allCodeCoverageReportClassDirectories -org.slf4j:slf4j-api:1.7.36=default +org.reactivestreams:reactive-streams:1.0.4=aggregateCodeCoverageReportResults org.slf4j:slf4j-api:2.0.17=aggregateCodeCoverageReportResults,runtimeClasspath,testRuntimeClasspath -org.slf4j:slf4j-api:2.0.6=allCodeCoverageReportClassDirectories -org.springframework.data:spring-data-commons:3.0.1=allCodeCoverageReportClassDirectories -org.springframework.data:spring-data-commons:3.5.1=aggregateCodeCoverageReportResults -org.springframework.data:spring-data-mongodb:4.0.1=allCodeCoverageReportClassDirectories -org.springframework.data:spring-data-mongodb:4.5.1=aggregateCodeCoverageReportResults -org.springframework:spring-aop:6.0.4=allCodeCoverageReportClassDirectories -org.springframework:spring-aop:6.2.8=aggregateCodeCoverageReportResults -org.springframework:spring-beans:6.0.4=allCodeCoverageReportClassDirectories -org.springframework:spring-beans:6.2.8=aggregateCodeCoverageReportResults -org.springframework:spring-context:6.0.4=allCodeCoverageReportClassDirectories -org.springframework:spring-context:6.2.8=aggregateCodeCoverageReportResults -org.springframework:spring-core:6.0.4=allCodeCoverageReportClassDirectories -org.springframework:spring-core:6.2.8=aggregateCodeCoverageReportResults -org.springframework:spring-expression:6.0.4=allCodeCoverageReportClassDirectories -org.springframework:spring-expression:6.2.8=aggregateCodeCoverageReportResults -org.springframework:spring-jcl:6.0.4=allCodeCoverageReportClassDirectories -org.springframework:spring-jcl:6.2.8=aggregateCodeCoverageReportResults -org.springframework:spring-test:6.0.4=allCodeCoverageReportClassDirectories -org.springframework:spring-test:6.2.8=aggregateCodeCoverageReportResults -org.springframework:spring-tx:6.0.4=allCodeCoverageReportClassDirectories -org.springframework:spring-tx:6.2.8=aggregateCodeCoverageReportResults -empty=annotationProcessor,archives,compile,compileClasspath,compileOnly,runtime,shadow,signatures,testAnnotationProcessor,testCompile,testCompileClasspath,testCompileOnly,testRuntime +org.springframework.data:spring-data-commons:4.0.1=aggregateCodeCoverageReportResults +org.springframework.data:spring-data-mongodb:5.0.1=aggregateCodeCoverageReportResults +org.springframework:spring-aop:7.0.2=aggregateCodeCoverageReportResults +org.springframework:spring-beans:7.0.2=aggregateCodeCoverageReportResults +org.springframework:spring-context:7.0.2=aggregateCodeCoverageReportResults +org.springframework:spring-core:7.0.2=aggregateCodeCoverageReportResults +org.springframework:spring-expression:7.0.2=aggregateCodeCoverageReportResults +org.springframework:spring-test:7.0.2=aggregateCodeCoverageReportResults +org.springframework:spring-tx:7.0.2=aggregateCodeCoverageReportResults +empty=annotationProcessor,compileClasspath,shadow,testAnnotationProcessor,testCompileClasspath diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1b33c55ba..f8e1ee312 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index be2dc79a8..4eac4a84c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 23d15a936..adff685a0 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -172,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/gradlew.bat b/gradlew.bat index 5eed7ee84..e509b2dd8 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/h2-backend/gradle.lockfile b/h2-backend/gradle.lockfile index 56060c36b..81fa2254e 100644 --- a/h2-backend/gradle.lockfile +++ b/h2-backend/gradle.lockfile @@ -1,78 +1,62 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -ch.qos.logback:logback-classic:1.3.4=testRuntimeClasspath -ch.qos.logback:logback-core:1.3.4=testRuntimeClasspath -com.h2database:h2:2.1.210=default -com.h2database:h2:2.1.214=testCompileClasspath,testRuntimeClasspath -com.h2database:h2:2.3.232=compileClasspath,runtimeClasspath -com.sun.mail:javax.mail:1.6.2=testRuntimeClasspath -io.netty:netty-buffer:4.1.74.Final=default -io.netty:netty-buffer:4.1.85.Final=testRuntimeClasspath -io.netty:netty-buffer:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-base:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-compression:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-marshalling:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-protobuf:4.2.2.Final=runtimeClasspath -io.netty:netty-codec:4.1.74.Final=default -io.netty:netty-codec:4.1.85.Final=testRuntimeClasspath -io.netty:netty-codec:4.2.2.Final=runtimeClasspath -io.netty:netty-common:4.1.74.Final=default -io.netty:netty-common:4.1.85.Final=testRuntimeClasspath -io.netty:netty-common:4.2.2.Final=runtimeClasspath -io.netty:netty-handler:4.1.74.Final=default -io.netty:netty-handler:4.1.85.Final=testRuntimeClasspath -io.netty:netty-handler:4.2.2.Final=runtimeClasspath -io.netty:netty-resolver:4.1.74.Final=default -io.netty:netty-resolver:4.1.85.Final=testRuntimeClasspath -io.netty:netty-resolver:4.2.2.Final=runtimeClasspath -io.netty:netty-tcnative-classes:2.0.48.Final=default -io.netty:netty-transport-native-unix-common:4.1.85.Final=testRuntimeClasspath -io.netty:netty-transport-native-unix-common:4.2.2.Final=runtimeClasspath -io.netty:netty-transport:4.1.74.Final=default -io.netty:netty-transport:4.1.85.Final=testRuntimeClasspath -io.netty:netty-transport:4.2.2.Final=runtimeClasspath +ch.qos.logback:logback-classic:1.5.23=testRuntimeClasspath +ch.qos.logback:logback-core:1.5.23=testRuntimeClasspath +com.h2database:h2:2.4.240=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +commons-logging:commons-logging:1.3.5=testCompileClasspath,testRuntimeClasspath +io.micrometer:micrometer-commons:1.16.1=testCompileClasspath,testRuntimeClasspath +io.micrometer:micrometer-observation:1.16.1=testCompileClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-compression:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-marshalling:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-protobuf:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.9.Final=runtimeClasspath,testRuntimeClasspath io.projectreactor:reactor-core:3.5.0=testRuntimeClasspath -javax.activation:activation:1.1=testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.12.16=testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.12.16=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.7=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.7=testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath -org.assertj:assertj-core:3.23.1=testCompileClasspath,testRuntimeClasspath +org.assertj:assertj-core:3.27.6=testCompileClasspath,testRuntimeClasspath org.jacoco:org.jacoco.agent:0.8.13=jacocoAgent,jacocoAnt org.jacoco:org.jacoco.ant:0.8.13=jacocoAnt org.jacoco:org.jacoco.core:0.8.13=jacocoAnt org.jacoco:org.jacoco.report:0.8.13=jacocoAnt -org.junit.jupiter:junit-jupiter-api:5.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.9.1=testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.9.1=testRuntimeClasspath -org.junit:junit-bom:5.9.1=testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-core:4.9.0=testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-junit-jupiter:4.9.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:bson-record-codec:4.8.0=testRuntimeClasspath -org.mongodb:bson:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-core:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-reactivestreams:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-sync:4.8.0=testCompileClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:6.0.1=testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:6.0.1=testRuntimeClasspath +org.junit.platform:junit-platform-launcher:6.0.1=testRuntimeClasspath +org.junit:junit-bom:6.0.1=testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-core:5.21.0=testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-junit-jupiter:5.21.0=testCompileClasspath,testRuntimeClasspath +org.mongodb:bson-record-codec:5.6.2=testRuntimeClasspath +org.mongodb:bson:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-core:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-reactivestreams:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-sync:5.6.2=testCompileClasspath,testRuntimeClasspath org.objenesis:objenesis:3.3=testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath org.ow2.asm:asm-commons:9.8=jacocoAnt org.ow2.asm:asm-tree:9.8=jacocoAnt org.ow2.asm:asm:9.8=jacocoAnt org.reactivestreams:reactive-streams:1.0.4=testCompileClasspath,testRuntimeClasspath -org.slf4j:jcl-over-slf4j:2.0.3=testRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=default -org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath -org.slf4j:slf4j-api:2.0.3=testCompileClasspath,testRuntimeClasspath -org.springframework.data:spring-data-commons:2.7.5=testCompileClasspath,testRuntimeClasspath -org.springframework.data:spring-data-mongodb:3.4.5=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-aop:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-beans:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-context:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-core:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-expression:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-jcl:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-test:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-tx:5.3.23=testCompileClasspath,testRuntimeClasspath -empty=annotationProcessor,archives,compile,compileOnly,runtime,signatures,testAnnotationProcessor,testCompile,testCompileOnly,testRuntime +org.slf4j:jcl-over-slf4j:2.0.17=testRuntimeClasspath +org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework.data:spring-data-commons:4.0.1=testCompileClasspath,testRuntimeClasspath +org.springframework.data:spring-data-mongodb:5.0.1=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-aop:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-beans:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-context:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-core:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-expression:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-test:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-tx:7.0.2=testCompileClasspath,testRuntimeClasspath +empty=annotationProcessor,testAnnotationProcessor diff --git a/memory-backend/gradle.lockfile b/memory-backend/gradle.lockfile index 78d620cc0..667426ba0 100644 --- a/memory-backend/gradle.lockfile +++ b/memory-backend/gradle.lockfile @@ -1,75 +1,61 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -ch.qos.logback:logback-classic:1.3.4=testRuntimeClasspath -ch.qos.logback:logback-core:1.3.4=testRuntimeClasspath -com.sun.mail:javax.mail:1.6.2=testRuntimeClasspath -io.netty:netty-buffer:4.1.74.Final=default -io.netty:netty-buffer:4.1.85.Final=testRuntimeClasspath -io.netty:netty-buffer:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-base:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-compression:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-marshalling:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-protobuf:4.2.2.Final=runtimeClasspath -io.netty:netty-codec:4.1.74.Final=default -io.netty:netty-codec:4.1.85.Final=testRuntimeClasspath -io.netty:netty-codec:4.2.2.Final=runtimeClasspath -io.netty:netty-common:4.1.74.Final=default -io.netty:netty-common:4.1.85.Final=testRuntimeClasspath -io.netty:netty-common:4.2.2.Final=runtimeClasspath -io.netty:netty-handler:4.1.74.Final=default -io.netty:netty-handler:4.1.85.Final=testRuntimeClasspath -io.netty:netty-handler:4.2.2.Final=runtimeClasspath -io.netty:netty-resolver:4.1.74.Final=default -io.netty:netty-resolver:4.1.85.Final=testRuntimeClasspath -io.netty:netty-resolver:4.2.2.Final=runtimeClasspath -io.netty:netty-tcnative-classes:2.0.48.Final=default -io.netty:netty-transport-native-unix-common:4.1.85.Final=testRuntimeClasspath -io.netty:netty-transport-native-unix-common:4.2.2.Final=runtimeClasspath -io.netty:netty-transport:4.1.74.Final=default -io.netty:netty-transport:4.1.85.Final=testRuntimeClasspath -io.netty:netty-transport:4.2.2.Final=runtimeClasspath +ch.qos.logback:logback-classic:1.5.23=testRuntimeClasspath +ch.qos.logback:logback-core:1.5.23=testRuntimeClasspath +commons-logging:commons-logging:1.3.5=testCompileClasspath,testRuntimeClasspath +io.micrometer:micrometer-commons:1.16.1=testCompileClasspath,testRuntimeClasspath +io.micrometer:micrometer-observation:1.16.1=testCompileClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-compression:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-marshalling:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-protobuf:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.9.Final=runtimeClasspath,testRuntimeClasspath io.projectreactor:reactor-core:3.5.0=testRuntimeClasspath -javax.activation:activation:1.1=testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.12.16=testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.12.16=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.7=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.7=testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath -org.assertj:assertj-core:3.23.1=testCompileClasspath,testRuntimeClasspath +org.assertj:assertj-core:3.27.6=testCompileClasspath,testRuntimeClasspath org.jacoco:org.jacoco.agent:0.8.13=jacocoAgent,jacocoAnt org.jacoco:org.jacoco.ant:0.8.13=jacocoAnt org.jacoco:org.jacoco.core:0.8.13=jacocoAnt org.jacoco:org.jacoco.report:0.8.13=jacocoAnt -org.junit.jupiter:junit-jupiter-api:5.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.9.1=testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.9.1=testRuntimeClasspath -org.junit:junit-bom:5.9.1=testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-core:4.9.0=testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-junit-jupiter:4.9.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:bson-record-codec:4.8.0=testRuntimeClasspath -org.mongodb:bson:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-core:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-reactivestreams:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-sync:4.8.0=testCompileClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:6.0.1=testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:6.0.1=testRuntimeClasspath +org.junit.platform:junit-platform-launcher:6.0.1=testRuntimeClasspath +org.junit:junit-bom:6.0.1=testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-core:5.21.0=testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-junit-jupiter:5.21.0=testCompileClasspath,testRuntimeClasspath +org.mongodb:bson-record-codec:5.6.2=testRuntimeClasspath +org.mongodb:bson:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-core:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-reactivestreams:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-sync:5.6.2=testCompileClasspath,testRuntimeClasspath org.objenesis:objenesis:3.3=testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath org.ow2.asm:asm-commons:9.8=jacocoAnt org.ow2.asm:asm-tree:9.8=jacocoAnt org.ow2.asm:asm:9.8=jacocoAnt org.reactivestreams:reactive-streams:1.0.4=testCompileClasspath,testRuntimeClasspath -org.slf4j:jcl-over-slf4j:2.0.3=testRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=default -org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath -org.slf4j:slf4j-api:2.0.3=testCompileClasspath,testRuntimeClasspath -org.springframework.data:spring-data-commons:2.7.5=testCompileClasspath,testRuntimeClasspath -org.springframework.data:spring-data-mongodb:3.4.5=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-aop:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-beans:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-context:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-core:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-expression:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-jcl:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-test:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-tx:5.3.23=testCompileClasspath,testRuntimeClasspath -empty=annotationProcessor,archives,compile,compileOnly,runtime,signatures,testAnnotationProcessor,testCompile,testCompileOnly,testRuntime +org.slf4j:jcl-over-slf4j:2.0.17=testRuntimeClasspath +org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework.data:spring-data-commons:4.0.1=testCompileClasspath,testRuntimeClasspath +org.springframework.data:spring-data-mongodb:5.0.1=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-aop:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-beans:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-context:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-core:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-expression:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-test:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-tx:7.0.2=testCompileClasspath,testRuntimeClasspath +empty=annotationProcessor,testAnnotationProcessor diff --git a/postgresql-backend/gradle.lockfile b/postgresql-backend/gradle.lockfile index c6f2c597a..a6104271e 100644 --- a/postgresql-backend/gradle.lockfile +++ b/postgresql-backend/gradle.lockfile @@ -1,103 +1,80 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -ch.qos.logback:logback-classic:1.3.4=testRuntimeClasspath -ch.qos.logback:logback-core:1.3.4=testRuntimeClasspath -com.fasterxml.jackson.core:jackson-annotations:2.13.1=default -com.fasterxml.jackson.core:jackson-annotations:2.14.0=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-annotations:2.19.1=compileClasspath,runtimeClasspath -com.fasterxml.jackson.core:jackson-core:2.13.1=default -com.fasterxml.jackson.core:jackson-core:2.14.0=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-core:2.19.1=compileClasspath,runtimeClasspath -com.fasterxml.jackson.core:jackson-databind:2.13.1=default -com.fasterxml.jackson.core:jackson-databind:2.14.0=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-databind:2.19.1=compileClasspath,runtimeClasspath -com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.13.1=default -com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.14.0=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.19.1=compileClasspath,runtimeClasspath -com.fasterxml.jackson:jackson-bom:2.13.1=default -com.fasterxml.jackson:jackson-bom:2.14.0=testCompileClasspath,testRuntimeClasspath -com.fasterxml.jackson:jackson-bom:2.19.1=compileClasspath,runtimeClasspath -com.github.docker-java:docker-java-api:3.2.13=testCompileClasspath,testRuntimeClasspath -com.github.docker-java:docker-java-transport-zerodep:3.2.13=testCompileClasspath,testRuntimeClasspath -com.github.docker-java:docker-java-transport:3.2.13=testCompileClasspath,testRuntimeClasspath -com.sun.mail:javax.mail:1.6.2=testRuntimeClasspath +ch.qos.logback:logback-classic:1.5.23=testRuntimeClasspath +ch.qos.logback:logback-core:1.5.23=testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.20=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-core:2.20.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-databind:2.20.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.20.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.fasterxml.jackson:jackson-bom:2.20.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-api:3.7.0=testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport-zerodep:3.7.0=testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport:3.7.0=testCompileClasspath,testRuntimeClasspath com.zaxxer:HikariCP:4.0.3=testCompileClasspath,testRuntimeClasspath -io.netty:netty-buffer:4.1.74.Final=default -io.netty:netty-buffer:4.1.85.Final=testRuntimeClasspath -io.netty:netty-buffer:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-base:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-compression:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-marshalling:4.2.2.Final=runtimeClasspath -io.netty:netty-codec-protobuf:4.2.2.Final=runtimeClasspath -io.netty:netty-codec:4.1.74.Final=default -io.netty:netty-codec:4.1.85.Final=testRuntimeClasspath -io.netty:netty-codec:4.2.2.Final=runtimeClasspath -io.netty:netty-common:4.1.74.Final=default -io.netty:netty-common:4.1.85.Final=testRuntimeClasspath -io.netty:netty-common:4.2.2.Final=runtimeClasspath -io.netty:netty-handler:4.1.74.Final=default -io.netty:netty-handler:4.1.85.Final=testRuntimeClasspath -io.netty:netty-handler:4.2.2.Final=runtimeClasspath -io.netty:netty-resolver:4.1.74.Final=default -io.netty:netty-resolver:4.1.85.Final=testRuntimeClasspath -io.netty:netty-resolver:4.2.2.Final=runtimeClasspath -io.netty:netty-tcnative-classes:2.0.48.Final=default -io.netty:netty-transport-native-unix-common:4.1.85.Final=testRuntimeClasspath -io.netty:netty-transport-native-unix-common:4.2.2.Final=runtimeClasspath -io.netty:netty-transport:4.1.74.Final=default -io.netty:netty-transport:4.1.85.Final=testRuntimeClasspath -io.netty:netty-transport:4.2.2.Final=runtimeClasspath +commons-codec:commons-codec:1.19.0=testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.20.0=testCompileClasspath,testRuntimeClasspath +commons-logging:commons-logging:1.3.5=testCompileClasspath,testRuntimeClasspath +io.micrometer:micrometer-commons:1.16.1=testCompileClasspath,testRuntimeClasspath +io.micrometer:micrometer-observation:1.16.1=testCompileClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-compression:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-marshalling:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-protobuf:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.9.Final=runtimeClasspath,testRuntimeClasspath io.projectreactor:reactor-core:3.5.0=testRuntimeClasspath -javax.activation:activation:1.1=testRuntimeClasspath -junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.12.16=testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.12.16=testCompileClasspath,testRuntimeClasspath -net.java.dev.jna:jna:5.8.0=testCompileClasspath,testRuntimeClasspath -org.apache.commons:commons-compress:1.21=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.7=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.7=testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.18.1=testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-compress:1.28.0=testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.18.0=testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath -org.assertj:assertj-core:3.23.1=testCompileClasspath,testRuntimeClasspath -org.checkerframework:checker-qual:3.5.0=testRuntimeClasspath -org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath +org.assertj:assertj-core:3.27.6=testCompileClasspath,testRuntimeClasspath +org.checkerframework:checker-qual:3.49.5=testRuntimeClasspath org.jacoco:org.jacoco.agent:0.8.13=jacocoAgent,jacocoAnt org.jacoco:org.jacoco.ant:0.8.13=jacocoAnt org.jacoco:org.jacoco.core:0.8.13=jacocoAnt org.jacoco:org.jacoco.report:0.8.13=jacocoAnt org.jetbrains:annotations:17.0.0=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.9.1=testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.9.1=testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.9.1=testRuntimeClasspath -org.junit:junit-bom:5.9.1=testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-core:4.9.0=testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-junit-jupiter:4.9.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:bson-record-codec:4.8.0=testRuntimeClasspath -org.mongodb:bson:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-core:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-reactivestreams:4.8.0=testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-sync:4.8.0=testCompileClasspath,testRuntimeClasspath +org.jspecify:jspecify:1.0.0=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:6.0.1=testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:6.0.1=testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:6.0.1=testRuntimeClasspath +org.junit.platform:junit-platform-launcher:6.0.1=testRuntimeClasspath +org.junit:junit-bom:6.0.1=testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-core:5.21.0=testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-junit-jupiter:5.21.0=testCompileClasspath,testRuntimeClasspath +org.mongodb:bson-record-codec:5.6.2=testRuntimeClasspath +org.mongodb:bson:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-core:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-reactivestreams:5.6.2=testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-sync:5.6.2=testCompileClasspath,testRuntimeClasspath org.objenesis:objenesis:3.3=testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.3.0=testCompileClasspath,testRuntimeClasspath org.ow2.asm:asm-commons:9.8=jacocoAnt org.ow2.asm:asm-tree:9.8=jacocoAnt org.ow2.asm:asm:9.8=jacocoAnt -org.postgresql:postgresql:42.5.0=testRuntimeClasspath +org.postgresql:postgresql:42.7.8=testRuntimeClasspath org.reactivestreams:reactive-streams:1.0.4=testCompileClasspath,testRuntimeClasspath org.rnorth.duct-tape:duct-tape:1.0.8=testCompileClasspath,testRuntimeClasspath -org.slf4j:jcl-over-slf4j:2.0.3=testRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=default -org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath -org.slf4j:slf4j-api:2.0.3=testCompileClasspath,testRuntimeClasspath -org.springframework.data:spring-data-commons:2.7.5=testCompileClasspath,testRuntimeClasspath -org.springframework.data:spring-data-mongodb:3.4.5=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-aop:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-beans:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-context:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-core:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-expression:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-jcl:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-test:5.3.23=testCompileClasspath,testRuntimeClasspath -org.springframework:spring-tx:5.3.23=testCompileClasspath,testRuntimeClasspath -org.testcontainers:testcontainers:1.17.5=testCompileClasspath,testRuntimeClasspath -empty=annotationProcessor,archives,compile,compileOnly,runtime,signatures,testAnnotationProcessor,testCompile,testCompileOnly,testRuntime +org.slf4j:jcl-over-slf4j:2.0.17=testRuntimeClasspath +org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework.data:spring-data-commons:4.0.1=testCompileClasspath,testRuntimeClasspath +org.springframework.data:spring-data-mongodb:5.0.1=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-aop:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-beans:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-context:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-core:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-expression:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-test:7.0.2=testCompileClasspath,testRuntimeClasspath +org.springframework:spring-tx:7.0.2=testCompileClasspath,testRuntimeClasspath +org.testcontainers:testcontainers:2.0.3=testCompileClasspath,testRuntimeClasspath +empty=annotationProcessor,testAnnotationProcessor diff --git a/test-common/build.gradle b/test-common/build.gradle index b5f850e07..e00fa15a1 100644 --- a/test-common/build.gradle +++ b/test-common/build.gradle @@ -9,9 +9,11 @@ dependencies { api "org.springframework:spring-test:latest.release" api "org.springframework.data:spring-data-mongodb:latest.release" - api group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: 'latest.release' - api group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: 'latest.release' - runtimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: 'latest.release' + implementation platform('org.junit:junit-bom:latest.release') + + api 'org.junit.jupiter:junit-jupiter-api' + api 'org.junit.jupiter:junit-jupiter-params' + api group: 'org.assertj', name: 'assertj-core', version: 'latest.release' api "org.mockito:mockito-core:latest.release" api "org.mockito:mockito-junit-jupiter:latest.release" diff --git a/test-common/gradle.lockfile b/test-common/gradle.lockfile index 64702acb8..dd48657f4 100644 --- a/test-common/gradle.lockfile +++ b/test-common/gradle.lockfile @@ -1,105 +1,73 @@ # This is a Gradle generated file for dependency locking. # Manual edits can break the build and are not advised. # This file is expected to be part of source control. -ch.qos.logback:logback-classic:1.2.10=default -ch.qos.logback:logback-classic:1.3.4=runtimeClasspath,testRuntimeClasspath -ch.qos.logback:logback-core:1.2.10=default -ch.qos.logback:logback-core:1.3.4=runtimeClasspath,testRuntimeClasspath -com.fasterxml.jackson.core:jackson-annotations:2.10.3=testCompileClasspath,testRuntimeClasspath -com.github.docker-java:docker-java-api:3.2.13=testCompileClasspath,testRuntimeClasspath -com.github.docker-java:docker-java-transport-zerodep:3.2.13=testCompileClasspath,testRuntimeClasspath -com.github.docker-java:docker-java-transport:3.2.13=testCompileClasspath,testRuntimeClasspath -com.sun.mail:javax.mail:1.6.2=runtimeClasspath,testRuntimeClasspath -io.netty:netty-buffer:4.1.74.Final=default -io.netty:netty-buffer:4.1.85.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-codec:4.1.74.Final=default -io.netty:netty-codec:4.1.85.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-common:4.1.74.Final=default -io.netty:netty-common:4.1.85.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-handler:4.1.74.Final=default -io.netty:netty-handler:4.1.85.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-resolver:4.1.74.Final=default -io.netty:netty-resolver:4.1.85.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-tcnative-classes:2.0.48.Final=default -io.netty:netty-transport-native-unix-common:4.1.85.Final=runtimeClasspath,testRuntimeClasspath -io.netty:netty-transport:4.1.74.Final=default -io.netty:netty-transport:4.1.85.Final=runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-classic:1.5.23=runtimeClasspath,testRuntimeClasspath +ch.qos.logback:logback-core:1.5.23=runtimeClasspath,testRuntimeClasspath +com.fasterxml.jackson.core:jackson-annotations:2.20=testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-api:3.7.0=testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport-zerodep:3.7.0=testCompileClasspath,testRuntimeClasspath +com.github.docker-java:docker-java-transport:3.7.0=testCompileClasspath,testRuntimeClasspath +commons-codec:commons-codec:1.19.0=testCompileClasspath,testRuntimeClasspath +commons-io:commons-io:2.20.0=testCompileClasspath,testRuntimeClasspath +commons-logging:commons-logging:1.3.5=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.micrometer:micrometer-commons:1.16.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.micrometer:micrometer-observation:1.16.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +io.netty:netty-buffer:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-base:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-compression:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-marshalling:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec-protobuf:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-codec:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-handler:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-resolver:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport-native-unix-common:4.2.9.Final=runtimeClasspath,testRuntimeClasspath +io.netty:netty-transport:4.2.9.Final=runtimeClasspath,testRuntimeClasspath io.projectreactor:reactor-core:3.5.0=runtimeClasspath,testRuntimeClasspath -io.reactivex.rxjava2:rxjava:2.2.21=default -javax.activation:activation:1.1=runtimeClasspath,testRuntimeClasspath -junit:junit:4.13.2=testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.12.16=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy-agent:1.12.7=default -net.bytebuddy:byte-buddy:1.12.16=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -net.bytebuddy:byte-buddy:1.12.7=default -net.java.dev.jna:jna:5.8.0=testCompileClasspath,testRuntimeClasspath -org.apache.commons:commons-compress:1.21=testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy-agent:1.17.7=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.bytebuddy:byte-buddy:1.17.7=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +net.java.dev.jna:jna:5.18.1=testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-compress:1.28.0=testCompileClasspath,testRuntimeClasspath +org.apache.commons:commons-lang3:3.18.0=testCompileClasspath,testRuntimeClasspath org.apiguardian:apiguardian-api:1.1.2=compileClasspath,testCompileClasspath -org.assertj:assertj-core:3.22.0=default -org.assertj:assertj-core:3.23.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testRuntimeClasspath +org.assertj:assertj-core:3.27.6=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.jacoco:org.jacoco.agent:0.8.13=jacocoAgent,jacocoAnt org.jacoco:org.jacoco.ant:0.8.13=jacocoAnt org.jacoco:org.jacoco.core:0.8.13=jacocoAnt org.jacoco:org.jacoco.report:0.8.13=jacocoAnt org.jetbrains:annotations:17.0.0=testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-api:5.8.2=default -org.junit.jupiter:junit-jupiter-api:5.9.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-engine:5.8.2=default -org.junit.jupiter:junit-jupiter-engine:5.9.1=runtimeClasspath,testRuntimeClasspath -org.junit.jupiter:junit-jupiter-params:5.8.2=default -org.junit.jupiter:junit-jupiter-params:5.9.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-commons:1.8.2=default -org.junit.platform:junit-platform-commons:1.9.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.junit.platform:junit-platform-engine:1.8.2=default -org.junit.platform:junit-platform-engine:1.9.1=runtimeClasspath,testRuntimeClasspath -org.junit:junit-bom:5.8.2=default -org.junit:junit-bom:5.9.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-core:4.3.1=default -org.mockito:mockito-core:4.9.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.mockito:mockito-junit-jupiter:4.3.1=default -org.mockito:mockito-junit-jupiter:4.9.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.mongodb:bson-record-codec:4.8.0=runtimeClasspath,testRuntimeClasspath -org.mongodb:bson:3.12.2=default -org.mongodb:bson:4.8.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.mongodb:mongo-java-driver:3.12.10=default -org.mongodb:mongodb-driver-async:3.12.2=default -org.mongodb:mongodb-driver-core:3.12.2=default -org.mongodb:mongodb-driver-core:4.8.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-reactivestreams:1.13.1=default -org.mongodb:mongodb-driver-reactivestreams:4.8.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.mongodb:mongodb-driver-sync:4.8.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.objenesis:objenesis:3.2=default +org.jspecify:jspecify:1.0.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-api:6.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.jupiter:junit-jupiter-engine:6.0.1=testRuntimeClasspath +org.junit.jupiter:junit-jupiter-params:6.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-commons:6.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.junit.platform:junit-platform-engine:6.0.1=testRuntimeClasspath +org.junit.platform:junit-platform-launcher:6.0.1=testRuntimeClasspath +org.junit:junit-bom:6.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-core:5.21.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mockito:mockito-junit-jupiter:5.21.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mongodb:bson-record-codec:5.6.2=runtimeClasspath,testRuntimeClasspath +org.mongodb:bson:5.6.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-core:5.6.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-reactivestreams:5.6.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.mongodb:mongodb-driver-sync:5.6.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.objenesis:objenesis:3.3=runtimeClasspath,testRuntimeClasspath -org.opentest4j:opentest4j:1.2.0=compileClasspath,default,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.opentest4j:opentest4j:1.3.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.ow2.asm:asm-commons:9.8=jacocoAnt org.ow2.asm:asm-tree:9.8=jacocoAnt org.ow2.asm:asm:9.8=jacocoAnt -org.reactivestreams:reactive-streams:1.0.3=default org.reactivestreams:reactive-streams:1.0.4=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath org.rnorth.duct-tape:duct-tape:1.0.8=testCompileClasspath,testRuntimeClasspath -org.slf4j:jcl-over-slf4j:2.0.3=testRuntimeClasspath -org.slf4j:slf4j-api:1.7.36=default -org.slf4j:slf4j-api:2.0.3=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework.data:spring-data-commons:2.2.12.RELEASE=default -org.springframework.data:spring-data-commons:2.7.5=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework.data:spring-data-mongodb:2.2.12.RELEASE=default -org.springframework.data:spring-data-mongodb:3.4.5=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework:spring-aop:5.3.15=default -org.springframework:spring-aop:5.3.23=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework:spring-beans:5.3.15=default -org.springframework:spring-beans:5.3.23=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework:spring-context:5.3.15=default -org.springframework:spring-context:5.3.23=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework:spring-core:5.3.15=default -org.springframework:spring-core:5.3.23=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework:spring-expression:5.3.15=default -org.springframework:spring-expression:5.3.23=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework:spring-jcl:5.3.15=default -org.springframework:spring-jcl:5.3.23=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework:spring-test:5.3.15=default -org.springframework:spring-test:5.3.23=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.springframework:spring-tx:5.2.12.RELEASE=default -org.springframework:spring-tx:5.3.23=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath -org.testcontainers:testcontainers:1.17.5=testCompileClasspath,testRuntimeClasspath -empty=annotationProcessor,archives,compile,compileOnly,runtime,signatures,testAnnotationProcessor,testCompile,testCompileOnly,testRuntime +org.slf4j:jcl-over-slf4j:2.0.17=testRuntimeClasspath +org.slf4j:slf4j-api:2.0.17=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework.data:spring-data-commons:4.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework.data:spring-data-mongodb:5.0.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework:spring-aop:7.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework:spring-beans:7.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework:spring-context:7.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework:spring-core:7.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework:spring-expression:7.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework:spring-test:7.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.springframework:spring-tx:7.0.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath +org.testcontainers:testcontainers:2.0.3=testCompileClasspath,testRuntimeClasspath +empty=annotationProcessor,testAnnotationProcessor diff --git a/test-common/src/main/java/de/bwaldvogel/AbstractReadOnlyProxyTest.java b/test-common/src/main/java/de/bwaldvogel/AbstractReadOnlyProxyTest.java index b8af3fc1a..c594f2e79 100644 --- a/test-common/src/main/java/de/bwaldvogel/AbstractReadOnlyProxyTest.java +++ b/test-common/src/main/java/de/bwaldvogel/AbstractReadOnlyProxyTest.java @@ -91,11 +91,11 @@ void testListDatabaseNames() throws Exception { void testIllegalCommand() throws Exception { assertThatExceptionOfType(MongoException.class) .isThrownBy(() -> readOnlyClient.getDatabase("testdb").runCommand(json("foo:1"))) - .withMessageContaining("Command failed with error 59 (CommandNotFound): 'no such command: 'foo'"); + .withMessageContaining("Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'foo'"); assertThatExceptionOfType(MongoException.class) .isThrownBy(() -> readOnlyClient.getDatabase("bar").runCommand(json("foo:1"))) - .withMessageContaining("Command failed with error 59 (CommandNotFound): 'no such command: 'foo'"); + .withMessageContaining("Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'foo'"); } @Test @@ -133,7 +133,7 @@ void testUpdate() throws Exception { assertThatExceptionOfType(MongoException.class) .isThrownBy(() -> collection.replaceOne(object, newObject)) - .withMessageContaining("Command failed with error 59 (CommandNotFound): 'no such command: 'update'"); + .withMessageContaining("Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'update'"); } @Test @@ -142,7 +142,7 @@ void testUpsert() throws Exception { assertThatExceptionOfType(MongoException.class) .isThrownBy(() -> collection.updateMany(json("{}"), Updates.set("foo", "bar"), new UpdateOptions().upsert(true))) - .withMessageContaining("Command failed with error 59 (CommandNotFound): 'no such command: 'update'"); + .withMessageContaining("Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'update'"); } @Test @@ -159,7 +159,7 @@ void testDropCollection() throws Exception { assertThatExceptionOfType(MongoException.class) .isThrownBy(collection::drop) - .withMessageContaining("Command failed with error 59 (CommandNotFound): 'no such command: 'drop'"); + .withMessageContaining("Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'drop'"); } @Test @@ -193,7 +193,7 @@ void testAggregateWithOut() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error -1: 'Aggregation contains a modifying stage and is therefore not allowed in read-only mode'"); + .withMessageContaining("Command execution failed on MongoDB server with error -1: 'Aggregation contains a modifying stage and is therefore not allowed in read-only mode'"); } } diff --git a/test-common/src/main/java/de/bwaldvogel/mongo/backend/AbstractAggregationTest.java b/test-common/src/main/java/de/bwaldvogel/mongo/backend/AbstractAggregationTest.java index cb2526149..ab6f9e5a7 100644 --- a/test-common/src/main/java/de/bwaldvogel/mongo/backend/AbstractAggregationTest.java +++ b/test-common/src/main/java/de/bwaldvogel/mongo/backend/AbstractAggregationTest.java @@ -46,7 +46,7 @@ void testUnrecognizedAggregatePipelineStage() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 40324 (Location40324): 'Unrecognized pipeline stage name: '$unknown'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40324 (Location40324): 'Unrecognized pipeline stage name: '$unknown'"); } @Test @@ -55,25 +55,25 @@ void testIllegalAggregatePipelineStage() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 40323 (Location40323): 'A pipeline stage specification object must contain exactly one field.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40323 (Location40323): 'A pipeline stage specification object must contain exactly one field.'"); } @Test void testAggregateWithMissingCursor() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(json("aggregate: 'collection', pipeline: [{$match: {}}]"))) - .withMessageContaining("Command failed with error 9 (FailedToParse): 'The 'cursor' option is required, except for aggregate with the explain argument'"); + .withMessageContaining("Command execution failed on MongoDB server with error 9 (FailedToParse): 'The 'cursor' option is required, except for aggregate with the explain argument'"); } @Test void testAggregateWithIllegalPipeline() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(json("aggregate: 'collection', cursor: {}, pipeline: 123"))) - .withMessageContaining("Command failed with error 14 (TypeMismatch): ''pipeline' option must be specified as an array'"); + .withMessageContaining("Command execution failed on MongoDB server with error 14 (TypeMismatch): ''pipeline' option must be specified as an array'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(json("aggregate: 'collection', cursor: {}, pipeline: [1, 2, 3]"))) - .withMessageContaining("Command failed with error 14 (TypeMismatch): 'Each element of the 'pipeline' array must be an object"); + .withMessageContaining("Command execution failed on MongoDB server with error 14 (TypeMismatch): 'Each element of the 'pipeline' array must be an object"); } @Test @@ -230,7 +230,7 @@ void testAggregateWithUnknownGroupOperator() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 15952 (Location15952): 'unknown group operator '$foo''"); + .withMessageContaining("Command execution failed on MongoDB server with error 15952 (Location15952): 'unknown group operator '$foo''"); } @Test @@ -240,7 +240,7 @@ void testAggregateWithTooManyGroupOperators() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 40238 (Location40238): 'The field 'n' must specify one accumulator'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40238 (Location40238): 'The field 'n' must specify one accumulator'"); } @Test @@ -260,7 +260,7 @@ void testAggregateWithMissingIdInGroupSpecification() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 15955 (Location15955): 'a group specification must include an _id'"); + .withMessageContaining("Command execution failed on MongoDB server with error 15955 (Location15955): 'a group specification must include an _id'"); } @Test @@ -408,11 +408,11 @@ void testAggregateWithGroupByIllegalKey() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$group: {_id: '$a.'}")).first()) - .withMessageContaining("Command failed with error 40353 (Location40353): 'FieldPath must not end with a '.'.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40353 (Location40353): 'FieldPath must not end with a '.'.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$group: {_id: '$a..1'}")).first()) - .withMessageContaining("Command failed with error 15998 (Location15998): 'FieldPath field names may not be empty strings.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 15998 (Location15998): 'FieldPath field names may not be empty strings.'"); } @Test @@ -632,16 +632,16 @@ void testAggregateWithNestedInclusiveProjection() throws Exception { private static Stream aggregateWithProjectionArguments() { return Stream.of( Arguments.of("$project: {'x.b': 1, 'x.c': 1, 'x.d': 0, y: 0}", - "Command failed with error 31254 (Location31254): 'Invalid $project :: caused by :: Cannot do exclusion on field x.d in inclusion projection'"), + "Command execution failed on MongoDB server with error 31254 (Location31254): 'Invalid $project :: caused by :: Cannot do exclusion on field x.d in inclusion projection'"), Arguments.of("$project: {_id: 0, v: '$x.1.'}", - "Command failed with error 40353 (Location40353): 'Invalid $project :: caused by :: FieldPath must not end with a '.'.'"), + "Command execution failed on MongoDB server with error 40353 (Location40353): 'Invalid $project :: caused by :: FieldPath must not end with a '.'.'"), Arguments.of("$project: {_id: 0, v: '$x..1'}", - "Command failed with error 15998 (Location15998): 'Invalid $project :: caused by :: FieldPath field names may not be empty strings.'"), + "Command execution failed on MongoDB server with error 15998 (Location15998): 'Invalid $project :: caused by :: FieldPath field names may not be empty strings.'"), Arguments.of("$project: 'abc'", - "Command failed with error 15969 (Location15969): '$project specification must be an object'") + "Command execution failed on MongoDB server with error 15969 (Location15969): '$project specification must be an object'") ); } @@ -717,13 +717,13 @@ void testAggregateWithStrLenExpressionProjection() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {len: {$strLenCP: '$x'}}")).first()) - .withMessageContaining("Command failed with error 34471 (Location34471): " + + .withMessageContaining("Command execution failed on MongoDB server with error 34471 (Location34471): " + "'PlanExecutor error during aggregation :: caused by :: " + "$strLenCP requires a string argument, found: missing'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {len: {$strLenCP: '$b'}}")).first()) - .withMessageContaining("Command failed with error 34471 (Location34471): " + + .withMessageContaining("Command execution failed on MongoDB server with error 34471 (Location34471): " + "'PlanExecutor error during aggregation :: caused by :: " + "$strLenCP requires a string argument, found: int'"); } @@ -748,27 +748,27 @@ void testAggregateWithSubstringExpressionProjection() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {x: {$substr: 'abc'}}")).first()) - .withMessageContaining("Command failed with error 16020 (Location16020): 'Invalid $project :: caused by :: Expression $substrBytes takes exactly 3 arguments. 1 were passed in.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 16020 (Location16020): 'Invalid $project :: caused by :: Expression $substrBytes takes exactly 3 arguments. 1 were passed in.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {x: {$substr: ['abc', 'abc', 3]}}")).first()) - .withMessageContaining("Command failed with error 16034 (Location16034): 'Failed to optimize pipeline :: caused by :: $substrBytes: starting index must be a numeric type (is BSON type string)"); + .withMessageContaining("Command execution failed on MongoDB server with error 16034 (Location16034): 'Failed to optimize pipeline :: caused by :: $substrBytes: starting index must be a numeric type (is BSON type string)"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {x: {$substr: ['abc', 3, 'abc']}}")).first()) - .withMessageContaining("Command failed with error 16035 (Location16035): 'Failed to optimize pipeline :: caused by :: $substrBytes: length must be a numeric type (is BSON type string)"); + .withMessageContaining("Command execution failed on MongoDB server with error 16035 (Location16035): 'Failed to optimize pipeline :: caused by :: $substrBytes: length must be a numeric type (is BSON type string)"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {x: {$substrCP: 'abc'}}")).first()) - .withMessageContaining("Command failed with error 16020 (Location16020): 'Invalid $project :: caused by :: Expression $substrCP takes exactly 3 arguments. 1 were passed in.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 16020 (Location16020): 'Invalid $project :: caused by :: Expression $substrCP takes exactly 3 arguments. 1 were passed in.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {x: {$substrCP: ['abc', 'abc', 3]}}")).first()) - .withMessageContaining("Command failed with error 34450 (Location34450): 'Failed to optimize pipeline :: caused by :: $substrCP: starting index must be a numeric type (is BSON type string)"); + .withMessageContaining("Command execution failed on MongoDB server with error 34450 (Location34450): 'Failed to optimize pipeline :: caused by :: $substrCP: starting index must be a numeric type (is BSON type string)"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {x: {$substrCP: ['abc', 3, 'abc']}}")).first()) - .withMessageContaining("Command failed with error 34452 (Location34452): 'Failed to optimize pipeline :: caused by :: $substrCP: length must be a numeric type (is BSON type string)"); + .withMessageContaining("Command execution failed on MongoDB server with error 34452 (Location34452): 'Failed to optimize pipeline :: caused by :: $substrCP: length must be a numeric type (is BSON type string)"); } @Test @@ -1041,7 +1041,7 @@ void testAggregateWithUndefinedVariable() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 17276 (Location17276): 'Invalid $project :: caused by :: Use of undefined variable: UNDEFINED'"); + .withMessageContaining("Command execution failed on MongoDB server with error 17276 (Location17276): 'Invalid $project :: caused by :: Use of undefined variable: UNDEFINED'"); } // https://github.com/bwaldvogel/mongo-java-server/issues/31 @@ -1063,11 +1063,11 @@ void testAggregateWithRootVariable_IllegalFieldPath() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: '$$ROOT.a.'}")).first()) - .withMessageContaining("Command failed with error 40353 (Location40353): 'Invalid $project :: caused by :: FieldPath must not end with a '.'.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40353 (Location40353): 'Invalid $project :: caused by :: FieldPath must not end with a '.'.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: '$$ROOT.a..1'}")).first()) - .withMessageContaining("Command failed with error 15998 (Location15998): 'Invalid $project :: caused by :: FieldPath field names may not be empty strings.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 15998 (Location15998): 'Invalid $project :: caused by :: FieldPath field names may not be empty strings.'"); } @Test @@ -1409,13 +1409,13 @@ void testAggregateWithLookup_collectionDoesNotExist() { void testAggregateWithIllegalLookupStage() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$lookup: {from: 'coll', let: 'abc', pipeline: [], as: 'data'}")).first()) - .withMessageContaining("Command failed with error 9 (FailedToParse): '$lookup argument 'let: \"abc\"' must be an object, is type string'"); + .withMessageContaining("Command execution failed on MongoDB server with error 9 (FailedToParse): '$lookup argument 'let: \"abc\"' must be an object, is type string'"); collection.insertOne(json("_id: 1")); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$lookup: {from: 'coll', let: {}, pipeline: 'abc', as: 'data'}")).first()) - .withMessageContaining("Command failed with error 14 (TypeMismatch): ''pipeline' option must be specified as an array'"); + .withMessageContaining("Command execution failed on MongoDB server with error 14 (TypeMismatch): ''pipeline' option must be specified as an array'"); } @Test @@ -1503,7 +1503,7 @@ void testAggregateWithIllegalReplaceRoot() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 40228 (Location40228): " + + .withMessageContaining("Command execution failed on MongoDB server with error 40228 (Location40228): " + "'PlanExecutor error during aggregation :: caused by :: 'newRoot' expression must evaluate to an object, but resulting value was: 10." + " Type of resulting value: 'int'.") .withMessageContaining("a: {b: 10}"); @@ -1603,7 +1603,7 @@ void testObjectToArrayExpression() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 40390 (Location40390): 'PlanExecutor error during aggregation :: caused by :: $objectToArray requires a document input, found: int'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40390 (Location40390): 'PlanExecutor error during aggregation :: caused by :: $objectToArray requires a document input, found: int'"); collection.replaceOne(json("_id: 1"), json("_id: 1, value: {a: 1, b: 'foo', c: {x: 10}}")); @@ -1615,7 +1615,7 @@ void testObjectToArrayExpression() throws Exception { Document illegalQuery = json("$project: {_id: 1, a: {$objectToArray: ['$value', 1]}}"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(List.of(illegalQuery)).first()) - .withMessageContaining("Command failed with error 16020 (Location16020): 'Invalid $project :: caused by :: Expression $objectToArray takes exactly 1 arguments. 2 were passed in.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 16020 (Location16020): 'Invalid $project :: caused by :: Expression $objectToArray takes exactly 1 arguments. 2 were passed in.'"); } @Test @@ -1636,35 +1636,35 @@ void testArrayToObjectExpression() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: 1, x: {$arrayToObject: 'illegal-type'}}")).first()) - .withMessageContaining("Command failed with error 40386 (Location40386): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an array input, found: string'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40386 (Location40386): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an array input, found: string'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: 1, x: {$arrayToObject: []}}")).first()) - .withMessageContaining("Command failed with error 16020 (Location16020): 'Invalid $project :: caused by :: Expression $arrayToObject takes exactly 1 arguments. 0 were passed in.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 16020 (Location16020): 'Invalid $project :: caused by :: Expression $arrayToObject takes exactly 1 arguments. 0 were passed in.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: 1, x: {$arrayToObject: {$literal: [['foo']]}}}}")).first()) - .withMessageContaining("Command failed with error 40397 (Location40397): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an array of size 2 arrays,found array of size: 1'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40397 (Location40397): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an array of size 2 arrays,found array of size: 1'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: 1, x: {$arrayToObject: {$literal: [123, 456]}}}}")).first()) - .withMessageContaining("Command failed with error 40398 (Location40398): 'Failed to optimize pipeline :: caused by :: Unrecognised input type format for $arrayToObject: int'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40398 (Location40398): 'Failed to optimize pipeline :: caused by :: Unrecognised input type format for $arrayToObject: int'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: 1, x: {$arrayToObject: {$literal: [[123, 456]]}}}}")).first()) - .withMessageContaining("Command failed with error 40395 (Location40395): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an array of key-value pairs, where the key must be of type string. Found key type: int'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40395 (Location40395): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an array of key-value pairs, where the key must be of type string. Found key type: int'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: 1, x: {$arrayToObject: {$literal: [{}]}}}}")).first()) - .withMessageContaining("Command failed with error 40392 (Location40392): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an object keys of 'k' and 'v'. Found incorrect number of keys:0'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40392 (Location40392): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an object keys of 'k' and 'v'. Found incorrect number of keys:0'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: 1, x: {$arrayToObject: {$literal: [{k: 123, v: 'value'}]}}}}")).first()) - .withMessageContaining("Command failed with error 40394 (Location40394): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an object with keys 'k' and 'v', where the value of 'k' must be of type string. Found type: int'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40394 (Location40394): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an object with keys 'k' and 'v', where the value of 'k' must be of type string. Found type: int'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: {_id: 1, x: {$arrayToObject: {$literal: [{k: 'key', z: 'value'}]}}}}")).first()) - .withMessageContaining("Command failed with error 40393 (Location40393): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an object with keys 'k' and 'v'. Missing either or both keys from: {k: \"key\", z: \"value\"}'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40393 (Location40393): 'Failed to optimize pipeline :: caused by :: $arrayToObject requires an object with keys 'k' and 'v'. Missing either or both keys from: {k: \"key\", z: \"value\"}'"); } @Test @@ -1809,47 +1809,47 @@ void testAggregateWithIllegalBucketStage() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id', boundaries: [100, 200, 400]}")).first()) - .withMessageContaining("Command failed with error 40066 (Location40066): 'PlanExecutor error during aggregation :: caused by :: $switch could not find a matching branch for an input, and no default was specified.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40066 (Location40066): 'PlanExecutor error during aggregation :: caused by :: $switch could not find a matching branch for an input, and no default was specified.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id', boundaries: [0, 400], default: 200}")).first()) - .withMessageContaining("Command failed with error 40199 (Location40199): 'The $bucket 'default' field must be less than the lowest boundary or greater than or equal to the highest boundary.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40199 (Location40199): 'The $bucket 'default' field must be less than the lowest boundary or greater than or equal to the highest boundary.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id', boundaries: [0, 400, 200]}")).first()) - .withMessageContaining("Command failed with error 40194 (Location40194): 'The 'boundaries' option to $bucket must be sorted, but elements 1 and 2 are not in ascending order (400 is not less than 200).'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40194 (Location40194): 'The 'boundaries' option to $bucket must be sorted, but elements 1 and 2 are not in ascending order (400 is not less than 200).'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id', boundaries: [0, 400], output: 'a'}")).first()) - .withMessageContaining("Command failed with error 40196 (Location40196): 'The $bucket 'output' field must be an object, but found type: string.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40196 (Location40196): 'The $bucket 'output' field must be an object, but found type: string.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id', boundaries: [0]}")).first()) - .withMessageContaining("Command failed with error 40192 (Location40192): 'The $bucket 'boundaries' field must have at least 2 values, but found 1 value(s).'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40192 (Location40192): 'The $bucket 'boundaries' field must have at least 2 values, but found 1 value(s).'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id', boundaries: 'abc'}")).first()) - .withMessageContaining("Command failed with error 40200 (Location40200): 'The $bucket 'boundaries' field must be an array, but found type: string."); + .withMessageContaining("Command execution failed on MongoDB server with error 40200 (Location40200): 'The $bucket 'boundaries' field must be an array, but found type: string."); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: [1, 2], boundaries: 'abc'}")).first()) - .withMessageContaining("Command failed with error 40202 (Location40202): 'The $bucket 'groupBy' field must be defined as a $-prefixed path or an expression, but found: [ 1, 2 ].'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40202 (Location40202): 'The $bucket 'groupBy' field must be defined as a $-prefixed path or an expression, but found: [ 1, 2 ].'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id'}")).first()) - .withMessageContaining("Command failed with error 40198 (Location40198): '$bucket requires 'groupBy' and 'boundaries' to be specified.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40198 (Location40198): '$bucket requires 'groupBy' and 'boundaries' to be specified.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {}")).first()) - .withMessageContaining("Command failed with error 40198 (Location40198): '$bucket requires 'groupBy' and 'boundaries' to be specified.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40198 (Location40198): '$bucket requires 'groupBy' and 'boundaries' to be specified.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id', boundaries: ['abc', 123]}")).first()) - .withMessageContaining("Command failed with error 40193 (Location40193): 'All values in the the 'boundaries' option to $bucket must have the same type. Found conflicting types string and int.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40193 (Location40193): 'All values in the the 'boundaries' option to $bucket must have the same type. Found conflicting types string and int.'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$bucket: {groupBy: '$_id', boundaries: [0, null]}")).first()) - .withMessageContaining("Command failed with error 40193 (Location40193): 'All values in the the 'boundaries' option to $bucket must have the same type. Found conflicting types int and null.'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40193 (Location40193): 'All values in the the 'boundaries' option to $bucket must have the same type. Found conflicting types int and null.'"); } @Test @@ -1987,15 +1987,15 @@ void testAggregateWithUnsetStage_illegalInput() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$unset: [123]")).first()) - .withMessageStartingWith("Command failed with error 31120 (Location31120): '$unset specification must be a string or an array containing only string values'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 31120 (Location31120): '$unset specification must be a string or an array containing only string values'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$unset: ['']")).first()) - .withMessageStartingWith("Command failed with error 40352 (Location40352): 'Invalid $unset :: caused by :: FieldPath cannot be constructed with empty string'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 40352 (Location40352): 'Invalid $unset :: caused by :: FieldPath cannot be constructed with empty string'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$unset: ['field1', 123]")).first()) - .withMessageStartingWith("Command failed with error 31120 (Location31120): '$unset specification must be a string or an array containing only string values'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 31120 (Location31120): '$unset specification must be a string or an array containing only string values'"); } @Test @@ -2065,11 +2065,11 @@ void testAggregateWithOut_illegal() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$out : 'some$collection'")).first()) - .withMessageContaining("Command failed with error 20 (IllegalOperation): 'PlanExecutor error during aggregation :: caused by :: error with target namespace: Invalid collection name: some$collection'"); + .withMessageContaining("Command execution failed on MongoDB server with error 20 (IllegalOperation): 'PlanExecutor error during aggregation :: caused by :: error with target namespace: Invalid collection name: some$collection'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$out : 'one'", "$out : 'other'")).first()) - .withMessageContaining("Command failed with error 40601 (Location40601): '$out can only be the final stage in the pipeline'"); + .withMessageContaining("Command execution failed on MongoDB server with error 40601 (Location40601): '$out can only be the final stage in the pipeline'"); } // Testing the official example from https://www.mongodb.com/docs/manual/reference/operator/aggregation/merge/ (2022-11-22) @@ -2321,7 +2321,7 @@ void testAggregateWithMerge_whenMatched_fail() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$merge: { into: 'other', whenMatched: 'fail' }")).first()) - .withMessageStartingWith("Command failed with error 11000 (DuplicateKey): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 11000 (DuplicateKey): " + "'PlanExecutor error during aggregation :: caused by :: " + "E11000 duplicate key error collection: testdb.other index: _id_ dup key: { _id: 1 }'"); } @@ -2336,7 +2336,7 @@ void testAggregateWithMerge_whenNotMatched_fail() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$merge: { into: 'other', whenNotMatched: 'fail' }")).first()) - .withMessageStartingWith("Command failed with error 13113 (MergeStageNoMatchingDocument): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 13113 (MergeStageNoMatchingDocument): " + "'PlanExecutor error during aggregation :: caused by :: " + "$merge could not find a matching document in the target collection for at least one document in the source collection'"); } @@ -2425,7 +2425,7 @@ void testAggregateWithMerge_idMustNotBeModified_merge() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$merge: { into: 'other', on: 'name' }")).first()) - .withMessageStartingWith("Command failed with error 66 (ImmutableField): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 66 (ImmutableField): " + "'PlanExecutor error during aggregation :: caused by :: " + "$merge failed to update the matching document, did you attempt to modify the _id or the shard key? :: caused by :: " + "Performing an update on the path '_id' would modify the immutable field '_id''"); @@ -2451,7 +2451,7 @@ void testAggregateWithMerge_idMustNotBeModified_replace() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$merge: { into: 'other', on: 'name', whenMatched: 'replace' }")).first()) - .withMessageStartingWith("Command failed with error 66 (ImmutableField): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 66 (ImmutableField): " + "'PlanExecutor error during aggregation :: caused by :: " + "$merge failed to update the matching document, did you attempt to modify the _id or the shard key? :: caused by :: " + "After applying the update, the (immutable) field '_id' was found to have been altered to _id: 1'"); @@ -2463,7 +2463,7 @@ void testAggregateWithMerge_onWithoutUniqueIndex() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$merge: { into: 'other', on: 'xyz' }")).first()) - .withMessageStartingWith("Command failed with error 51183 (Location51183): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 51183 (Location51183): " + "'Cannot find index to verify that join fields will be unique'"); } @@ -2474,7 +2474,7 @@ void testAggregateWithMerge_onWithIndexWhichIsNotUnique() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$merge: { into: '" + collection.getNamespace().getCollectionName() + "', on: 'xyz' }")).first()) - .withMessageStartingWith("Command failed with error 51183 (Location51183): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 51183 (Location51183): " + "'Cannot find index to verify that join fields will be unique'"); } @@ -2552,13 +2552,13 @@ private static Stream aggregateWithMerge_illegalParametersArguments() "Cannot return a cursor when the value for $merge stage is not a string or a document"), Arguments.of("$merge: { otherParam: 1 }", MongoCommandException.class, - "Command failed with error 40415 (Location40415): 'BSON field '$merge.otherParam' is an unknown field.'"), + "Command execution failed on MongoDB server with error 40415 (Location40415): 'BSON field '$merge.otherParam' is an unknown field.'"), Arguments.of("$merge: { into: {} }", BsonInvalidOperationException.class, "Document does not contain key coll"), Arguments.of("$merge: { into: { coll: 'abc', other: 1} }", MongoCommandException.class, - "Command failed with error 40415 (Location40415): 'BSON field 'into.other' is an unknown field.'"), + "Command execution failed on MongoDB server with error 40415 (Location40415): 'BSON field 'into.other' is an unknown field.'"), Arguments.of("$merge: { into: { coll: 1} }", BsonInvalidOperationException.class, "Value expected to be of type STRING is of unexpected type INT32"), @@ -2567,49 +2567,49 @@ private static Stream aggregateWithMerge_illegalParametersArguments() "Value expected to be of type STRING is of unexpected type INT32"), Arguments.of("$merge: { into: 'abc', on: 1 }", MongoCommandException.class, - "Command failed with error 51186 (Location51186): '$merge 'on' field must be either a string or an array of strings, but found int'"), + "Command execution failed on MongoDB server with error 51186 (Location51186): '$merge 'on' field must be either a string or an array of strings, but found int'"), Arguments.of("$merge: { into: 'abc', on: [1, 2, 3] }", MongoCommandException.class, - "Command failed with error 51134 (Location51134): '$merge 'on' array elements must be strings, but found int'"), + "Command execution failed on MongoDB server with error 51134 (Location51134): '$merge 'on' array elements must be strings, but found int'"), Arguments.of("$merge: { into: 'abc', let: 1 }", MongoCommandException.class, - "Command failed with error 14 (TypeMismatch): 'BSON field '$merge.let' is the wrong type 'int', expected type 'object''"), + "Command execution failed on MongoDB server with error 14 (TypeMismatch): 'BSON field '$merge.let' is the wrong type 'int', expected type 'object''"), Arguments.of("$merge: { into: 'abc', let: [] }", MongoCommandException.class, - "Command failed with error 14 (TypeMismatch): 'BSON field '$merge.let' is the wrong type 'array', expected type 'object''"), + "Command execution failed on MongoDB server with error 14 (TypeMismatch): 'BSON field '$merge.let' is the wrong type 'array', expected type 'object''"), Arguments.of("$merge: { into: 'abc', let: {} }", MongoCommandException.class, - "Command failed with error 51199 (Location51199): 'Cannot use 'let' variables with 'whenMatched: merge' mode'"), + "Command execution failed on MongoDB server with error 51199 (Location51199): 'Cannot use 'let' variables with 'whenMatched: merge' mode'"), Arguments.of("$merge: { into: 'abc', let: {new: 1}, whenMatched: [] }", MongoCommandException.class, - "Command failed with error 51273 (Location51273): ''let' may not define a value for the reserved 'new' variable other than '$$ROOT''"), + "Command execution failed on MongoDB server with error 51273 (Location51273): ''let' may not define a value for the reserved 'new' variable other than '$$ROOT''"), Arguments.of("$merge: { into: 'abc', on: ['a', 'b', 'a'] }", MongoCommandException.class, - "Command failed with error 31465 (Location31465): 'Found a duplicate field 'a''"), + "Command execution failed on MongoDB server with error 31465 (Location31465): 'Found a duplicate field 'a''"), Arguments.of("$merge: { into: 'abc', on: [] }", MongoCommandException.class, - "Command failed with error 51187 (Location51187): 'If explicitly specifying $merge 'on', must include at least one field'"), + "Command execution failed on MongoDB server with error 51187 (Location51187): 'If explicitly specifying $merge 'on', must include at least one field'"), Arguments.of("$merge: { into: 'abc', whenMatched: 1 }", MongoCommandException.class, - "Command failed with error 51191 (Location51191): '$merge 'whenMatched' field must be either a string or an array, but found int'"), + "Command execution failed on MongoDB server with error 51191 (Location51191): '$merge 'whenMatched' field must be either a string or an array, but found int'"), Arguments.of("$merge: { into: 'abc', whenMatched: 'other' }", MongoCommandException.class, - "Command failed with error 2 (BadValue): 'Enumeration value 'other' for field 'whenMatched' is not a valid value.'"), + "Command execution failed on MongoDB server with error 2 (BadValue): 'Enumeration value 'other' for field 'whenMatched' is not a valid value.'"), Arguments.of("$merge: { into: 'abc', whenMatched: ['a', 'b'] }", MongoCommandException.class, - "Command failed with error 14 (TypeMismatch): 'Each element of the 'pipeline' array must be an object'"), + "Command execution failed on MongoDB server with error 14 (TypeMismatch): 'Each element of the 'pipeline' array must be an object'"), Arguments.of("$merge: { into: 'abc', whenMatched: [{$sort: {a: 1}}] }", MongoCommandException.class, - "Command failed with error 72 (InvalidOptions): 'PlanExecutor error during aggregation :: caused by :: $sort is not allowed to be used within an update'"), + "Command execution failed on MongoDB server with error 72 (InvalidOptions): 'PlanExecutor error during aggregation :: caused by :: $sort is not allowed to be used within an update'"), Arguments.of("$merge: { into: 'abc', whenNotMatched: 1 }", MongoCommandException.class, - "Command failed with error 14 (TypeMismatch): 'BSON field '$merge.whenNotMatched' is the wrong type 'int', expected type 'string''"), + "Command execution failed on MongoDB server with error 14 (TypeMismatch): 'BSON field '$merge.whenNotMatched' is the wrong type 'int', expected type 'string''"), Arguments.of("$merge: { into: 'abc', whenNotMatched: 'other' }", MongoCommandException.class, - "Command failed with error 2 (BadValue): 'Enumeration value 'other' for field '$merge.whenNotMatched' is not a valid value.'"), + "Command execution failed on MongoDB server with error 2 (BadValue): 'Enumeration value 'other' for field '$merge.whenNotMatched' is not a valid value.'"), Arguments.of("$merge: { into: 1 }", MongoCommandException.class, - "Command failed with error 51178 (Location51178): '$merge 'into' field must be either a string or an object, but found int'") + "Command execution failed on MongoDB server with error 51178 (Location51178): '$merge 'into' field must be either a string or an object, but found int'") ); } @@ -2632,7 +2632,7 @@ void testAggregateWithMerge_mergeIsNotTheLastStage() throws Exception { "$merge: { into: 'other' }", "$project : { _id: 0 }" )).first()) - .withMessageStartingWith("Command failed with error 40601 (Location40601): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 40601 (Location40601): " + "'$merge can only be the final stage in the pipeline'"); } @@ -2682,17 +2682,17 @@ void testAggregateWithRand_illegalArguments() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: { r: {$rand: {a: 1}}}")).first()) - .withMessageStartingWith("Command failed with error 3040501 (Location3040501): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 3040501 (Location3040501): " + "'Invalid $project :: caused by :: $rand does not currently accept arguments'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: { r: {$rand: [{}, {}]}}")).first()) - .withMessageStartingWith("Command failed with error 3040501 (Location3040501): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 3040501 (Location3040501): " + "'Invalid $project :: caused by :: $rand does not currently accept arguments'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$project: { r: {$rand: null}}")).first()) - .withMessageStartingWith("Command failed with error 10065 (Location10065): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 10065 (Location10065): " + "'Invalid $project :: caused by :: invalid parameter: expected an object ($rand)'"); assertThat(collection.aggregate(jsonList("$project: { r: {$rand: []}}"))) @@ -2740,7 +2740,7 @@ public void testAggregateWithGeoNear() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error -1: '$geoNear is not yet implemented. See https://github.com/bwaldvogel/mongo-java-server/issues/138'"); + .withMessageContaining("Command execution failed on MongoDB server with error -1: '$geoNear is not yet implemented. See https://github.com/bwaldvogel/mongo-java-server/issues/138'"); } private static Stream aggregateWithToDoubleArguments() { @@ -2789,7 +2789,7 @@ void testAggregateWithConvertToDouble_illegalValue(Object given, String expected assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 241 (ConversionFailure): " + expectedMessagePart); + .withMessageContaining("Command execution failed on MongoDB server with error 241 (ConversionFailure): " + expectedMessagePart); } private static Stream aggregateWithToDateArguments() { @@ -2843,7 +2843,7 @@ void testAggregateWithConvertToDate_illegalValue(Object given, String expectedMe assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 241 (ConversionFailure): " + expectedMessagePart); + .withMessageContaining("Command execution failed on MongoDB server with error 241 (ConversionFailure): " + expectedMessagePart); } private static Stream aggregateWithToIntArguments() { @@ -2888,7 +2888,7 @@ void testAggregateWithConvertToInt_illegalValue(Object given, String expectedMes assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 241 (ConversionFailure): " + expectedMessagePart); + .withMessageContaining("Command execution failed on MongoDB server with error 241 (ConversionFailure): " + expectedMessagePart); } private static Stream aggregateWithToBoolArguments() { @@ -2978,7 +2978,7 @@ void testAggregateWithConvertToLong_illegalValue(Object given, String expectedMe assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 241 (ConversionFailure): " + expectedMessagePart); + .withMessageContaining("Command execution failed on MongoDB server with error 241 (ConversionFailure): " + expectedMessagePart); } private static Stream aggregateWithToObjectIdArguments() { @@ -3022,7 +3022,7 @@ void testAggregateWithConvertToObjectId_illegalValue(Object given, String expect assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageContaining("Command failed with error 241 (ConversionFailure): " + expectedMessagePart); + .withMessageContaining("Command execution failed on MongoDB server with error 241 (ConversionFailure): " + expectedMessagePart); } private static Stream aggregateWithConvertArguments() { @@ -3089,25 +3089,25 @@ void testAggregateWithConvert_indirect(String given, Object expected) throws Exc private static Stream aggregateWithConvertArguments_illegalValue() { return Stream.of( Arguments.of("input: 123, to: 'unknown'", - "Command failed with error 2 (BadValue): 'Failed to optimize pipeline :: caused by :: Unknown type name: unknown'"), + "Command execution failed on MongoDB server with error 2 (BadValue): 'Failed to optimize pipeline :: caused by :: Unknown type name: unknown'"), Arguments.of("input: 123, to: 12.5", - "Command failed with error 9 (FailedToParse): 'Failed to optimize pipeline :: caused by :: In $convert, numeric 'to' argument is not an integer'"), + "Command execution failed on MongoDB server with error 9 (FailedToParse): 'Failed to optimize pipeline :: caused by :: In $convert, numeric 'to' argument is not an integer'"), Arguments.of("input: 123, to: [1, 2]", - "Command failed with error 9 (FailedToParse): 'Failed to optimize pipeline :: caused by :: $convert's 'to' argument must be a string or number, but is array'"), + "Command execution failed on MongoDB server with error 9 (FailedToParse): 'Failed to optimize pipeline :: caused by :: $convert's 'to' argument must be a string or number, but is array'"), Arguments.of("x: 123", - "Command failed with error 9 (FailedToParse): 'Invalid $project :: caused by :: $convert found an unknown argument: x'"), + "Command execution failed on MongoDB server with error 9 (FailedToParse): 'Invalid $project :: caused by :: $convert found an unknown argument: x'"), Arguments.of("to: 'int'", - "Command failed with error 9 (FailedToParse): 'Invalid $project :: caused by :: Missing 'input' parameter to $convert'"), + "Command execution failed on MongoDB server with error 9 (FailedToParse): 'Invalid $project :: caused by :: Missing 'input' parameter to $convert'"), Arguments.of("input: 123, onError: 123", - "Command failed with error 9 (FailedToParse): 'Invalid $project :: caused by :: Missing 'to' parameter to $convert'"), + "Command execution failed on MongoDB server with error 9 (FailedToParse): 'Invalid $project :: caused by :: Missing 'to' parameter to $convert'"), Arguments.of("input: 123, to: 'int', onElse: 123", - "Command failed with error 9 (FailedToParse): 'Invalid $project :: caused by :: $convert found an unknown argument: onElse'") + "Command execution failed on MongoDB server with error 9 (FailedToParse): 'Invalid $project :: caused by :: $convert found an unknown argument: onElse'") ); } @@ -3134,7 +3134,7 @@ void testAggregateWithConvert_noDocument() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(pipeline).first()) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): 'Invalid $project :: caused by :: $convert expects an object of named arguments but found: int'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): 'Invalid $project :: caused by :: $convert expects an object of named arguments but found: int'"); } @Test @@ -3169,31 +3169,31 @@ void testSampleAggregation_illegalParameters() throws Exception { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$sample: 3}")).first()) - .withMessageStartingWith("Command failed with error 28745 (Location28745): 'the $sample stage specification must be an object'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 28745 (Location28745): 'the $sample stage specification must be an object'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$sample: [1, 2]}")).first()) - .withMessageStartingWith("Command failed with error 28745 (Location28745): 'the $sample stage specification must be an object'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 28745 (Location28745): 'the $sample stage specification must be an object'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$sample: { size: 'a' }}")).first()) - .withMessageStartingWith("Command failed with error 28746 (Location28746): 'size argument to $sample must be a number'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 28746 (Location28746): 'size argument to $sample must be a number'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$sample: { size: null }}")).first()) - .withMessageStartingWith("Command failed with error 28746 (Location28746): 'size argument to $sample must be a number'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 28746 (Location28746): 'size argument to $sample must be a number'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$sample: { size: -1 }}")).first()) - .withMessageStartingWith("Command failed with error 28747 (Location28747): 'size argument to $sample must not be negative'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 28747 (Location28747): 'size argument to $sample must not be negative'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$sample: { size: 1, bla: 2}}")).first()) - .withMessageStartingWith("Command failed with error 28748 (Location28748): 'unrecognized option to $sample: bla'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 28748 (Location28748): 'unrecognized option to $sample: bla'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.aggregate(jsonList("$sample: {}}")).first()) - .withMessageStartingWith("Command failed with error 28749 (Location28749): '$sample stage must specify a size'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 28749 (Location28749): '$sample stage must specify a size'"); } private static Function withSortedStringList(String key) { diff --git a/test-common/src/main/java/de/bwaldvogel/mongo/backend/AbstractBackendTest.java b/test-common/src/main/java/de/bwaldvogel/mongo/backend/AbstractBackendTest.java index 913574baa..40314f0ba 100755 --- a/test-common/src/main/java/de/bwaldvogel/mongo/backend/AbstractBackendTest.java +++ b/test-common/src/main/java/de/bwaldvogel/mongo/backend/AbstractBackendTest.java @@ -284,7 +284,7 @@ public void testCursor_iteratingACursorThatNoLongerExists() { assertThatExceptionOfType(MongoCursorNotFoundException.class) .isThrownBy(cursor::next) - .withMessageMatching("Command failed with error 43 \\(CursorNotFound\\): 'Cursor id \\d+ does not exist'.+"); + .withMessageMatching("Command execution failed on MongoDB server with error 43 \\(CursorNotFound\\): 'Cursor id \\d+ does not exist'.+"); } @Test @@ -332,7 +332,7 @@ void testCreateCappedCollection_invalidOptions() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.createCollection("some-collection", new CreateCollectionOptions().capped(true))) - .withMessageStartingWith("Command failed with error 72 (InvalidOptions): 'the 'size' field is required when 'capped' is true'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 72 (InvalidOptions): 'the 'size' field is required when 'capped' is true'"); } @Test @@ -341,7 +341,7 @@ void testCreateCollectionAlreadyExists() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.createCollection("some-collection", new CreateCollectionOptions())) - .withMessageStartingWith("Command failed with error 48 (NamespaceExists): 'Collection already exists. NS: testdb.some-collection'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 48 (NamespaceExists): 'Collection already exists. NS: testdb.some-collection'"); } @Test @@ -414,7 +414,7 @@ public void testGetLogStartupWarnings() { void testGetLogWhichDoesNotExist() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> runCommand(json("getLog: 'illegal'"))) - .withMessageStartingWith("Command failed with error -1: 'no RamLog named: illegal'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error -1: 'no RamLog named: illegal'"); } @Test @@ -595,7 +595,7 @@ void testDropAndRecreateIndex() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.dropIndex(new Document("n", 1))) - .withMessageStartingWith("Command failed with error 27 (IndexNotFound): 'can't find index with key: { n: 1 }'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 27 (IndexNotFound): 'can't find index with key: { n: 1 }'"); assertMongoWriteException(() -> collection.insertOne(json("_id: 2, c: 10")), 11000, "DuplicateKey", "E11000 duplicate key error collection: testdb.testcoll index: c_1 dup key: { c: 10 }"); @@ -604,7 +604,7 @@ void testDropAndRecreateIndex() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.dropIndex(new Document("c", 1))) - .withMessageStartingWith("Command failed with error 27 (IndexNotFound): 'can't find index with key: { c: 1 }'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 27 (IndexNotFound): 'can't find index with key: { c: 1 }'"); assertThat(collection.listIndexes()) .containsExactlyInAnyOrder( @@ -673,7 +673,7 @@ void testDropIndex_string() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.dropIndex(indexName)) - .withMessageStartingWith("Command failed with error 27 (IndexNotFound): 'index not found with name [c_1]'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 27 (IndexNotFound): 'index not found with name [c_1]'"); } // https://github.com/bwaldvogel/mongo-java-server/issues/184 @@ -830,11 +830,11 @@ void testDeleteDecrementsCount() { void testDeleteInSystemNamespace() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> getCollection("system.foobar").deleteOne(json(""))) - .withMessageStartingWith("Command failed with error 73 (InvalidNamespace): 'Invalid system namespace: testdb.system.foobar'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 73 (InvalidNamespace): 'Invalid system namespace: testdb.system.foobar'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> getCollection("system.namespaces").deleteOne(json(""))) - .withMessageStartingWith("Command failed with error 73 (InvalidNamespace): 'Invalid system namespace: testdb.system.namespaces'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 73 (InvalidNamespace): 'Invalid system namespace: testdb.system.namespaces'"); } @Test @@ -1039,25 +1039,25 @@ public void testTypeMatching() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("n: {$type: []}")).first()) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): 'n must match at least one type'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): 'n must match at least one type'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("'a.b.c': {$type: []}")).first()) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): 'a.b.c must match at least one type'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): 'a.b.c must match at least one type'"); assertThat(collection.find(json("a: {b: {$type: []}}"))).isEmpty(); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("n: {$type: 'abc'}")).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): 'Unknown type name alias: abc'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): 'Unknown type name alias: abc'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("n: {$type: null}")).first()) - .withMessageStartingWith("Command failed with error 14 (TypeMismatch): 'type must be represented as a number or a string'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 14 (TypeMismatch): 'type must be represented as a number or a string'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: {$type: 16.3}")).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): 'Invalid numerical type code: 16.3'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): 'Invalid numerical type code: 16.3'"); } @Test @@ -1155,7 +1155,7 @@ void testAddIndexAgainWithDifferentOptions() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.createIndex(json("a: 1"), new IndexOptions().unique(true).sparse(true))) - .withMessageStartingWith("Command failed with error 86 (IndexKeySpecsConflict): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 86 (IndexKeySpecsConflict): " + "'An existing index has the same name as the requested index. " + "When index names are not specified, they are auto generated and can cause conflicts. " + "Please refer to our documentation. " + @@ -1211,7 +1211,7 @@ void testFindAndModifyCommandEmpty() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(cmd)) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): 'Either an update or remove=true must be specified'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): 'Either an update or remove=true must be specified'"); } @Test @@ -1226,7 +1226,7 @@ void testFindAndModifyCommandIllegalOp() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(cmd)) - .withMessageStartingWith("Command failed with error 66 (ImmutableField): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 66 (ImmutableField): " + "'Plan executor error during findAndModify :: caused by :: " + "Performing an update on the path '_id' would modify the immutable field '_id'"); } @@ -1253,7 +1253,7 @@ void testFindAndModifyCommand_UpdateSameFields() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate(json("_id: 1"), json("$inc: {x: 0, a: 1}, $set: {a: 2}"))) - .withMessageStartingWith("Command failed with error 40 (ConflictingUpdateOperators): 'Updating the path 'a' would create a conflict at 'a'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 40 (ConflictingUpdateOperators): 'Updating the path 'a' would create a conflict at 'a'"); } // https://github.com/bwaldvogel/mongo-java-server/issues/75 @@ -1263,11 +1263,11 @@ void testFindAndModifyCommand_UpdateFieldAndItsSubfield() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate(json("_id: 1"), json("$set: {'x': 1, 'a.b': {c: 1}}, $inc: {'a.b.c': 1}"))) - .withMessageStartingWith("Command failed with error 40 (ConflictingUpdateOperators): 'Updating the path 'a.b.c' would create a conflict at 'a.b'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 40 (ConflictingUpdateOperators): 'Updating the path 'a.b.c' would create a conflict at 'a.b'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate(json("_id: 1"), json("$set: {'x': 1, 'a.b.c': 1}, $unset: {'a.b': 1}"))) - .withMessageStartingWith("Command failed with error 40 (ConflictingUpdateOperators): 'Updating the path 'a.b' would create a conflict at 'a.b'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 40 (ConflictingUpdateOperators): 'Updating the path 'a.b' would create a conflict at 'a.b'"); } @Test @@ -1276,7 +1276,7 @@ void testFindOneAndUpdateError() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate(json("_id: 1"), json("$inc: {_id: 1}"))) - .withMessageStartingWith("Command failed with error 66 (ImmutableField): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 66 (ImmutableField): " + "'Plan executor error during findAndModify :: caused by ::" + " Performing an update on the path '_id' would modify the immutable field '_id'"); } @@ -1588,7 +1588,7 @@ void testFindOneAndUpdate_IllegalArrayFilters() { json("_id: 1"), json("$set: {'grades': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("element: {$gte: 100}"))))) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): 'The array filter for identifier 'element' was not used in the update { $set: { grades: \"abc\" } }'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): 'The array filter for identifier 'element' was not used in the update { $set: { grades: \"abc\" } }'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate( @@ -1598,28 +1598,28 @@ void testFindOneAndUpdate_IllegalArrayFilters() { json("element: {$gte: 100}"), json("element: {$lt: 100}") )))) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): 'Found multiple array filters with the same top-level field name element'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): 'Found multiple array filters with the same top-level field name element'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate( json("_id: 1"), json("$set: {'grades.$[element]': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("a: {$gte: 100}, b: {$gte: 100}, c: {$gte: 10}"))))) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): 'Error parsing array filter :: caused by :: Expected a single top-level field name, found 'a' and 'b'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): 'Error parsing array filter :: caused by :: Expected a single top-level field name, found 'a' and 'b'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate( json("_id: 1"), json("$set: {'grades.$[element]': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json(""))))) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): 'Cannot use an expression without a top-level field name in arrayFilters'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): 'Cannot use an expression without a top-level field name in arrayFilters'"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate( json("_id: 1"), json("$set: {'grades.$[element]': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("element: {$gte: 100}"))))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot apply array updates to non-array element grades: \"abc\"'"); @@ -1628,7 +1628,7 @@ void testFindOneAndUpdate_IllegalArrayFilters() { json("_id: 1"), json("$set: {'$[element]': 10}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("element: 2"))))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Cannot have array filter identifier (i.e. '$[]') element in the first position in path '$[element]'"); assertThatExceptionOfType(MongoCommandException.class) @@ -1636,7 +1636,7 @@ void testFindOneAndUpdate_IllegalArrayFilters() { json("_id: 1"), json("$set: {'grades.subGrades.$[element]': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("element: {$gte: 100}"))))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Plan executor error during findAndModify :: caused by :: " + "The path 'grades.subGrades' must exist in the document in order to apply array updates.'"); @@ -1645,7 +1645,7 @@ void testFindOneAndUpdate_IllegalArrayFilters() { json("_id: 1"), json("$set: {'grades.$[some value]': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("'some value': {$gte: 100}"))))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Error parsing array filter :: caused by :: " + "The top-level field name must be an alphanumeric string beginning with a lowercase letter, found 'some value''"); @@ -1654,7 +1654,7 @@ void testFindOneAndUpdate_IllegalArrayFilters() { json("_id: 1"), json("$set: {'a.b.$[x]': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("x: {$gte: 100}"))))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot apply array updates to non-array element b: 123'"); @@ -1663,7 +1663,7 @@ void testFindOneAndUpdate_IllegalArrayFilters() { json("_id: 1"), json("$set: {'grades': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("'a.b': 10, b: 12"))))) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): " + "'Error parsing array filter :: caused by :: " + "Expected a single top-level field name, found 'a' and 'b''"); @@ -1675,7 +1675,7 @@ void testFindOneAndUpdate_IllegalArrayFilters() { json("'a.b': 10"), json("'a.c': 10") )))) - .withMessageStartingWith("Command failed with error 9 (FailedToParse): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 9 (FailedToParse): " + "'Found multiple array filters with the same top-level field name a'"); } @@ -1690,7 +1690,7 @@ void testFindOneAndUpdate_IllegalArrayFiltersPaths() { json("_id: 1"), json("$set: {'a.b.$[x].c': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("x: {$gt: 1}"))))) - .withMessageStartingWith("Command failed with error 28 (PathNotViable): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28 (PathNotViable): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot create field 'c' in element {1: 2}"); @@ -1699,7 +1699,7 @@ void testFindOneAndUpdate_IllegalArrayFiltersPaths() { json("_id: 1"), json("$set: {'a.b.$[x].c.d': 'abc'}"), new FindOneAndUpdateOptions().arrayFilters(List.of(json("x: {$gt: 1}"))))) - .withMessageStartingWith("Command failed with error 28 (PathNotViable): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28 (PathNotViable): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot create field 'c' in element {1: 2}"); @@ -1707,7 +1707,7 @@ void testFindOneAndUpdate_IllegalArrayFiltersPaths() { .isThrownBy(() -> collection.findOneAndUpdate( json("_id: 2"), json("$set: {'a.b.$[].c.$[]': 'abc'}"))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot apply array updates to non-array element c: 1"); @@ -1715,7 +1715,7 @@ void testFindOneAndUpdate_IllegalArrayFiltersPaths() { .isThrownBy(() -> collection.findOneAndUpdate( json("_id: 3"), json("$set: {'a.b.$[].0.c': 'abc'}"))) - .withMessageStartingWith("Command failed with error 28 (PathNotViable): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28 (PathNotViable): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot create field 'c' in element {0: [ 1, 2 ]}"); @@ -1723,7 +1723,7 @@ void testFindOneAndUpdate_IllegalArrayFiltersPaths() { .isThrownBy(() -> collection.findOneAndUpdate( json("_id: 3"), json("$set: {'a.b.$[].0.$[].c': 'abc'}"))) - .withMessageStartingWith("Command failed with error 28 (PathNotViable): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28 (PathNotViable): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot create field 'c' in element {0: 1}"); } @@ -1963,14 +1963,14 @@ void testIdNotAllowedToBeUpdated() { void testIllegalCommand() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(json("foo: 1"))) - .withMessageStartingWith("Command failed with error 59 (CommandNotFound): 'no such command: 'foo'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'foo'"); } @Test public void testCommandThatTriggersAnInternalException() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(json("triggerInternalException: 1"))) - .withMessageStartingWith("Command failed with error -1: 'Unknown error: For testing purposes'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error -1: 'Unknown error: For testing purposes'"); } @Test @@ -2223,14 +2223,14 @@ void testQueryWithDotNotationFieldSelector() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: 1")).projection(json("'foo..': 1")).first()) - .withMessageStartingWith("Command failed with error 40353 (Location40353): 'FieldPath must not end with a '.'.'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 40353 (Location40353): 'FieldPath must not end with a '.'.'"); obj = collection.find(json("_id: 2")).projection(json("'foo.a.b': 1, 'foo.b': 1, 'foo.c.d': 1")).first(); assertThat(obj).isEqualTo(json("_id: 2, foo: {b: null}")); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: 2")).projection(json("'foo.a.b': 1, 'foo.b': 1, 'foo.c': 1, 'foo.c.d': 1")).first()) - .withMessageStartingWith("Command failed with error 31249 (Location31249): 'Path collision at foo.c.d remaining portion c.d'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 31249 (Location31249): 'Path collision at foo.c.d remaining portion c.d'"); obj = collection.find(json("_id: 2")).projection(json("'foo.a': 1")).first(); assertThat(obj).isEqualTo(json("_id: 2, foo: {a: null}")); @@ -2517,7 +2517,7 @@ void testPing() { void testReplSetGetStatus() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> runCommand("replSetGetStatus")) - .withMessageStartingWith("Command failed with error 76 (NoReplicationEnabled): 'not running with --replSet'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 76 (NoReplicationEnabled): 'not running with --replSet'"); } @Test @@ -4560,7 +4560,7 @@ void testRenameCollection_targetAlreadyExists() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.renameCollection(new MongoNamespace(db.getName(), "other-collection-name"))) - .withMessageStartingWith("Command failed with error 48 (NamespaceExists): 'target namespace exists'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 48 (NamespaceExists): 'target namespace exists'"); assertThat(db.listCollectionNames()) .containsExactlyInAnyOrder(getCollectionName(), "other-collection-name"); @@ -4655,7 +4655,7 @@ void testFieldSelection_selectAndDeselectFields() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(new Document()).projection(json("visits: 0, eid: 1")).first()) - .withMessageStartingWith("Command failed with error 31253 (Location31253): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 31253 (Location31253): " + "'Cannot do inclusion on field eid in exclusion projection'"); } @@ -4762,7 +4762,7 @@ void testQueryWithIllegalReference() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("ref: {$ref: 'coll'}")).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): 'unknown operator: $ref'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): 'unknown operator: $ref'"); } @Test @@ -4771,15 +4771,15 @@ void testAndOrNorWithEmptyArray() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(and()).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): '$and/$or/$nor must be a nonempty array'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): '$and/$or/$nor must be a nonempty array'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(nor()).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): '$and/$or/$nor must be a nonempty array'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): '$and/$or/$nor must be a nonempty array'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(or()).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): '$and/$or/$nor must be a nonempty array'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): '$and/$or/$nor must be a nonempty array'"); } @Test @@ -5125,32 +5125,32 @@ void testProjectionWithSlice() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: 1")).projection(json("values: {$slice: ['a', 'b']}")).first()) - .withMessageStartingWith("Command failed with error 28724 (Location28724): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28724 (Location28724): " + "'First argument to $slice must be an array, but is of type: string'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: 1")).projection(json("values: {$slice: ['xyz', 2]}")).first()) - .withMessageStartingWith("Command failed with error 28724 (Location28724): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28724 (Location28724): " + "'First argument to $slice must be an array, but is of type: string'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: 1")).projection(json("values: {$slice: [1, 0]}")).first()) - .withMessageStartingWith("Command failed with error 28724 (Location28724): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28724 (Location28724): " + "'First argument to $slice must be an array, but is of type: int'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: 1")).projection(json("values: {$slice: [1, 'xyz']}")).first()) - .withMessageStartingWith("Command failed with error 28724 (Location28724): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28724 (Location28724): " + "'First argument to $slice must be an array, but is of type: int'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: 1")).projection(json("values: {$slice: [1, 2, 3]}")).first()) - .withMessageStartingWith("Command failed with error 28724 (Location28724): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28724 (Location28724): " + "'First argument to $slice must be an array, but is of type: int'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("_id: 1")).projection(json("values: {$slice: 'abc'}")).first()) - .withMessageStartingWith("Command failed with error 28667 (Location28667): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28667 (Location28667): " + "'Invalid $slice syntax. The given syntax { $slice: \"abc\" } did not match the find() syntax because :: " + "Location31273: $slice only supports numbers and [skip, limit] arrays :: " + "The given syntax did not match the expression $slice syntax. :: caused by :: " + @@ -5176,11 +5176,11 @@ void testIllegalElementMatchQuery() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("results: {$elemMatch: [ 85 ]}")).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): '$elemMatch needs an Object'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): '$elemMatch needs an Object'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("results: {$elemMatch: 1}")).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): '$elemMatch needs an Object'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): '$elemMatch needs an Object'"); } @Test @@ -5191,7 +5191,7 @@ void testQueryWithOperatorAndWithoutOperator() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("x: {$lt: 10, y: 23}")).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): 'unknown operator: y'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): 'unknown operator: y'"); assertThat(collection.find(json("x: {y: 23, $lt: 10}"))).isEmpty(); assertThat(collection.find(json("x: {y: {$lt: 100, z: 23}}"))).isEmpty(); @@ -5213,7 +5213,7 @@ void testQueryWithComment() { void testValidate() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(new Document("validate", getCollectionName()))) - .withMessageStartingWith("Command failed with error 26 (NamespaceNotFound): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 26 (NamespaceNotFound): " + "'Collection 'testdb.testcoll' does not exist to validate.'"); collection.insertOne(json("_id: 1")); @@ -5270,7 +5270,7 @@ void testIllegalTopLevelOperator() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(query).first()) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'unknown top level operator: $illegalOperator. " + "If you have a field name that starts with a '$' symbol, consider using $getField or $setField.'"); } @@ -5307,15 +5307,15 @@ void testExprQuery_IllegalFieldPath() { assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("$expr: {$eq: ['$a.', 10]}")).first()) - .withMessageStartingWith("Command failed with error 40353 (Location40353): 'FieldPath must not end with a '.'.'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 40353 (Location40353): 'FieldPath must not end with a '.'.'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("$expr: {$eq: ['$.a', 10]}")).first()) - .withMessageStartingWith("Command failed with error 15998 (Location15998): 'FieldPath field names may not be empty strings.'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 15998 (Location15998): 'FieldPath field names may not be empty strings.'"); assertThatExceptionOfType(MongoQueryException.class) .isThrownBy(() -> collection.find(json("$expr: {$eq: ['$a..1', 10]}")).first()) - .withMessageStartingWith("Command failed with error 15998 (Location15998): 'FieldPath field names may not be empty strings.'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 15998 (Location15998): 'FieldPath field names may not be empty strings.'"); } @Test @@ -6248,19 +6248,19 @@ void testIllegalUpdateWithPositionalAll() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate(json("_id: 1"), json("$set: {'a.$[]': 'abc'}"))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot apply array updates to non-array element a: { b: [ 1, 2, 3 ] }"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate(json("_id: 2"), json("$set: {'a.b.$[]': 'abc'}"))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot apply array updates to non-array element b: 5"); assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate(json("_id: 1"), json("$set: {'a.b.$[].c': 'abc'}"))) - .withMessageStartingWith("Command failed with error 28 (PathNotViable): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 28 (PathNotViable): " + "'Plan executor error during findAndModify :: caused by :: " + "Cannot create field 'c' in element {0: 1}"); } @@ -6399,7 +6399,7 @@ void testUpdateArrayWithMultiplePositionalAll() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> collection.findOneAndUpdate(json("_id: 3"), json("$inc: {'grades.$[].c.$[]': 1}"))) - .withMessageStartingWith("Command failed with error 2 (BadValue): " + + .withMessageStartingWith("Command execution failed on MongoDB server with error 2 (BadValue): " + "'Plan executor error during findAndModify :: caused by :: " + "The path 'grades.2.c' must exist in the document in order to apply array updates."); } @@ -6424,7 +6424,7 @@ void testUpdateArrayWithIllegalMultiplePositionalAll() { .isThrownBy(() -> collection.findOneAndUpdate( json("_id: 1"), json("$inc: {'grades.$[].$[]': 1}"))) - .withMessageStartingWith("Command failed with error 14 (TypeMismatch): '" + + .withMessageStartingWith("Command execution failed on MongoDB server with error 14 (TypeMismatch): '" + "Plan executor error during findAndModify :: caused by :: " + "Cannot apply $inc to a value of non-numeric type. {_id: 1} has the field '0' of non-numeric type array"); } diff --git a/test-common/src/main/java/de/bwaldvogel/mongo/repository/AccountRepository.java b/test-common/src/main/java/de/bwaldvogel/mongo/repository/AccountRepository.java index 9d1f0a11e..7985f28c5 100644 --- a/test-common/src/main/java/de/bwaldvogel/mongo/repository/AccountRepository.java +++ b/test-common/src/main/java/de/bwaldvogel/mongo/repository/AccountRepository.java @@ -1,9 +1,9 @@ package de.bwaldvogel.mongo.repository; import org.bson.types.ObjectId; -import org.springframework.data.repository.PagingAndSortingRepository; +import org.springframework.data.mongodb.repository.MongoRepository; import de.bwaldvogel.mongo.entity.Account; -public interface AccountRepository extends PagingAndSortingRepository { +public interface AccountRepository extends MongoRepository { } diff --git a/test-common/src/main/java/de/bwaldvogel/mongo/repository/PersonRepository.java b/test-common/src/main/java/de/bwaldvogel/mongo/repository/PersonRepository.java index 97a7bed01..4f4e190e6 100644 --- a/test-common/src/main/java/de/bwaldvogel/mongo/repository/PersonRepository.java +++ b/test-common/src/main/java/de/bwaldvogel/mongo/repository/PersonRepository.java @@ -1,11 +1,11 @@ package de.bwaldvogel.mongo.repository; import org.bson.types.ObjectId; -import org.springframework.data.repository.PagingAndSortingRepository; +import org.springframework.data.mongodb.repository.MongoRepository; import de.bwaldvogel.mongo.entity.Person; -public interface PersonRepository extends PagingAndSortingRepository { +public interface PersonRepository extends MongoRepository { Person findOneByName(String name); } diff --git a/test-common/src/test/java/de/bwaldvogel/mongo/RealMongoBackendTest.java b/test-common/src/test/java/de/bwaldvogel/mongo/RealMongoBackendTest.java index 76cdafd5e..262e4f039 100644 --- a/test-common/src/test/java/de/bwaldvogel/mongo/RealMongoBackendTest.java +++ b/test-common/src/test/java/de/bwaldvogel/mongo/RealMongoBackendTest.java @@ -139,10 +139,10 @@ public void testCursor_iteratingACursorThatNoLongerExists() { @Test @Override public void testResetError() { - // Note: No longer implemented since MongoDB 5: "Command failed with error 59 (CommandNotFound): 'no such command: 'reseterror'" + // Note: No longer implemented since MongoDB 5: "Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'reseterror'" assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(json("reseterror: 1"))) - .withMessageStartingWith("Command failed with error 59 (CommandNotFound): 'no such command: 'reseterror'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'reseterror'"); } @Test @@ -150,6 +150,6 @@ public void testResetError() { public void testCommandThatTriggersAnInternalException() { assertThatExceptionOfType(MongoCommandException.class) .isThrownBy(() -> db.runCommand(json("triggerInternalException: 1"))) - .withMessageStartingWith("Command failed with error 59 (CommandNotFound): 'no such command: 'triggerInternalException'"); + .withMessageStartingWith("Command execution failed on MongoDB server with error 59 (CommandNotFound): 'no such command: 'triggerInternalException'"); } }