java.net.UnknownHostException: oauth

1,477 views
Skip to first unread message

Marc Fernandez

unread,
Nov 10, 2011, 11:44:21 AM11/10/11
to REST assured
Hi team,

I get an exception when using the last version 1.4. All works fine
just changing the version to one of the previous versions. I could not
find much information online so I guess it maybe a bug.

My code is simply:

String response = expect().body(startsWith("something
here")).when().get("request url here").asString();


The exception I get is:

java.net.UnknownHostException: oauth
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:
1201)
at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
at java.net.InetAddress.getAllByName(InetAddress.java:1084)
at java.net.InetAddress.getAllByName(InetAddress.java:1020)
at
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:
126)
at
org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:
149)
at
org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:
108)
at
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:
415)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:
641)
at
org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:
576)
at org.apache.http.client.HttpClient$execute.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
40)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
128)
at
com.jayway.restassured.internal.RequestSpecificationImpl.restAssuredDoRequest(RequestSpecificationImpl.groovy:
1019)
at com.jayway.restassured.internal.RequestSpecificationImpl.this
$2$restAssuredDoRequest(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
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)
at
org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnCurrentN(ScriptBytecodeAdapter.java:
77)
at com.jayway.restassured.internal.RequestSpecificationImpl.this$dist
$invoke$2(RequestSpecificationImpl.groovy)
at com.jayway.restassured.internal.RequestSpecificationImpl
$1.methodMissing(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
org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
90)
at groovy.lang.MetaClassImpl.invokeMissingMethod(MetaClassImpl.java:
813)
at
groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:
1107)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)
at
org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:
66)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:
44)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
141)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
153)
at com.jayway.restassured.internal.RequestSpecificationImpl
$1.doRequest(RequestSpecificationImpl.groovy:583)
at groovyx.net.http.HTTPBuilder.doRequest(HTTPBuilder.java:427)
at groovyx.net.http.HTTPBuilder.request(HTTPBuilder.java:376)
at groovyx.net.http.HTTPBuilder$request.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
40)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
132)
at
com.jayway.restassured.internal.RequestSpecificationImpl.sendHttpRequest(RequestSpecificationImpl.groovy:
716)
at com.jayway.restassured.internal.RequestSpecificationImpl.this
$2$sendHttpRequest(RequestSpecificationImpl.groovy)
at com.jayway.restassured.internal.RequestSpecificationImpl$this
$2$sendHttpRequest.callCurrent(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:
44)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
141)
at
com.jayway.restassured.internal.RequestSpecificationImpl.sendRequest(RequestSpecificationImpl.groovy:
660)
at com.jayway.restassured.internal.RequestSpecificationImpl.this
$2$sendRequest(RequestSpecificationImpl.groovy)
at com.jayway.restassured.internal.RequestSpecificationImpl$this
$2$sendRequest.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
40)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
132)
at
com.jayway.restassured.internal.filter.RootFilter.filter(RootFilter.groovy:
28)
at com.jayway.restassured.filter.Filter$filter.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
40)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
132)
at
com.jayway.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:
45)
at com.jayway.restassured.filter.FilterContext$next.call(Unknown
Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
40)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
128)
at
com.jayway.restassured.internal.RequestSpecificationImpl.invokeFilterChain(RequestSpecificationImpl.groovy:
551)
at com.jayway.restassured.internal.RequestSpecificationImpl
$invokeFilterChain.callCurrent(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:
44)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
141)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
157)
at
com.jayway.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:
880)
at com.jayway.restassured.internal.RequestSpecificationImpl.this
$2$applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy)
at com.jayway.restassured.internal.RequestSpecificationImpl$this
$2$applyPathParamsAndSendRequest.callCurrent(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:
44)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
141)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
157)
at
com.jayway.restassured.internal.RequestSpecificationImpl.get(RequestSpecificationImpl.groovy:
118)
at com.jayway.restassured.specification.RequestSender
$get.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:
40)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
116)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
128)
at
com.jayway.restassured.internal.ResponseSpecificationImpl.get(ResponseSpecificationImpl.groovy:
236)
at
com.playfish.taf.fb.model.services.AppGraphService.requestAccessToken(AppGraphService.java:
91)
at
com.playfish.taf.fb.model.services.AppGraphService.tryRequestAccessToken(AppGraphService.java:
83)
at
com.playfish.taf.fb.model.services.AppGraphService.requestAccessToken(AppGraphService.java:
74)
at
com.playfish.taf.fb.model.services.AppGraphService.getAccessToken(AppGraphService.java:
52)
at
com.playfish.taf.fb.builder.ApplicationInterpreter.getAccessToken(ApplicationInterpreter.java:
94)
at
com.playfish.taf.idsl.fb.testuser.IntegrationTestsTestUser.getApplicationAccessTokenTest(IntegrationTestsTestUser.java:
42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
25)
at org.junit.runners.model.FrameworkMethod
$1.runReflectiveCall(FrameworkMethod.java:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:
15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:
42)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:
20)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:
28)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:
47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:
65)

Thanks team. I hope it helps to find the bug. Sorry I don't have time
to fixit now.

Marc Fernandez

unread,
Nov 10, 2011, 11:46:05 AM11/10/11
to REST assured
Bye the way,

I am just doing queries against Facebook Test users API, pretty
standard things. Nothing special.


On Nov 10, 4:44 pm, Marc Fernandez <marc.fernan...@playfish.com>
wrote:

Johan Haleby

unread,
Nov 10, 2011, 2:13:31 PM11/10/11
to rest-a...@googlegroups.com
Hi,

Did it start to fail in version 1.4 or 1.4.5? Did it work in version 1.3.1?

Are you using the oauth authentication in REST Assured? What is the
actual URL that you try to access? (if it's a public URI it would be
good to know which one so I can try myself).

/Johan

Marc Fernandez

unread,
Nov 10, 2011, 2:34:54 PM11/10/11
to REST assured
Hello Johan,

It starts failing from 1.4 version. It works with 1.3.1 and below.

The url that I use is "https://graph.facebook.com/oauth/access_token?
client_id="000000000"&client_secret="1111111111"&grant_type=client_credentials"

You can test using Facebook API, it is public. You only need to create
an app for test.

Thanks,
Marc Andreu.
> ...
>
> read more »

Johan Haleby

unread,
Nov 12, 2011, 5:05:34 AM11/12/11
to rest-a...@googlegroups.com
Hi,

I've briefly checked the example that you sent me (personally) and the reason for your error is that your base uri ends with "/" and your "get path" starts with slash. I.e. you end up with a URL that looks like this:

https://graph.facebook.com///xxxxxx/accounts/test-users?access_token..
If you remove the ending slash from the base uri it'll continue but you'll run into a "SSLPeerUnverifiedException". The reason why you don't see this in version 1.3.1 is probably because of an update of HTTP Client in REST Assured 1.4. You can read more about this here and you can refer to the documentation on how to solve it. If you know any better way (like how to tell HTTP Client to ignore unverified peers) let me know and I'll add support for it in REST Assured as well.

I've also added an issue for the removal of "double slash".

Regards,
/Johan

Marc Fernandez

unread,
Nov 14, 2011, 4:54:35 AM11/14/11
to rest-a...@googlegroups.com
Many thanks Johan, 

I will check it later to see if I can make it work with 1.4. 

Kind regards, 
Marc Andreu.
Reply all
Reply to author
Forward
0 new messages