Thursday, August 23, 2012

Running applications using third party http services with out having to build stubs

While building applications which has integration with third party systems via http services the usual questions that arise are one, how to run your application in your own environment with out having to worry about installing the third party systems and how to test your system for different behavior that third party services expose. The first thing that comes to mind as a solution to this kind of a problem is to build some stubs. 

Is there a better way ? Can we avoid having to write stubs for every such kind of application which has lots of http services ?

Yes there is a simpler way, try fakerest. Fakerest is a sinatra based http stub server built using ruby. All you have to do is just write a configuration yaml with the http request URLs, response code, type, file that contains response body etc. A sample configuration file looks like: 


To use this all you have to do is install fakerest gem and start by running $ fakerest from command prompt. As you can see from the configuration file above, you can have as many services as you would like just by making a new entry in the configuration file with new request and response details.

The value for the content_file field in the configuration is the file from which the http response is loaded and served to the client. Fakerest supports all http methods like GET, POST, PUT, HEAD and more. With different configuration files you can just change the behavior of the http services just by restarting the Fakerest server by providing a different configuration file (this is quite handy for testing).

All this is fine, how do I verify what request is being posted to the http service ? 

Fakerest has an answer for this as well, all requests that are made to Fakerest are captured. You can just go to your browser hit http://host:port/requests/5 to see the last 5 requests, you can change the number to see the recent requests based on your need.

Not just simple POST and GET, with fakerest you can also upload files and verify how the file looks like on the server (fakerest) using the same requests url mentioned above. 

You could even change the http response status code to verify how your application behaves with different status codes that third party system might return. The same is true with the content type as well.

To know more details on how to configure and run go to fakerest github page.

5 comments:

Fire Dragon said...

Làm sao để gửi hàng đi miền tây? Nếu đây là điều bạn đang thắc mắc thì hãy đến với chúng tôi. Chúng tôi là công ty chuyên nhận vận chuyển hàng. Các dịch vụ của chúng tôi hiện đang được rất nhiều ủng hộ. Và đây là những dịch vụ tiêu biểu được nhiều sử dụng của chúng tôi: giá giao hàng nhanh tốt nhất, giao hàng nhanh tphcm, nhận ký gửi hàng hóa, dịch vụ giao hàng thu tiền cod, ship hàng nội thành, gửi hàng về miền tây, chuyển hàng về đà nẵng, dịch vụ chuyển hàng. Nếu bạn đang cần vận chuyển hay sử dụng dịch vụ giao hàng nội thành hãy liên hệ với chúng tôi nhé.

nhadatxinh said...

Nếu bạn đang muốn đăng tin bán nhà hay bán đất hoặc bạn muốn mua nhà hay đất thì hãy đến với chúng tôi rao vat mien phi, với chất lương hàng đầu chúng tôi sẽ giúp các bạn , đăng tin và xem các khu vực nha dat quan go vap, ban dat quan 9, nha dat quan thu duc , nha dat quan binh tan , nha dat quan tan phu , nha dat quan tan binh và các khu vực khác trên toàn quốc với uy tín và hiệu quả cao khi bạn đến với chúng tôi.

Anonymous said...

Mình cũng đồng tình với suy nghĩ này, cảm ơn bạn đã chia sẽ.

Bạn đang làm bên lĩnh vực gì, mình có thể hợp tác chứ?

Bên mình chuyên về lĩnh vực dịch vụ vận chuyển, cung cấp dịch vụ gui hang di Ha Noi, gui hang nhanh ra Quang Ninh, gui hang ra Bac Giang gia re, xe gui hang di Lang Son, gửi hàng đi Thái Nguyên, gửi hàng ra Bắc Cạn giá rẻ, xe gui hang di Cao Bang, xe gui hang di Tuyen Quang.

Nếu bên bạn chuyên về lĩnh vực thang máy gia đình Mitsubishi, giá thang máy chở khách thang may trong benh vien thì bên mình sẽ chiết khấu tốt cho bạn nhé.

Unknown said...

Khi có một loại thuốc mới ra đời thì những công dụng của nó chính là thứ chúng ta quan tâm đầu tiên chứ không phải là thành phần hay các thông tin nào khác. Thuốc fucoidan http://thuocbonao.com.vn/tag/kinh-nghiem-dung-fucoidan , đối với fucoidan cũng hoàn toàn tương tự như vậy, tác dụng của thuốc fucoidan chính là thông tin mà nhiều người trên khắp thế giới tìm hiểu. Thuoc Fucoidan có tác dụng gì http://thuocbonao.com.vn/tag/lieu-dung-fucoidan , công dụng chính được giới thiệu về sản phẩm này chính là việc nó kích thích các tế bào ung thư tiến hành quá trình tự diệt nhờ thế mà việc điều trị ung thư sẽ có chuyển biến tích cực hơn. Thuốc Fucoidan chữa ung thư http://ginkgobiloba.com.vn/tag/thuoc-chua-ung-thu-fucoidan ,một cách khác để nó hỗ trợ quá trình điều trị căn bệnh này đó là ngăn cản sự cung cấp dinh dưỡng cho các tế bào ác làm chúng bị tiêu diệt. Thuốc Fucoidan cho người ung thư http://ginkgobiloba.com.vn/tag/thuc-pham-chuc-nang-ho-tro-dieu-tri-ung-thu. Không chỉ thế, người dùng còn được cho biết là khả năng tăng cường hoạt động của hệ tiêu hóa sau khi sử dụng sản phẩm này. Liều dùng thuốc Fucoidan http://thuochoathuyetduongnao.com/tag/cach-su-dung-thuoc-fucoidan, một công dụng khác mà chúng ta không sử dụng cũng có thể nhận biết được đó là việc đem đến làn da săn chắc, trắng mịn như những người dân hàn quốc nhật bản.

Kayal said...

I was really happy to visit your blog, This blog is decent and very attractive. Thank you so much for your sharing with us...
Tableau Training in Chennai
Tableau Course in Chennai
Pega Training in Chennai
Excel Training in Chennai
Power BI Training in Chennai
Primavera Training in Chennai
Unix Training in Chennai
Tableau Training in Chennai
Tableau Course in Chennai