Skip to content

Drop support for REST Assured until it supports Groovy 5 #1000

@wilkinsona

Description

@wilkinsona

It's a little late in the release cycle, but we've just learned that REST Assured 5.5.6 does not work with Groovy 5. Many of REST Docs' tests fail with an NPE like this:

java.lang.NullPointerException
	at java.base/java.lang.Class.isAssignableFrom(Native Method)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObject(ClosureMetaClass.java:367)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeOnDelegationObjects(ClosureMetaClass.java:335)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:324)
	at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:63)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
	at io.restassured.internal.RequestSpecificationImpl$_sendHttpRequest_closure27.doCall(RequestSpecificationImpl.groovy:1484)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
	at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:270)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1010)
	at groovy.lang.Closure.call(Closure.java:471)
	at groovy.lang.Closure.call(Closure.java:460)
	at io.restassured.internal.http.HTTPBuilder.doRequest(HTTPBuilder.java:494)
	at io.restassured.internal.http.HTTPBuilder.request(HTTPBuilder.java:453)
	at io.restassured.internal.http.HTTPBuilder$request$2.call(Unknown Source)
	at io.restassured.internal.RequestSpecificationImpl.sendHttpRequest(RequestSpecificationImpl.groovy:1480)
	at io.restassured.internal.RequestSpecificationImpl.this$2$sendHttpRequest(RequestSpecificationImpl.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1237)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1010)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:793)
	at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:46)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:57)
	at io.restassured.internal.RequestSpecificationImpl.sendRequest(RequestSpecificationImpl.groovy:1229)
	at io.restassured.internal.RequestSpecificationImpl.this$2$sendRequest(RequestSpecificationImpl.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1237)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1010)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:793)
	at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:46)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:166)
	at io.restassured.internal.filter.SendRequestFilter.filter(SendRequestFilter.groovy:30)
	at io.restassured.filter.Filter$filter$0.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
	at io.restassured.filter.Filter$filter.call(Unknown Source)
	at io.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:72)
	at io.restassured.filter.time.TimingFilter.filter(TimingFilter.java:56)
	at io.restassured.filter.Filter$filter.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
	at io.restassured.filter.Filter$filter$0.call(Unknown Source)
	at io.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:72)
	at io.restassured.filter.FilterContext$next.call(Unknown Source)
	at io.restassured.internal.filter.CsrfFilter.filter(CsrfFilter.groovy:89)
	at io.restassured.filter.Filter$filter$0.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
	at io.restassured.filter.Filter$filter$0.call(Unknown Source)
	at io.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:72)
	at io.restassured.filter.FilterContext$next.call(Unknown Source)
	at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1704)
	at io.restassured.internal.RequestSpecificationImpl.this$2$applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1237)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1010)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:793)
	at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:46)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:57)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:203)
	at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1710)
	at io.restassured.internal.RequestSpecificationImpl.this$2$applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:338)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:274)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1237)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1010)
	at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:793)
	at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:46)
	at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:57)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:203)
	at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy:172)
	at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy)
	at org.springframework.restdocs.restassured.RestAssuredRequestConverterTests.cookies(RestAssuredRequestConverterTests.java:125)

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: enhancementEnhancement that adds a new feature

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions