jonnybot0 commented on issue #284:
URL: https://github.com/apache/groovy-geb/issues/284#issuecomment-3305267063

   
   I thought maybe the deep delegation was part of the issue, so I built a 
local snapshot of Geb with a GebSpec that didn't use Delegate:
   ```
   import geb.Browser
   import geb.test.GebTestManager
   import geb.test.ManagedGebTest
   import geb.transform.DynamicallyDispatchesToBrowser
   import spock.lang.Specification
   
   @DynamicallyDispatchesToBrowser
   class GebSpec extends Specification implements ManagedGebTest {
   
       private final static GebTestManager TEST_MANAGER = new 
SpockGebTestManagerBuilder().build()
   
       GebTestManager getTestManager() {
           TEST_MANAGER
       }
   
       Browser getBrowser() {
           TEST_MANAGER.browser
       }
   
   }
   ```
   
   That failed in the same way, so it's probably not that.
   
   From reproducing this error, I can see that the invocation goes through 
`geb.spock.GebExtension#addManagerCalls`. This happens even if I remove the 
wrapper method in another tests with the same failure 
(`io.micronaut.security.token.jwt.cookie.JwtCookieAuthenticationSpec`):
   
   ```
       def "verify jwt cookie authentication works"() {
           given:
           if (embeddedServer) {
               def newBaseUrl = BaseUrlUtils.getBaseUrl(embeddedServer)
               browser.baseUrl = newBaseUrl
           }
   ```
   
   Lines 65 and 75 are both in the thread dump:
   ```
        at 
geb.spock.GebExtension$_addManagerCalls_closure3.doCall(GebExtension.groovy:75)
        at 
geb.spock.GebExtension$_addManagerCalls_closure2.doCall(GebExtension.groovy:65)
   ```
   
   Interestingly, I can reproduce the error on your branch even if I downgrade 
that branch in Micronaut Security to Geb 7.0.
   
   ```
   groovy.lang.ReadOnlyPropertyException: Cannot set readonly property: baseUrl 
for class: geb.Browser
        at app//groovy.lang.GroovyObject.setProperty(GroovyObject.java:61)
        at 
app//io.micronaut.security.token.jwt.cookie.JwtCookieAuthenticationSpec.getBrowser(JwtCookieAuthenticationSpec.groovy:62)
        at app//geb.spock.GebSpec.methodMissing(GebSpec.groovy:1)
        at 
io.micronaut.security.token.jwt.cookie.JwtCookieAuthenticationSpec.verify jwt 
cookie authentication works(JwtCookieAuthenticationSpec.groovy:147)
        Suppressed: groovy.lang.MissingMethodException: No signature of method: 
geb.Browser.clearCookiesQuietly() is applicable for argument types: () values: 
[]
                at 
app//geb.test.GebTestManager.resetBrowser(GebTestManager.groovy:140)
                at 
app//geb.test.GebTestManager.afterTest(GebTestManager.groovy:112)
                at 
geb.spock.GebExtension.addManagerCalls_closure3(GebExtension.groovy:74)
                at app//groovy.lang.Closure.call(Closure.java:433)
                at 
app//org.spockframework.runtime.extension.MethodInvocation.proceed(MethodInvocation.java:101)
                at 
app//org.spockframework.runtime.model.MethodInfo.invoke(MethodInfo.java:156)
                at 
app//org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$9(NodeTestTask.java:139)
                at 
app//org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
                at 
app//org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:138)
                at 
app//org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:95)
                at 
[email protected]/java.util.ArrayList.forEach(ArrayList.java:1511)
                at 
app//org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchic
   ```
   
   The only other change I can see on your branch was updating Selenium. If I 
downgrade it back to 4.33.0, the test passes, albeit rather slowly. It also 
passes in Selenium 4.34. That does seem like a potential compatibility issue, 
but I can't speculate further what that is.
   
   Hopefully downgrading to 4.34 will suffice as a workaround for the moment 
until we can get a deeper answer.
   
   
[thread_dump.txt](https://github.com/user-attachments/files/22398142/thread_dump.txt)


-- 
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]

Reply via email to