sbglasius commented on code in PR #16130:
URL: https://github.com/apache/grails-core/pull/16130#discussion_r3791906442
##########
grails-core/src/test/groovy/org/grails/config/SystemEnvironmentConfigSpec.groovy:
##########
@@ -73,6 +73,56 @@ property-with_mixed.symbols: from-yml
'property-with_mixed.symbols' | 'PROPERTY_WITH_MIXED_SYMBOLS' |
'from-env'
}
+ void 'a property read more than once keeps resolving to the system
environment value'() {
+ given: 'configuration that is overridden by the environment'
+ def config = configFor('property.with.period: from-yml')
+ modifiableSystemEnvironment.put('PROPERTY_WITH_PERIOD', 'from-env')
+
+ expect: 'every read resolves to the environment value, not just the
first'
+ config.getProperty('property.with.period') == 'from-env'
+ config.getProperty('property.with.period') == 'from-env'
+ config.getProperty('property.with.period') == 'from-env'
+
+ cleanup:
+ modifiableSystemEnvironment.remove('PROPERTY_WITH_PERIOD')
+ }
+
+ void 'a property that has already been read still reflects later
configuration changes'() {
+ given: 'a property that has been read once'
+ def config = configFor('some.nested.value: original')
+ assert config.getProperty('some.nested.value') == 'original'
Review Comment:
```suggestion
expect:
config.getProperty('some.nested.value') == 'original'
```
##########
grails-core/src/test/groovy/org/grails/config/SystemEnvironmentConfigSpec.groovy:
##########
@@ -73,6 +73,56 @@ property-with_mixed.symbols: from-yml
'property-with_mixed.symbols' | 'PROPERTY_WITH_MIXED_SYMBOLS' |
'from-env'
}
+ void 'a property read more than once keeps resolving to the system
environment value'() {
+ given: 'configuration that is overridden by the environment'
+ def config = configFor('property.with.period: from-yml')
+ modifiableSystemEnvironment.put('PROPERTY_WITH_PERIOD', 'from-env')
+
+ expect: 'every read resolves to the environment value, not just the
first'
+ config.getProperty('property.with.period') == 'from-env'
+ config.getProperty('property.with.period') == 'from-env'
+ config.getProperty('property.with.period') == 'from-env'
+
+ cleanup:
+ modifiableSystemEnvironment.remove('PROPERTY_WITH_PERIOD')
+ }
+
+ void 'a property that has already been read still reflects later
configuration changes'() {
+ given: 'a property that has been read once'
+ def config = configFor('some.nested.value: original')
+ assert config.getProperty('some.nested.value') == 'original'
+
+ when: 'the configuration is changed'
+ config.merge(['some.nested.value': 'updated'])
+
+ then: 'the new value is returned rather than the previously resolved
one'
+ config.getProperty('some.nested.value') == 'updated'
+ }
+
+ void 'a config created after an environment variable is installed observes
it'() {
+ given: 'a config created and read before the variable exists'
+ def before = configFor('late.bound.property: from-yml')
+ assert before.getProperty('late.bound.property') == 'from-yml'
Review Comment:
```suggestion
expect:
before.getProperty('late.bound.property') == 'from-yml'
```
--
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]