This is an automated email from the ASF dual-hosted git repository.

jamesfredley pushed a change to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git


    from 1bbfd1607c Merge branch '7.0.x' into 7.1.x
     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
     new e56812c8c7 Merge branch '7.0.x' into 7.1.x

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


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


Reply via email to