Question: I need a direct link to download QGIS and ArcGIS softwares those will be compatible with redhat 5 and can some one help me to install it on redhat 5 ??? i need a full package?
Also I would like to ask you is there any version of ARCGIS that compatible with redhat 5

Answer: 
Look under RSpec on "[Testing Sinatra with Rack::Test](http://www.sinatrarb.com/testing.html)". I'd suggest you use that code as boilerplate to get started.

Just add this to your describe block:

```
def app
  Sinatra::Application
end

```

I would suggest you read up RSpec.

---

Since you want to test an external system, by the looks of your comment, instead of `system "curl whatewer.com"`, you can use Net::HTTP to make requests and then test against the response.

Have a look at "[Testing an external API using RSpec's request specs](https://stackoverflow.com/questions/18364076/testing-an-external-api-using-rspecs-request-specs)".
As I'm writing request specs to ensure the features won't be broken I decided to rather write separate Cucumber features. The nice thing is that I can use Capybara, and thanks to Selenium Web Drive, I can launch a server before I run my tests. 

So, I created a dummy Sinatra application (that will represent the external service to which the actual code I'm testing is doing requests (including a nasty `system('curl whatever.com')`). 

All I have to do is stub out the methods passed to curl to use `Capybara.current_session.server.host` and `Capybara.current_session.server.port`.

Once I'm done with my re-factoring all I have to do is remove the Capybara server variables, and Selenium web drive from the cucumber/capybara configuration. 

Tests after a brief change will be still working and will be valid.

**Update**

In the end I wrote it all with RSpec request tests, as doing it in Cucumber was little bit time consuming and I already spend too much time on this.

I mark these kind of request tests with RSpec tag and Before I lunch these I manually lunch simple Sinatra/Grape dummy API application to which the request are made. (Then I run RSpec tests with this tag)

So basically I end up with specs for functionality that uses net/http that uses WebMock and don't need a server, and request tests for which I need to run the server before I run the specs. **So the original question remains, how to lunch a server before tests start**

After I cover all the functionality I'm gonig to rewrite the curl to net/http however I'm going to keep those requests specs as I discovered they are nice idea when it comes to crazy API scenarios (like testing https + diggested authentication)