API automated testing
Description
you will have to come up with a solution to automate integration testing on the Yelp Fusion API, in particular Phone Search functionality, used to match businesses with a phone number.
The goal here is not to find bugs for Yelp, but rather to create a way to test their API automatically.
We used Yelp Fusion API for this test because it is easy to get started with, thanks to its good documentation.
Set-up
You will have to create a Yelp account, and register an app (there will be a form to fill, but app & credentials creation is not reviewed manually by Yelp).
Then, follow the documentation on how to authenticate using client_id and client_secret.
Note that there is a limit of 25,000 requests per day. Please do not automate load testing.
Application specification
We do not know the exact specifications of Yelp’s Phone Search API, however from its documentation we can extract the following informal requirements:
- The request must be authenticated.
- Phone is a required parameter. It should include the country indicator (e.g. “+1”), followed by 10 digits.
- The response body should contain a businesses array, which size should match the value of total returned. If no businesses were found, this array should be empty and total should be 0.
- The business objects should be filled with information available on Yelp, with fields values matching the types declared in the documentation.
Tasks
Your goal here is to automate the testing of only one endpoint, businesses/search/phone. You will need an authentication token to use that endpoint, so it’s probably a good idea to automate calls to the authentication endpoint as well.
You are free to use any language/framework/environment to create this automation tool. The only requirement is that your testing tool should be able to run from the command line.
Your testing tool should include output indicating numbers of test passed or failed, and reasons of failure.
The tests performed do not have to be exhaustive; your time should be spent on making it easy to add more or extend them.
Please provide an archive with the source files and instructions to build and run your tool and its tests.
Dear Client,
Going through your project requirements & matching them with me and my team's experience of creating something very similar to this, I am very excited to work with you to fulfill your requirements.
I am equipped with developers with the skillsets of (Android and iOS), Java /J2EE; PHP with frameworks (Laravel, CodeIgniter ); CMS - Wordpress, Squarespace,Magento; JS frameworks like Angular Js, Node Js; API integration – RESTful, JSON apart from HTML5 and CSS3.
I can confidently share my work portfolio with you i.e. [login to view URL] to build the trust
between us before we actually start the project."
Have a look at our few developed app in android which are [login to view URL] we can not share due to NDA obligations.
[login to view URL] ( A learning App)
[login to view URL] ( Real-estate App)
Hope you find us suitable for your current requirement and consider us for the same. I would like to discuss the project details with you next to take it forward.
Thank you very much for your time.
Best regards,
Sudipta