This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a change to branch upgrade/gradle-9.3.1
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from e12e70e3ad Update Gradle wrapper files to 9.3.1
add e69afe5d9d test(integration): Add comprehensive integration tests for
Grails features
add e4cb761c5d fix: Add Apache License headers and fix failing integration
tests
add e8adf0143f test: Review suggestions and stability improvements for
slow CI
add 0f21207d5f test(cache): Add comprehensive @Cacheable tests to
grails-test-examples
add 6b90174dfc refactor(test-examples): Use explicit params.subMap() for
data binding
add b585f97d2a test(integration): Add comprehensive tests for datasources,
external config, and plugins
add 4bf8d90c33 test(integration): Implement incomplete test assertions and
expand coverage
add 8b288c6a5b test(integration): Add comprehensive tests based on Grails
documentation
add b1389e7710 fix: Test stability and correctness improvements
add ea770fc500 Merge pull request #15348 from
apache/test/expand-integration-test-coverage
add e56812c8c7 Merge branch '7.0.x' into 7.1.x
add f5759715ee Merge branch '7.1.x' into 8.0.x
add eb659cfb3d Merge branch '8.0.x' into upgrade/gradle-9.3.1
No new revisions were added by this update.
Summary of changes:
.../functionaltests/BookController.groovy | 11 +-
.../controllers/functionaltests/UrlMappings.groovy | 62 ++
.../async/AsyncTestController.groovy | 304 +++++++
.../binding/AdvancedDataBindingController.groovy | 306 +++++++
.../caching/CacheTestController.groovy | 131 +++
.../codecs/CodecTestController.groovy | 281 ++++++
.../commanddi/CommandDIController.groovy | 406 +++++++++
.../contentneg/ContentNegotiationController.groovy | 168 ++++
.../functionaltests/cors/CorsTestController.groovy | 113 +++
.../ErrorHandlingTestController.groovy | 215 +++++
.../fileupload/FileUploadTestController.groovy | 241 +++++
.../functionaltests/flow/FlowController.groovy | 245 +++++
.../flow/FlowTargetController.groovy | 52 ++
.../functionaltests/i18n/I18nTestController.groovy | 226 +++++
.../interceptors/ActionExcludeInterceptor.groovy} | 25 +-
.../interceptors/AdvancedMatchingController.groovy | 107 +++
.../AttributeSettingInterceptor.groovy} | 44 +-
.../interceptors/BlockingInterceptor.groovy} | 47 +-
.../ConditionalMatchInterceptor.groovy | 52 ++
.../interceptors/FirstInterceptor.groovy} | 38 +-
.../HttpMethodMatchingInterceptor.groovy} | 23 +-
.../interceptors/InterceptorTestController.groovy | 172 ++++
.../interceptors/MultipleRulesInterceptor.groovy} | 25 +-
.../NamespaceMatchingInterceptor.groovy} | 23 +-
.../interceptors/SecondInterceptor.groovy} | 38 +-
.../interceptors/SessionInterceptor.groovy} | 27 +-
.../interceptors/ThirdInterceptor.groovy} | 38 +-
.../interceptors/TimingInterceptor.groovy} | 44 +-
.../RequestResponseTestController.groovy | 270 ++++++
.../springevents/SpringEventController.groovy | 148 +++
.../taglib/TagLibTestController.groovy | 326 +++++++
.../urlmappings/UrlMappingsTestController.groovy | 167 ++++
.../domain/functionaltests/binding/Address.groovy} | 26 +-
.../functionaltests/binding/Contributor.groovy} | 22 +-
.../functionaltests/binding/Employee.groovy} | 62 +-
.../domain/functionaltests/binding/Project.groovy} | 25 +-
.../domain/functionaltests/binding/Team.groovy} | 23 +-
.../functionaltests/binding/TeamMember.groovy} | 25 +-
.../functionaltests/constraints/Appointment.groovy | 109 +++
.../functionaltests/constraints/PaymentInfo.groovy | 178 ++++
.../functionaltests/constraints/Product.groovy | 76 ++
.../constraints/Registration.groovy | 158 ++++
.../functionaltests/events/AuditedEntity.groovy | 108 +++
.../functionaltests/events/StatefulEntity.groovy | 81 ++
.../functionaltests/events/VetoableEntity.groovy | 67 ++
.../domain/functionaltests/gorm/Author.groovy | 62 ++
.../domain/functionaltests/gorm/GormBook.groovy | 70 ++
.../functionaltests/services/InventoryItem.groovy} | 28 +-
.../app1/grails-app/i18n/messages.properties | 9 +
.../app1/grails-app/i18n/messages_de.properties | 9 +
.../app1/grails-app/i18n/messages_fr.properties | 9 +
.../caching/CacheTestService.groovy | 133 +++
.../commanddi/NotificationService.groovy | 88 ++
.../commanddi/PricingService.groovy | 77 ++
.../commanddi/ValidationHelperService.groovy | 80 ++
.../services/AsyncProcessingService.groovy | 122 +++
.../services/InventoryService.groovy | 204 +++++
.../functionaltests/services/OrderService.groovy | 118 +++
.../springevents/EventListenerService.groovy | 169 ++++
.../springevents/EventPublisherService.groovy | 78 ++
.../functionaltests/taglib/CustomTagLib.groovy | 341 +++++++
.../grails-app/views/contentNegotiation/error.gsp | 29 +
.../grails-app/views/contentNegotiation/index.gsp | 34 +
.../views/tagLibTest/_simpleTemplate.gsp | 19 +
.../grails-app/views/tagLibTest/testAlertTag.gsp | 20 +
.../grails-app/views/tagLibTest/testAppInfoTag.gsp | 20 +
.../grails-app/views/tagLibTest/testBadgeTag.gsp | 20 +
.../views/tagLibTest/testBuiltInCheckBox.gsp | 20 +
.../views/tagLibTest/testBuiltInCollect.gsp | 20 +
.../views/tagLibTest/testBuiltInCookie.gsp | 20 +
.../views/tagLibTest/testBuiltInCreateLink.gsp | 21 +
.../views/tagLibTest/testBuiltInEach.gsp | 21 +
.../views/tagLibTest/testBuiltInFieldValue.gsp | 20 +
.../views/tagLibTest/testBuiltInFindAll.gsp | 20 +
.../views/tagLibTest/testBuiltInForm.gsp | 23 +
.../views/tagLibTest/testBuiltInFormatDate.gsp | 21 +
.../views/tagLibTest/testBuiltInFormatNumber.gsp | 21 +
.../views/tagLibTest/testBuiltInHeader.gsp | 20 +
.../views/tagLibTest/testBuiltInHiddenField.gsp | 20 +
.../grails-app/views/tagLibTest/testBuiltInIf.gsp | 24 +
.../views/tagLibTest/testBuiltInInclude.gsp | 20 +
.../views/tagLibTest/testBuiltInJoin.gsp | 20 +
.../views/tagLibTest/testBuiltInLink.gsp | 22 +
.../views/tagLibTest/testBuiltInMessage.gsp | 20 +
.../views/tagLibTest/testBuiltInPaginate.gsp | 20 +
.../views/tagLibTest/testBuiltInPasswordField.gsp | 20 +
.../views/tagLibTest/testBuiltInRadio.gsp | 22 +
.../views/tagLibTest/testBuiltInRender.gsp | 20 +
.../views/tagLibTest/testBuiltInResource.gsp | 20 +
.../views/tagLibTest/testBuiltInSelect.gsp | 20 +
.../grails-app/views/tagLibTest/testBuiltInSet.gsp | 23 +
.../views/tagLibTest/testBuiltInSortableColumn.gsp | 26 +
.../views/tagLibTest/testBuiltInTextArea.gsp | 20 +
.../views/tagLibTest/testBuiltInTextField.gsp | 20 +
.../views/tagLibTest/testBuiltInUploadForm.gsp | 23 +
.../views/tagLibTest/testBuiltInWhile.gsp | 21 +
.../views/tagLibTest/testConditionalTags.gsp | 21 +
.../views/tagLibTest/testCssClassTag.gsp | 20 +
.../views/tagLibTest/testDefinitionListTag.gsp | 20 +
.../views/tagLibTest/testEncodingTags.gsp | 22 +
.../views/tagLibTest/testFormattedTag.gsp | 20 +
.../grails-app/views/tagLibTest/testHelloTag.gsp | 20 +
.../grails-app/views/tagLibTest/testIterateTag.gsp | 20 +
.../grails-app/views/tagLibTest/testJoinTag.gsp | 20 +
.../grails-app/views/tagLibTest/testListTag.gsp | 20 +
.../grails-app/views/tagLibTest/testNestedTags.gsp | 22 +
.../grails-app/views/tagLibTest/testPanelTag.gsp | 20 +
.../views/tagLibTest/testProgressTag.gsp | 20 +
.../grails-app/views/tagLibTest/testRawTag.gsp | 20 +
.../grails-app/views/tagLibTest/testRepeatTag.gsp | 20 +
.../views/tagLibTest/testRequestInfoTag.gsp | 20 +
.../views/tagLibTest/testSessionValueTag.gsp | 20 +
.../grails-app/views/tagLibTest/testSetVarTag.gsp | 20 +
.../views/tagLibTest/testTagsWithModel.gsp | 26 +
.../grails-app/views/tagLibTest/testWrapperTag.gsp | 20 +
.../functionaltests/async/AsyncPromiseSpec.groovy | 395 ++++++++
.../binding/AdvancedDataBindingSpec.groovy | 451 ++++++++++
.../functionaltests/caching/CachingSpec.groovy | 406 +++++++++
.../codecs/SecurityCodecsSpec.groovy | 423 +++++++++
.../commanddi/CommandObjectDISpec.groovy | 386 ++++++++
.../constraints/ConstraintValidationSpec.groovy | 996 +++++++++++++++++++++
.../contentneg/ContentNegotiationSpec.groovy | 411 +++++++++
.../functionaltests/cors/CorsAdvancedSpec.groovy | 301 +++++++
.../errorhandling/ErrorHandlingSpec.groovy | 217 +++++
.../functionaltests/events/DomainEventsSpec.groovy | 574 ++++++++++++
.../fileupload/FileUploadSpec.groovy | 395 ++++++++
.../flow/FlashChainForwardSpec.groovy | 338 +++++++
.../functionaltests/gorm/GormAdvancedSpec.groovy | 719 +++++++++++++++
.../i18n/InternationalizationSpec.groovy | 445 +++++++++
.../InterceptorAdvancedMatchingSpec.groovy | 275 ++++++
.../interceptors/InterceptorOrderingSpec.groovy | 315 +++++++
.../requestresponse/RequestResponseSpec.groovy | 386 ++++++++
.../services/ServiceIntegrationSpec.groovy | 379 ++++++++
.../springevents/SpringEventsSpec.groovy | 333 +++++++
.../functionaltests/taglib/TagLibSpec.groovy | 968 ++++++++++++++++++++
.../urlmappings/UrlMappingsSpec.groovy | 352 ++++++++
.../springevents/CustomApplicationEvent.groovy} | 26 +-
.../springevents/PriorityEvent.groovy} | 24 +-
.../springevents/UserActionEvent.groovy} | 26 +-
.../functionaltests/BookControllerSpec.groovy | 10 +-
.../services/pubsub/demo/TotalService.groovy | 12 +-
.../groovy/pubsub/demo/AsyncEventsSpec.groovy | 203 +++++
.../groovy/pubsub/demo/PubSubSpec.groovy | 37 +-
.../main/groovy/pubsub/demo/BookSubscriber.groovy | 16 +-
grails-test-examples/cache/build.gradle | 2 +
.../com/demo/AdvancedCachingController.groovy | 123 +++
.../controllers/com/demo/UrlMappings.groovy | 54 ++
.../com/demo/AdvancedCachingService.groovy | 158 ++++
.../com/demo/AdvancedCachingIntegrationSpec.groovy | 323 +++++++
.../com/demo/AdvancedCachingServiceSpec.groovy | 316 +++++++
.../CrossDatasourceTransactionSpec.groovy | 284 ++++++
.../functionaltests/DatasourceSwitchingSpec.groovy | 370 ++++++++
.../functionaltests/MultipleDataSourcesSpec.groovy | 13 +-
.../test/app/ConfigurationPrioritySpec.groovy | 249 ++++++
.../test/app/EnvironmentConfigurationSpec.groovy | 223 +++++
grails-test-examples/gorm/build.gradle | 5 +-
.../gorm/AuthorController.groovy} | 17 +-
.../gorm/BookController.groovy} | 17 +-
.../gorm/UrlMappings.groovy} | 18 +-
.../grails-app/domain/gorm/AuditedEntity.groovy | 148 +++
.../domain/gorm/Author.groovy} | 39 +-
.../gorm/grails-app/domain/gorm/Book.groovy | 33 +-
.../gorm}/grails-app/i18n/messages.properties | 0
.../services/gorm/BookDataService.groovy | 151 ++++
.../services/gorm/TransactionTestService.groovy | 187 ++++
.../gorm/grails-app/views/error.gsp | 48 +
.../gorm/grails-app/views/index.gsp | 32 +
.../gorm/grails-app/views/notFound.gsp | 28 +
.../groovy/gorm/FieldsValidationSpec.groovy | 552 ++++++++++++
.../groovy/gorm/GormCascadeOperationsSpec.groovy | 357 ++++++++
.../groovy/gorm/GormCriteriaQueriesSpec.groovy | 614 +++++++++++++
.../groovy/gorm/GormDataServicesSpec.groovy | 338 +++++++
.../groovy/gorm/GormEventsSpec.groovy | 377 ++++++++
.../groovy/gorm/GormWhereQueryAdvancedSpec.groovy | 373 ++++++++
.../groovy/gorm/ScaffoldingFunctionalSpec.groovy | 293 ++++++
.../groovy/gorm/TransactionPropagationSpec.groovy | 268 ++++++
.../integration-test/groovy/gorm/UserSpec.groovy | 33 +-
.../groovy/gorm/ValidationConstraintsSpec.groovy | 496 ++++++++++
.../groovy/gorm/pages/AuthorPages.groovy | 75 ++
.../groovy/gorm/pages/BookPages.groovy | 79 ++
.../example/grails/layout/TagLibController.groovy | 95 ++
.../grails-app/views/tagLib/_partial.gsp | 21 +
.../grails-app/views/tagLib/collectTag.gsp | 29 +
.../grails-app/views/tagLib/createLinkTag.gsp | 30 +
.../gsp-layout/grails-app/views/tagLib/eachTag.gsp | 33 +
.../gsp-layout/grails-app/views/tagLib/elseTag.gsp | 33 +
.../grails-app/views/tagLib/encodeTags.gsp | 30 +
.../gsp-layout/grails-app/views/tagLib/formTag.gsp | 50 ++
.../grails-app/views/tagLib/formatTags.gsp | 30 +
.../gsp-layout/grails-app/views/tagLib/ifTag.gsp | 31 +
.../gsp-layout/grails-app/views/tagLib/index.gsp | 32 +
.../gsp-layout/grails-app/views/tagLib/joinTag.gsp | 30 +
.../gsp-layout/grails-app/views/tagLib/linkTag.gsp | 30 +
.../grails-app/views/tagLib/renderTag.gsp | 31 +
.../gsp-layout/grails-app/views/tagLib/setTag.gsp | 35 +
.../integration-test/groovy/GspTagLibSpec.groovy | 275 ++++++
.../controllers/example/BookController.groovy | 8 +-
.../functional/tests/BookController.groovy | 8 +-
.../functional/tests/BookControllerUnitSpec.groovy | 10 +-
.../controllers/example/BookController.groovy | 8 +-
.../schemapertenant/BookController.groovy | 8 +-
.../groovy/micronaut/MicronautContextSpec.groovy | 92 ++
.../groovy/micronaut/MicronautQualifierSpec.groovy | 106 +++
.../functional/tests/BookController.groovy | 8 +-
.../examples/mongo/tenant/BookController.groovy | 8 +-
.../functional/tests/AuthorController.groovy | 8 +-
.../functional/tests/BookController.groovy | 8 +-
grails-test-examples/plugins/exploded/build.gradle | 3 +
.../groovy/exploded/PluginDependencySpec.groovy | 223 +++++
.../plugins/loadfirst/build.gradle | 3 +
.../groovy/loadfirst/PluginLifecycleSpec.groovy | 236 +++++
.../plugins/loadsecond/build.gradle | 3 +
.../groovy/loadsecond/PluginLoadOrderSpec.groovy | 222 +++++
.../{gorm => scaffolding-fields}/build.gradle | 33 +-
.../grails-app/conf/application.yml | 106 +++
.../scaffoldingfields/DepartmentController.groovy} | 20 +-
.../scaffoldingfields/EmployeeController.groovy} | 20 +-
.../scaffoldingfields/ProjectController.groovy} | 20 +-
.../scaffoldingfields/UrlMappings.groovy} | 20 +-
.../domain/scaffoldingfields/Address.groovy} | 26 +-
.../domain/scaffoldingfields/Department.groovy} | 22 +-
.../domain/scaffoldingfields/Employee.groovy | 129 +++
.../domain/scaffoldingfields/Project.groovy} | 47 +-
.../grails-app/i18n/messages.properties | 0
.../init/scaffoldingfields/Application.groovy} | 17 +-
.../init/scaffoldingfields/BootStrap.groovy | 114 +++
.../grails-app/views/_fields/default/_wrapper.gsp | 38 +
.../views/_fields/employee/biography/_wrapper.gsp | 38 +
.../views/_fields/employee/email/_wrapper.gsp | 39 +
.../scaffoldingfields/CrudFunctionalSpec.groovy | 269 ++++++
.../scaffoldingfields/CustomTemplatesSpec.groovy | 171 ++++
.../groovy/scaffoldingfields/FieldTypesSpec.groovy | 250 ++++++
.../groovy/scaffoldingfields/PaginationSpec.groovy | 502 +++++++++++
.../RelationshipsFunctionalSpec.groovy | 534 +++++++++++
.../ValidationFunctionalSpec.groovy | 861 ++++++++++++++++++
.../scaffoldingfields/pages/DepartmentPages.groovy | 96 ++
.../scaffoldingfields/pages/EmployeePages.groovy | 139 +++
.../scaffoldingfields/pages/ProjectPages.groovy | 105 +++
.../pages/ScaffoldCreatePage.groovy | 147 +++
.../pages/ScaffoldEditPage.groovy | 159 ++++
.../pages/ScaffoldListPage.groovy | 112 +++
.../pages/ScaffoldShowPage.groovy | 106 +++
settings.gradle | 2 +
243 files changed, 30015 insertions(+), 489 deletions(-)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/async/AsyncTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/binding/AdvancedDataBindingController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/caching/CacheTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/codecs/CodecTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/commanddi/CommandDIController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/contentneg/ContentNegotiationController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/cors/CorsTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/errorhandling/ErrorHandlingTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/fileupload/FileUploadTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/flow/FlowController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/flow/FlowTargetController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/i18n/I18nTestController.groovy
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/controllers/functionaltests/interceptors/ActionExcludeInterceptor.groovy}
(63%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/AdvancedMatchingController.groovy
copy
grails-test-examples/{async-events-pubsub-demo/src/main/groovy/pubsub/demo/BookSubscriber.groovy
=>
app1/grails-app/controllers/functionaltests/interceptors/AttributeSettingInterceptor.groovy}
(52%)
copy
grails-test-examples/{async-events-pubsub-demo/grails-app/services/pubsub/demo/TotalService.groovy
=>
app1/grails-app/controllers/functionaltests/interceptors/BlockingInterceptor.groovy}
(51%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/ConditionalMatchInterceptor.groovy
copy
grails-test-examples/{gorm/src/integration-test/groovy/gorm/UserSpec.groovy =>
app1/grails-app/controllers/functionaltests/interceptors/FirstInterceptor.groovy}
(55%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/controllers/functionaltests/interceptors/HttpMethodMatchingInterceptor.groovy}
(66%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/InterceptorTestController.groovy
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/controllers/functionaltests/interceptors/MultipleRulesInterceptor.groovy}
(61%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/controllers/functionaltests/interceptors/NamespaceMatchingInterceptor.groovy}
(67%)
copy
grails-test-examples/{gorm/src/integration-test/groovy/gorm/UserSpec.groovy =>
app1/grails-app/controllers/functionaltests/interceptors/SecondInterceptor.groovy}
(54%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/controllers/functionaltests/interceptors/SessionInterceptor.groovy}
(58%)
copy
grails-test-examples/{gorm/src/integration-test/groovy/gorm/UserSpec.groovy =>
app1/grails-app/controllers/functionaltests/interceptors/ThirdInterceptor.groovy}
(55%)
copy
grails-test-examples/{async-events-pubsub-demo/src/main/groovy/pubsub/demo/BookSubscriber.groovy
=>
app1/grails-app/controllers/functionaltests/interceptors/TimingInterceptor.groovy}
(51%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/requestresponse/RequestResponseTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/springevents/SpringEventController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/taglib/TagLibTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/urlmappings/UrlMappingsTestController.groovy
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/domain/functionaltests/binding/Address.groovy} (69%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/domain/functionaltests/binding/Contributor.groovy} (76%)
copy
grails-test-examples/{async-events-pubsub-demo/src/main/groovy/pubsub/demo/BookSubscriber.groovy
=> app1/grails-app/domain/functionaltests/binding/Employee.groovy} (50%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/domain/functionaltests/binding/Project.groovy} (72%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/domain/functionaltests/binding/Team.groovy} (77%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/domain/functionaltests/binding/TeamMember.groovy} (73%)
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/constraints/Appointment.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/constraints/PaymentInfo.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/constraints/Product.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/constraints/Registration.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/events/AuditedEntity.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/events/StatefulEntity.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/events/VetoableEntity.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/gorm/Author.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/gorm/GormBook.groovy
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/domain/functionaltests/services/InventoryItem.groovy} (64%)
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/caching/CacheTestService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/commanddi/NotificationService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/commanddi/PricingService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/commanddi/ValidationHelperService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/services/AsyncProcessingService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/services/InventoryService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/services/OrderService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/springevents/EventListenerService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/springevents/EventPublisherService.groovy
create mode 100644
grails-test-examples/app1/grails-app/taglib/functionaltests/taglib/CustomTagLib.groovy
create mode 100644
grails-test-examples/app1/grails-app/views/contentNegotiation/error.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/contentNegotiation/index.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/_simpleTemplate.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testAlertTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testAppInfoTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBadgeTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInCheckBox.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInCollect.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInCookie.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInCreateLink.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInEach.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInFieldValue.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInFindAll.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInForm.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInFormatDate.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInFormatNumber.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInHeader.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInHiddenField.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInIf.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInInclude.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInJoin.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInLink.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInMessage.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInPaginate.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInPasswordField.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInRadio.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInRender.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInResource.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInSelect.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInSet.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInSortableColumn.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInTextArea.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInTextField.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInUploadForm.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInWhile.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testConditionalTags.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testCssClassTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testDefinitionListTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testEncodingTags.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testFormattedTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testHelloTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testIterateTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testJoinTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testListTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testNestedTags.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testPanelTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testProgressTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testRawTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testRepeatTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testRequestInfoTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testSessionValueTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testSetVarTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testTagsWithModel.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testWrapperTag.gsp
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/async/AsyncPromiseSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/binding/AdvancedDataBindingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/caching/CachingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/codecs/SecurityCodecsSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/commanddi/CommandObjectDISpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/constraints/ConstraintValidationSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/contentneg/ContentNegotiationSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/cors/CorsAdvancedSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/errorhandling/ErrorHandlingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/events/DomainEventsSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/fileupload/FileUploadSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/flow/FlashChainForwardSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/gorm/GormAdvancedSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/i18n/InternationalizationSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/interceptors/InterceptorAdvancedMatchingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/interceptors/InterceptorOrderingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/requestresponse/RequestResponseSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/services/ServiceIntegrationSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/springevents/SpringEventsSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/taglib/TagLibSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/urlmappings/UrlMappingsSpec.groovy
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/src/main/groovy/functionaltests/springevents/CustomApplicationEvent.groovy}
(63%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/src/main/groovy/functionaltests/springevents/PriorityEvent.groovy} (69%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/src/main/groovy/functionaltests/springevents/UserActionEvent.groovy} (62%)
create mode 100644
grails-test-examples/async-events-pubsub-demo/src/integration-test/groovy/pubsub/demo/AsyncEventsSpec.groovy
create mode 100644
grails-test-examples/cache/grails-app/controllers/com/demo/AdvancedCachingController.groovy
create mode 100644
grails-test-examples/cache/grails-app/controllers/com/demo/UrlMappings.groovy
create mode 100644
grails-test-examples/cache/grails-app/services/com/demo/AdvancedCachingService.groovy
create mode 100644
grails-test-examples/cache/src/integration-test/groovy/com/demo/AdvancedCachingIntegrationSpec.groovy
create mode 100644
grails-test-examples/cache/src/test/groovy/com/demo/AdvancedCachingServiceSpec.groovy
create mode 100644
grails-test-examples/datasources/src/integration-test/groovy/functionaltests/CrossDatasourceTransactionSpec.groovy
create mode 100644
grails-test-examples/datasources/src/integration-test/groovy/functionaltests/DatasourceSwitchingSpec.groovy
create mode 100644
grails-test-examples/external-configuration/src/integration-test/groovy/test/app/ConfigurationPrioritySpec.groovy
create mode 100644
grails-test-examples/external-configuration/src/integration-test/groovy/test/app/EnvironmentConfigurationSpec.groovy
copy grails-test-examples/gorm/grails-app/{domain/gorm/Book.groovy =>
controllers/gorm/AuthorController.groovy} (83%)
copy grails-test-examples/gorm/grails-app/{domain/gorm/Book.groovy =>
controllers/gorm/BookController.groovy} (82%)
copy grails-test-examples/gorm/grails-app/{domain/gorm/Book.groovy =>
controllers/gorm/UrlMappings.groovy} (75%)
create mode 100644
grails-test-examples/gorm/grails-app/domain/gorm/AuditedEntity.groovy
copy
grails-test-examples/gorm/{src/integration-test/groovy/gorm/UserSpec.groovy =>
grails-app/domain/gorm/Author.groovy} (57%)
copy {grails-data-graphql/examples/grails-docs-app =>
grails-test-examples/gorm}/grails-app/i18n/messages.properties (100%)
create mode 100644
grails-test-examples/gorm/grails-app/services/gorm/BookDataService.groovy
create mode 100644
grails-test-examples/gorm/grails-app/services/gorm/TransactionTestService.groovy
create mode 100644 grails-test-examples/gorm/grails-app/views/error.gsp
create mode 100644 grails-test-examples/gorm/grails-app/views/index.gsp
create mode 100644 grails-test-examples/gorm/grails-app/views/notFound.gsp
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/FieldsValidationSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormCascadeOperationsSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormCriteriaQueriesSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormDataServicesSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormEventsSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormWhereQueryAdvancedSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/ScaffoldingFunctionalSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/TransactionPropagationSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/ValidationConstraintsSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/pages/AuthorPages.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/pages/BookPages.groovy
create mode 100644
grails-test-examples/gsp-layout/grails-app/controllers/org/example/grails/layout/TagLibController.groovy
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/_partial.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/collectTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/createLinkTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/eachTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/elseTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/encodeTags.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/formTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/formatTags.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/ifTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/index.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/joinTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/linkTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/renderTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/setTag.gsp
create mode 100644
grails-test-examples/gsp-layout/src/integration-test/groovy/GspTagLibSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautContextSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautQualifierSpec.groovy
create mode 100644
grails-test-examples/plugins/exploded/src/integration-test/groovy/exploded/PluginDependencySpec.groovy
create mode 100644
grails-test-examples/plugins/loadfirst/src/integration-test/groovy/loadfirst/PluginLifecycleSpec.groovy
create mode 100644
grails-test-examples/plugins/loadsecond/src/integration-test/groovy/loadsecond/PluginLoadOrderSpec.groovy
copy grails-test-examples/{gorm => scaffolding-fields}/build.gradle (69%)
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/conf/application.yml
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
scaffolding-fields/grails-app/controllers/scaffoldingfields/DepartmentController.groovy}
(71%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
scaffolding-fields/grails-app/controllers/scaffoldingfields/EmployeeController.groovy}
(72%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
scaffolding-fields/grails-app/controllers/scaffoldingfields/ProjectController.groovy}
(72%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
scaffolding-fields/grails-app/controllers/scaffoldingfields/UrlMappings.groovy}
(73%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
scaffolding-fields/grails-app/domain/scaffoldingfields/Address.groovy} (60%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
scaffolding-fields/grails-app/domain/scaffoldingfields/Department.groovy} (66%)
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/domain/scaffoldingfields/Employee.groovy
copy
grails-test-examples/{datasources/src/integration-test/groovy/functionaltests/MultipleDataSourcesSpec.groovy
=> scaffolding-fields/grails-app/domain/scaffoldingfields/Project.groovy} (51%)
copy {grails-data-graphql/examples/grails-docs-app =>
grails-test-examples/scaffolding-fields}/grails-app/i18n/messages.properties
(100%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
scaffolding-fields/grails-app/init/scaffoldingfields/Application.groovy} (74%)
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/init/scaffoldingfields/BootStrap.groovy
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/views/_fields/default/_wrapper.gsp
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/views/_fields/employee/biography/_wrapper.gsp
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/views/_fields/employee/email/_wrapper.gsp
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/CrudFunctionalSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/CustomTemplatesSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/FieldTypesSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/PaginationSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/RelationshipsFunctionalSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/ValidationFunctionalSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/DepartmentPages.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/EmployeePages.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ProjectPages.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ScaffoldCreatePage.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ScaffoldEditPage.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ScaffoldListPage.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ScaffoldShowPage.groovy