Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update mongodbDriverVersion to v4.10.2 #497

Merged
merged 12 commits into from
Oct 5, 2023
125 changes: 59 additions & 66 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,14 @@ on:
jobs:
build:
runs-on: ubuntu-latest
continue-on-error: true
env:
WORKSPACE: ${{ github.workspace }}
GRADLE_OPTS: -Xmx1500m -Dfile.encoding=UTF-8
strategy:
matrix:
mongodb-version: ['4.4', '5.0', '6.0' ]
steps:
- name: Print Dispatch Information
if: github.event_name == 'workflow_dispatch'
env:
DISPATCH_INFORMATION: ${{ github.event.inputs.message }}
run: echo $DISPATCH_INFORMATION
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
Expand All @@ -32,72 +31,66 @@ jobs:
- name: Start MongoDB
uses: supercharge/[email protected]
with:
mongodb-version: '4.0'
- name: Run Tests
if: github.event_name == 'pull_request'
id: tests
uses: gradle/gradle-build-action@v2
with:
arguments: check -Dgeb.env=chromeHeadless
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
mongodb-version: ${{ matrix.mongodb-version }}
- name: Run Build
if: github.event_name == 'push'
id: build
uses: gradle/gradle-build-action@v2
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
with:
arguments: build -Dgeb.env=chromeHeadless
- name: Publish Test Report
if: steps.build.outcome == 'failure' || steps.tests.outcome == 'failure'
uses: scacap/action-surefire-report@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
report_paths: '**/build/test-results/test/TEST-*.xml'
- name: Publish to repo.grails.org
id: publish
uses: gradle/gradle-build-action@v2
if: steps.build.outcome == 'success' && github.event_name == 'push'
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
with:
arguments: -Dorg.gradle.internal.publish.checksums.insecure=true publish
- name: Build Docs
id: docs
if: steps.build.outcome == 'success' && github.event_name == 'push'
uses: gradle/gradle-build-action@v2
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
with:
arguments: docs:docs
- name: Determine docs target repository
if: steps.docs.outcome == 'success' && github.event_name == 'push'
uses: haya14busa/action-cond@v1
id: docs_target
with:
cond: ${{ github.repository == 'grails/gorm-mongodb' }}
if_true: "grails/grails-data-mapping"
if_false: ${{ github.repository }}
- name: Publish to Github Pages
if: steps.docs.outcome == 'success' && github.event_name == 'push'
uses: micronaut-projects/github-pages-deploy-action@master
env:
TARGET_REPOSITORY: ${{ steps.docs_target.outputs.value }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCH: gh-pages
FOLDER: docs/build/docs
DOC_SUB_FOLDER: mongodb
DOC_FOLDER: gh-pages
COMMIT_EMAIL: [email protected]
COMMIT_NAME: Puneet Behl
publish:
runs-on: ubuntu-latest
if: github.event_name == 'push'
needs: [build]
env:
WORKSPACE: ${{ github.workspace }}
steps:
- uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
- name: Publish to repo.grails.org
id: publish
uses: gradle/gradle-build-action@v2
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
ARTIFACTORY_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
ARTIFACTORY_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
with:
arguments: -Dorg.gradle.internal.publish.checksums.insecure=true publish
- name: Build Docs
id: docs
if: steps.build.outcome == 'success'
uses: gradle/gradle-build-action@v2
env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_USER }}
GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY: ${{ secrets.GRADLE_ENTERPRISE_BUILD_CACHE_NODE_KEY }}
with:
arguments: docs:docs
- name: Determine docs target repository
if: steps.docs.outcome == 'success'
uses: haya14busa/action-cond@v1
id: docs_target
with:
cond: ${{ github.repository == 'grails/gorm-mongodb' }}
if_true: "grails/grails-data-mapping"
if_false: ${{ github.repository }}
- name: Publish to Github Pages
if: steps.docs.outcome == 'success'
uses: micronaut-projects/github-pages-deploy-action@master
env:
TARGET_REPOSITORY: ${{ steps.docs_target.outputs.value }}
GH_TOKEN: ${{ secrets.GH_TOKEN }}
BRANCH: gh-pages
FOLDER: docs/build/docs
DOC_SUB_FOLDER: mongodb
DOC_FOLDER: gh-pages
COMMIT_EMAIL: [email protected]
COMMIT_NAME: Puneet Behl
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ subprojects { project ->
ext['gorm.hibernate5.version'] = hibernatePluginVersion
ext['junit-jupiter.version'] = junitJupiterVersion
ext['spock.version'] = spockVersion
ext['mongodb.version'] = mongodbDriverVersion

if (project.name.startsWith("examples")) {

Expand Down
3 changes: 2 additions & 1 deletion examples/grails3-hibernate5-mongodb/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,14 @@ dependencies {

testImplementation "org.grails:grails-gorm-testing-support:$testingSupportVersion"
testImplementation "org.grails:grails-web-testing-support:$testingSupportVersion"
testImplementation "de.bwaldvogel:mongo-java-server:$mongoJavaServerVersion"
testImplementation "org.testcontainers:mongodb:1.19.0"
testImplementation "io.netty:netty-transport:4.1.72.Final"
testImplementation "io.netty:netty-codec:4.1.72.Final"
testImplementation "io.netty:netty-handler:4.1.72.Final"
testImplementation "org.grails.plugins:geb", {
exclude group: 'org.gebish', module: 'geb-spock'
}
implementation "com.github.erdi:webdriver-binaries-gradle-plugin:3.2"
testImplementation "org.gebish:geb-spock:$gebVersion"

testRuntimeOnly "org.seleniumhq.selenium:selenium-chrome-driver:$seleniumVersion"
Expand Down
6 changes: 3 additions & 3 deletions examples/grails3-hibernate5-mongodb/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
grailsVersion=6.0.0
micrometer.version=1.8.0
scaffolingVersion=4.1.0
testingSupportVersion=3.0.0
chromeDriverVersion=96.0.4664.45
geckodriverVersion=0.24.0
testingSupportVersion=3.0.1
chromeDriverVersion=116.0.5845.96
geckodriverVersion=0.33.0
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
package functional.tests

import grails.test.mongodb.MongoSpec
import org.testcontainers.containers.MongoDBContainer
import org.testcontainers.utility.DockerImageName
import spock.lang.Shared

class BookFongoSpec extends MongoSpec implements EmbeddedMongoClient {

@Shared
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))

//tag::getDomainClasses[]
@Override
protected List<Class> getDomainClasses() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,18 @@ package functional.tests

import com.mongodb.client.MongoClient
import com.mongodb.client.MongoClients
import de.bwaldvogel.mongo.MongoServer
import de.bwaldvogel.mongo.backend.memory.MemoryBackend
import groovy.transform.CompileStatic
import org.testcontainers.containers.MongoDBContainer

@CompileStatic
trait EmbeddedMongoClient {

abstract MongoDBContainer getMongoDBContainer()

MongoClient createMongoClient() {
MongoServer server = new MongoServer(new MemoryBackend())
// bind on a random local port
InetSocketAddress serverAddress = server.bind()
return MongoClients.create("mongodb://" + serverAddress.getHostName() + ":" + serverAddress.getPort())
if (!mongoDBContainer.isRunning()) {
mongoDBContainer.start()
}
return MongoClients.create(mongoDBContainer.getReplicaSetUrl())
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
grailsVersion=6.0.0
micrometer.version=1.8.0
scaffolingVersion=4.1.0
testingSupportVersion=3.0.0
chromeDriverVersion=96.0.4664.45
geckodriverVersion=0.24.0
testingSupportVersion=3.0.1
chromeDriverVersion=116.0.5845.96
geckodriverVersion=0.33.0
2 changes: 1 addition & 1 deletion examples/grails3-mongodb/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ dependencies {

testImplementation "org.grails:grails-gorm-testing-support:$testingSupportVersion"
testImplementation "org.grails:grails-web-testing-support:$testingSupportVersion"
testImplementation "de.bwaldvogel:mongo-java-server:$mongoJavaServerVersion"
testImplementation "io.netty:netty-transport:4.1.72.Final"
testImplementation "io.netty:netty-codec:4.1.72.Final"
testImplementation "io.netty:netty-handler:4.1.72.Final"
testImplementation "org.testcontainers:mongodb:1.19.0"

testImplementation "org.grails.plugins:geb", {
exclude group: 'org.gebish', module: 'geb-spock'
Expand Down
6 changes: 3 additions & 3 deletions examples/grails3-mongodb/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
grailsVersion=6.0.0
micrometer.version=1.8.0
scaffolingVersion=4.1.0
testingSupportVersion=3.0.0
chromeDriverVersion=96.0.4664.45
geckodriverVersion=0.24.0
testingSupportVersion=3.0.1
chromeDriverVersion=116.0.5845.96
geckodriverVersion=0.33.0
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
package functional.tests

import grails.test.mongodb.MongoSpec
import org.testcontainers.containers.MongoDBContainer
import org.testcontainers.utility.DockerImageName
import spock.lang.Shared

class BookUnitSpec extends MongoSpec implements EmbeddedMongoClient {

@Shared
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))

void "Test low-level API extensions"() {
when:
def db = createMongoClient().getDatabase("test")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
package functional.tests

import com.mongodb.client.MongoClients
import de.bwaldvogel.mongo.MongoServer
import de.bwaldvogel.mongo.backend.memory.MemoryBackend
import com.mongodb.client.MongoClient
import com.mongodb.client.MongoClients
import groovy.transform.CompileStatic
import org.testcontainers.containers.MongoDBContainer

@CompileStatic
trait EmbeddedMongoClient {

abstract MongoDBContainer getMongoDBContainer()

MongoClient createMongoClient() {
MongoServer server = new MongoServer(new MemoryBackend())
// bind on a random local port
InetSocketAddress serverAddress = server.bind()
return MongoClients.create("mongodb://" + serverAddress.getHostName() + ":" + serverAddress.getPort())
if (!mongoDBContainer.isRunning()) {
mongoDBContainer.start()
}
return MongoClients.create(mongoDBContainer.getReplicaSetUrl())
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,16 @@ package functional.tests
//tag::structure[]
import grails.test.mongodb.MongoSpec
import grails.validation.ValidationException
import org.testcontainers.containers.MongoDBContainer
import org.testcontainers.utility.DockerImageName
import spock.lang.Ignore
import spock.lang.Shared

class LocalMongoUnitSpec extends MongoSpec implements EmbeddedMongoClient {

@Shared
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))

//end::structure[]
void "Test GORM access"(){
when:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,18 @@
package functional.tests

import grails.test.mongodb.MongoSpec
import org.testcontainers.containers.MongoDBContainer
import org.testcontainers.utility.DockerImageName
import spock.lang.Shared

/**
* Created by graemerocher on 17/10/16.
*/
class PersonSpec extends MongoSpec implements EmbeddedMongoClient {

@Shared
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))

void "Test codecs work for custom properties"() {
when:"An an instance with a custom codec is saved"
def dob = new Date()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
package functional.tests

import grails.test.mongodb.MongoSpec
import org.testcontainers.containers.MongoDBContainer
import org.testcontainers.utility.DockerImageName
import spock.lang.Shared

class TeamUnitSpec extends MongoSpec implements EmbeddedMongoClient {

@Shared
final MongoDBContainer mongoDBContainer = new MongoDBContainer(DockerImageName.parse("mongo:latest"))

void "get() doesn't throw NPE"() {
when:
Team team = Team.get("123")
Expand Down
6 changes: 3 additions & 3 deletions examples/springboot-mongodb/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
grailsVersion=6.0.0
micrometer.version=1.8.0
scaffolingVersion=4.1.0
testingSupportVersion=3.0.0
chromeDriverVersion=96.0.4664.45
geckodriverVersion=0.24.0
testingSupportVersion=3.0.1
chromeDriverVersion=116.0.5845.96
geckodriverVersion=0.33.0
6 changes: 3 additions & 3 deletions examples/test-data-service/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ fieldsVersion=3.0.0.RC1
grailsVersion=6.0.0
micrometer.version=1.8.0
scaffolingVersion=4.1.0
testingSupportVersion=3.0.0
chromeDriverVersion=96.0.4664.45
geckodriverVersion=0.24.0
testingSupportVersion=3.0.1
chromeDriverVersion=116.0.5845.96
geckodriverVersion=0.33.0
3 changes: 1 addition & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,7 @@ hibernateValidatorVersion=6.2.5.Final
jansiVersion=2.4.0
javaParserCoreVersion=3.15.14
junitJupiterVersion=5.10.0
mongoJavaServerVersion=1.28.0
mongodbDriverVersion=4.5.0
mongodbDriverVersion=4.10.2
mongodbRxDriverVersion=1.10.0
pluginGrailsVersion=6.0.0
projectVersion=8.0.1-SNAPSHOT
Expand Down
Loading