Skip to content
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

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

Closed
johanhaleby opened this issue Jul 20, 2015 · 0 comments
Closed

Comments

@johanhaleby
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant