This is an automated email from the ASF dual-hosted git repository. borinquenkid pushed a commit to branch test/abstract-datastore-initializer in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 393464309e901e5a2689f9a5861842c0ebedac6d Author: Walter Duque de Estrada <[email protected]> AuthorDate: Thu Aug 13 15:09:55 2026 -0500 Fix setMongoBeanName being silently ignored when building a new MongoClient The mongo == null branch of getBeanDefinitions() registered the built MongoClient under a hardcoded 'mongo' bean name instead of the customizable mongoBeanName field, unlike configure()'s mongo != null branch which already honored it. Beyond fixing the inconsistency, this also resolves an IDE warning where the literal mongo(...) DSL call was being confused with the protected 'mongo' field of the same name. Co-Authored-By: Claude Sonnet 5 <[email protected]> --- .../MongoDbDataStoreSpringInitializer.groovy | 2 +- .../MongoDbDataStoreSpringInitializerSpec.groovy | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/grails-data-mongodb/core/src/main/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializer.groovy b/grails-data-mongodb/core/src/main/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializer.groovy index 68dfe37d57..7672e0fe8e 100644 --- a/grails-data-mongodb/core/src/main/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializer.groovy +++ b/grails-data-mongodb/core/src/main/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializer.groovy @@ -104,7 +104,7 @@ class MongoDbDataStoreSpringInitializer extends AbstractDatastoreInitializer { bean.autowire = true } mongoDatastore(MongoDatastore, configuration, ref('mongoConnectionSourceFactory'), eventPublisher, collectMappedClasses(DATASTORE_TYPE)) - mongo(mongoDatastore: 'getMongoClient') + "$mongoBeanName"(mongoDatastore: 'getMongoClient') } else { mongoDatastore(MongoDatastore, mongo, configuration, eventPublisher, collectMappedClasses(DATASTORE_TYPE)) diff --git a/grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerSpec.groovy b/grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerSpec.groovy index a764e9688a..300d447ab7 100644 --- a/grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerSpec.groovy +++ b/grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerSpec.groovy @@ -75,6 +75,26 @@ class MongoDbDataStoreSpringInitializerSpec extends AutoStartedMongoSpec { Person.count() == 0 } + void "Test setMongoBeanName is honored when building a new MongoClient from scratch"() { + given: "an initializer with a customized mongo bean name" + def initializer = makeInitializer([ + (MongoSettings.SETTING_HOST): mongoHost, + (MongoSettings.SETTING_PORT): mongoPort, + ], Person) + initializer.setMongoBeanName('customMongo') + + when: "the initializer is configured" + def applicationContext = initializer.configure() + def mongoDatastore = applicationContext.getBean(MongoDatastore) + + then: "the client is registered under the customized bean name and not the default" + applicationContext.getBean('customMongo', MongoClient) == mongoDatastore.getMongoClient() + !applicationContext.containsBean('mongo') + + cleanup: + mongoDatastore.destroy() + } + void "Test the alias is created when it is the primary datastore"() { when: "the initializer used to setup GORM for MongoDB" def initializer = makeInitializer([
