wenhao001 / rest-assured

Automatically exported from code.google.com/p/rest-assured
0 stars 0 forks source link

useRelaxedHTTPSValidation does not seem to work with Java 6 (JDK) #406

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What is the expected output? What do you see instead?
SocketException instead of Successful connection to server when running test 
with Java 6 defined as the JDK.

What version of the product are you using? On what operating system?
2.4.0, Java 6, Windows 7

Please provide any additional information below.

I have a REST API test suite that uses Rest Assured 2.4.0. Login to the 
application is using a POST call. I am working around the cert validation by 
using RestAssured.useRelaxedHTTPSValidation() 
statically for all requests. The tests run just fine with JDK 1.7.0_79 but are 
failing with SocketException errors when running with JDK 1.6.0_43. (on Windows 
7)

Here is how I login and get Authorization Header which are needed for all 
requests

    public static RequestSpecification userWithAuthHeader() throws IOException {
        testData = readTestDataFile();
        RestAssured.baseURI = testData.getString("environment.URI");
        RestAssured.basePath = testData.getString("environment.Path");
        RestAssured.config.getHttpClientConfig().reuseHttpClientInstance();
        RestAssured.useRelaxedHTTPSValidation();
        String user =  testData.getString("user.username");
        String password = testData.getString("user.password");
        String domain = testData.getString("user.domain");
        String acceptHeader = testData.getString("acceptHeader");
        String auth= post("/system/login?domain=" + domain + "&user=" + user + "&pw=" + password).getHeader("Authorization");
        RequestSpecification requestSpec = with().log().all().headers("Authorization", auth, "Accept", acceptHeader);
        return requestSpec;
}

The post method above fails when running it on Windows 7 with JDK 6  with the 
following errors:

    Running com.org.group.preCheckInSPTests.getAppliancesTest
    Configuring TestNG with: TestNG652Configurator
    May 24, 2015 7:54:26 AM org.apache.http.impl.client.DefaultRequestDirector tryConnect
    INFO: I/O exception (java.net.SocketException) caught when connecting to {s}->https://<IP_ADDRESS>:
    Connection reset
    May 24, 2015 7:54:26 AM org.apache.http.impl.client.DefaultRequestDirector tryConnect
    INFO: Retrying connect to {s}->https://<IP_ADDRESS>
    May 24, 2015 7:54:26 AM org.apache.http.impl.client.DefaultRequestDirector tryConnect
    INFO: I/O exception (java.net.SocketException) caught when connecting to {s}->https://<IP_ADDRESS>:
    Connection reset
    May 24, 2015 7:54:26 AM org.apache.http.impl.client.DefaultRequestDirector tryConnect
    INFO: Retrying connect to {s}->https://<IP_ADDRESS>
    May 24, 2015 7:54:26 AM org.apache.http.impl.client.DefaultRequestDirector tryConnect
    INFO: I/O exception (java.net.SocketException) caught when connecting to {s}->https://<IP_ADDRESS>:
    Connection reset
    May 24, 2015 7:54:26 AM org.apache.http.impl.client.DefaultRequestDirector tryConnect
    INFO: Retrying connect to {s}->https://<IP_ADDRESS>
    Tests run: 4, Failures: 1, Errors: 0, Skipped: 3, Time elapsed: 6.116 sec <<< FAILURE! - in com.org.group.preCheckInSPTests.getAppliancesTest
    loginAsUser(com.org.group.preCheckIn.getAppliancesTest)  Time elapsed: 5.846 sec  <<< FAILURE!
    java.net.SocketException: Connection reset
            at java.net.SocketInputStream.read(SocketInputStream.java:168)
            at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:422)
            at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:460)
            at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:863)
            at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1188)
            at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1215)
            at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1199)
            at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:535)
            at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:403)
            at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
            at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
            at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
            at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
            at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
            at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
            at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
            at org.apache.http.client.HttpClient$execute$0.call(Unknown Source)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
            at com.jayway.restassured.internal.RequestSpecificationImpl$RestAssuredHttpBuilder.doRequest(RequestSpecificationImpl.groovy:1764)
            at com.jayway.restassured.internal.http.HTTPBuilder.post(HTTPBuilder.java:333)
            at com.jayway.restassured.internal.http.HTTPBuilder$post$2.call(Unknown Source)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
            at com.jayway.restassured.internal.RequestSpecificationImpl.sendRequest(RequestSpecificationImpl.groovy:1067)
            at com.jayway.restassured.internal.RequestSpecificationImpl.this$2$sendRequest(RequestSpecificationImpl.groovy)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
            at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:807)
            at com.jayway.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
            at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)
            at com.jayway.restassured.internal.filter.SendRequestFilter.filter(SendRequestFilter.groovy:31)
            at com.jayway.restassured.filter.Filter$filter.call(Unknown Source)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
            at com.jayway.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:49)
            at com.jayway.restassured.filter.FilterContext$next.call(Unknown Source)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)
            at com.jayway.restassured.internal.RequestSpecificationImpl.invokeFilterChain(RequestSpecificationImpl.groovy:956)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
            at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:807)
            at com.jayway.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
            at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45)
            at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:55)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149)
            at com.jayway.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1414)
            at com.jayway.restassured.internal.RequestSpecificationImpl.this$2$applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:90)
            at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:324)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1207)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1016)
            at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:807)
            at com.jayway.restassured.internal.RequestSpecificationImpl.invokeMethod(RequestSpecificationImpl.groovy)
            at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.call(PogoInterceptableSite.java:45)
            at org.codehaus.groovy.runtime.callsite.PogoInterceptableSite.callCurrent(PogoInterceptableSite.java:55)
            at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:49)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
            at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:149) 
            at com.jayway.restassured.internal.RequestSpecificationImpl.post(RequestSpecificationImpl.groovy:154) 
            at com.jayway.restassured.internal.RequestSpecificationImpl.post(RequestSpecificationImpl.groovy) 
            at com.jayway.restassured.RestAssured.post(RestAssured.java:832)

Link to question on stackoverflow: 
http://stackoverflow.com/questions/30423660/rest-assured-userelaxedhttpsvalidati
on-and-java-6-issues

Original issue reported on code.google.com by Apoorva....@gmail.com on 24 May 2015 at 9:10