I get this exception (java.lang.NullPointerException: Cannot get property 'assertionClosure' on null object) when using the RequestSpecificationBuilder as below and sending a request using POST method
//Elsehwere
RequestSpecification r = RestAssured.given().relaxedHTTPSValidation().accept(ContentType.ANY)
.auth().preemptive().basic(cslConsole.getloginUser(), cslConsole.getloginPassword())
.baseUri(cslConsole.getManagementConsoleURL());
basicRequest.spec(r);
//At the point of sending the request
RequestSpecBuilder builder = new RequestSpecBuilder();
builder.addRequestSpecification(basicRequest);
builder.addQueryParam("param","50");
builder.setBasePath("/api/v1/scsr");
builder.setBody("Some body");
RequestSpecification request = reqSpecbuilder.build();
String url = "https://10.0.2.4:8443/"
Response response = request.post(url); ---->exception
Is this expected ? I do not see an issue with the RequestSpecBuilder .setBody() as I am using it with only POST? Any clues ?
Yeah sounds like a bug :(
On Wed, Dec 6, 2017 at 10:39 PM, dreamsivaraj notifications@github.com
wrote:
Getting the same error on running the below code.
RequestSpecBuilder request = new RequestSpecBuilder();
request.setBaseUri("https://google.com");
String str2 = request.build().when().get().asString();
System.out.println(str2);Where as it working in the below code.
String str1 = given().baseUri("https://google.com").when().get().asString();
System.out.println(str1);It should be a bug.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/rest-assured/rest-assured/issues/938#issuecomment-349783462,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALalU-JeWkVyU7t_aZLRwyBWUKQC6G2ks5s9wmQgaJpZM4QSHkQ
.
Also getting this exception.
+1
`public CommonHelpers() {
spec = builder.addHeader("User-Agent", USER_AGENT).build()
.baseUri(BASE_URL)
.contentType(ContentType.JSON);
}
public static Response getEntities(Map
spec.basePath(BASE_PATH);
Optional.ofNullable(queryParams).ifPresent(spec::parameters);
return spec.when().get();
}`
The exception is raised at spec.when().get()
I'm getting this exception as well, using Rest Assured version 3.3.0.
The code I use for requesting is the following:
RequestSpecBuilder requestBuilder = new RequestSpecBuilder();
RequestSpecification request = requestBuilder.setBaseUri("https://swapi.co").setBasePath("/api")
.addQueryParam("format", "json").setContentType(ContentType.JSON).build();
Response response = request.get("/planets");
And I'm getting the following exception (running with TestNG)
java.lang.NullPointerException: Cannot get property 'assertionClosure' on null object
at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60)
at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:190)
at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:299)
at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1747)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1225)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:822)
at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:47)
at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:57)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
at io.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1755)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1225)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:822)
at io.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:47)
at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:57)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:157)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:185)
at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy:171)
at io.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy)
at com.epam.automationlabs.gdot.SampleTest.test(SampleTest.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:583)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:719)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:989)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:648)
at org.testng.TestRunner.run(TestRunner.java:505)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:455)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)
at org.testng.SuiteRunner.run(SuiteRunner.java:364)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1208)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1137)
at org.testng.TestNG.runSuites(TestNG.java:1049)
at org.testng.TestNG.run(TestNG.java:1017)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)
Seems that RequestSpecBuilder doesn't generate correct RequestSpecification, some fields are missing.
+1
`public CommonHelpers() {
spec = builder.addHeader("User-Agent", USER_AGENT).build()
.baseUri(BASE_URL)
.contentType(ContentType.JSON);}
public static Response getEntities(MapqueryParams) {
spec.basePath(BASE_PATH);
Optional.ofNullable(queryParams).ifPresent(spec::parameters);
return spec.when().get();
}`The exception is raised at spec.when().get()
Pass your built RequestSpecification instance to the given method...
RestAssured.given(spec).get();
Most helpful comment
Pass your built RequestSpecification instance to the given method...
RestAssured.given(spec).get();