codeconsole commented on PR #15934: URL: https://github.com/apache/grails-core/pull/15934#issuecomment-4929127048
Thanks — this audit was accurate and genuinely useful; all five gaps are now addressed in e737052. 1. **Mongo OSIV** — Added `OpenSessionInViewSpec` to `grails-test-examples/mongodb/base`, mirroring the Hibernate one, asserting `mongoOpenSessionInViewInterceptor` registers in a web app. It exercises the same `isWebApplicationRegistry()` fix. I couldn't run it green locally — the entire mongodb/base integration suite can't reach Mongo in my environment (the existing `BookSpec` fails with the identical `MongoTimeoutException` against a local container), so it will run in the MongoDB CI job alongside the others. 2. **/actuator/health** — Added a `/actuator/health` assertion to `ActuatorEnvClosureSpec` (passes locally). It goes through the same MVC JSON-converter path the `/env` regression exposed. 3. **`BeanDefinitionOverrideException` edge** — Added a test that sets `allow-bean-definition-overriding=false`, registers a colliding plugin+application bean pair, and asserts the exception (passes). 4. **"Built exactly once"** — Good catch, and it surfaced a real inaccuracy: adding a construction counter showed a plugin is instantiated **twice**, not once — but that's pre-existing Grails behavior (`DefaultGrailsPlugin` builds a `GrailsPluginClass` reference instance *and* the real instance), unrelated to this PR. What the retiming actually guarantees is a *single plugin-manager pass* rather than a throwaway pass plus the real one (the rejected earlier approach, which would have multiplied that count). I reworded the test to assert exactly that (early-phase count equals a single bare `loadPlugins()`), and corrected the upgrade note that claimed "plugins are instantiated once." 5. **Flag-reset-on-exception** — Added a test with a plugin whose `doWithSpring` throws during the early phase, asserting `Environment.isInitializing()` is `false` afterward (passes) — directly exercising the `catch` branch. grails-core full suite, the ordering spec (all 9 cases), and the issue-10279 actuator spec pass locally; the mongo spec is the only one gated on CI infrastructure. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
