-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feature #79 - recording support #80
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See code comments. Overall a solid piece of work. Thanks
src/testFixtures/groovy/grails/plugin/geb/ContainerGebRecordingExtension.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebRecordingExtension.groovy
Outdated
Show resolved
Hide resolved
This functionality could be in Grails 6, as well as the service per container. |
We plan to back port it. When you say a service per container, can you please clarify? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Many minor comments and one big one (Optional.ofNullable
)
src/testFixtures/groovy/grails/plugin/geb/ContainerGebConfiguration.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebConfiguration.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebConfiguration.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebConfiguration.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebConfiguration.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebTestDescription.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebTestDescription.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebTestListener.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebTestListener.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebConfiguration.groovy
Outdated
Show resolved
Hide resolved
I've gone ahead and moved all of the container lifecycle management to the spock extension. I also utilize a jvm shutdown hook to ensure the containers are always terminated - so force killing the test run won't leave containers running now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! Some more comments.
src/testFixtures/groovy/grails/plugin/geb/ContainerGebTestDescription.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebTestListener.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/RecordingSettings.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/WebDriverContainerHolder.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebRecordingExtension.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebRecordingExtension.groovy
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebRecordingExtension.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/WebDriverContainerHolder.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/RecordingSettings.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/RecordingSettings.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/RecordingSettings.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/WebDriverContainerHolder.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/WebDriverContainerHolder.groovy
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/WebDriverContainerHolder.groovy
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/ContainerGebRecordingExtension.groovy
Outdated
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/WebDriverContainerHolder.groovy
Show resolved
Hide resolved
src/testFixtures/groovy/grails/plugin/geb/WebDriverContainerHolder.groovy
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work James!
I have not tested the new annotation. Maybe @sbglasius can do that as he had some use cases.
Thanks @matrei . I attempted to start back porting these changes but ran into a blocker: I documented the issue in #73. I'll merge this PR once @sbglasius gives the OK. |
* Not auto-imported * Stand-alone project * Includes 'geb' as subproject (not the other way around) * Project has grails.geb.recording.mode = RECORD_ALL in build.gradle
My use-case does not work, but I have provided a PR for @jdaugherty's branch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Solid piece of work @jdaugherty - we're almost there!
src/testFixtures/groovy/grails/plugin/geb/WebDriverContainerHolder.groovy
Outdated
Show resolved
Hide resolved
Thank you for the work! I merged your changes into my branch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
Adds initial recording support.