Cucumber Error: Socket Error for Test Environment Host in REST API
- by tmo256
I posted this to the Cucumber group with no replies, which makes me wonder if this is actually a cucumber issue or not. I'm pretty new to cucumber, and there are a number of things I really don't quite understand about how the cucumber environment is set up and executed within the test environment.
I have a REST API rails app I'm testing with cucumber, using the RestClient gem to generate a post to controller create action. When I run the feature with a hard-coded URL pointing to a running localhost server (my local dev server environment; replacing tickets_url with "http://
localhost/tickets" in the snippet below), my cucumber steps execute as expected. However, when the resource URL resolves to the cucumber host I'm declaring, I get a socket error exception.
getaddrinfo: nodename nor servname provided, or not known (SocketError)
From the steps file:
When /^POS Adapter sends JSON data to the Tickets resource$/ do
ticket = {
:ticket = {
...
}
}
host! "test.host"
puts tickets_url
RestClient.post tickets_url, ticket.to_json, :content_type = :json, :accepts = :json
end
(the "puts" statement prints "http://test.host/tickets")
Using the following gems:
cucumber-0.6.1
webrat-0.6.0
rest-client-1.2.0
I should also say I have a similar set up in another rails app, using test.host as my host, and it seems to work fine. I'd appreciate any insight on what I might be missing in my configuration or what this could be related to.