Runscope Guzzle Plugin and Runscope Symfony2 Bundle

Update: Here is the blog post from Runscope too! http://blog.runscope.com/posts/runscope-for-php-developers-guzzle-plugin-now-available

Screenshot 2013-10-28 23.45.40

Over the weekend I took a stab at writing a Guzzle Plugin for enabling a third party service called Runscope.
I think Runscope is an interesting service to debug/test our REST APIs. I see the future of testing APIs here. So I thought to myself it would be a great idea if we could plug some glue logic to make it readily available in Symfony2 or in other frameworks if we just develop a bundle for it.

Here is the github repository of the Guzzle PHP plugin https://github.com/runscope/guzzle-runscope.

And here is the repository for the Symfony Bundle https://github.com/cordoval/runscope-bundle. The bundle will require the above repository so you only need to require this repo on your composer. I also direct you to the instructions in the respective README.md’s. The bundle is just the glue to get you started in configuring Runscope into your project for easy of use. Both repos will be improved with time and some PRs. But right now they are pretty usable.

composer require cordoval/runscope-bundle dev-master // and profit!

More work will be done in a later post regarding some interesting applications of this service and bundle.
Please if you find this useful support me with going to http://pilotci.com and spreading the word of this great book on Symfony2 Ecommerce, or by helping me get to Warsaw for the SymfonyCon 2013 in December, I have a lot of expenses and also I am looking for job opportunities to further my career. I got very sick recently but I am almost completely over a light pneumonia.

Thanks for reading this blog of mine.

I thank the Lord Jesus Christ for motivating this wretched man.

Undeservedly thankful, your friend @cordoval

PS> POC with https://api.github.com as test:

~ php app/console demo:cordoval:runscope
{
  "current_user_url": "https://api.github.com/user",
  "authorizations_url": "https://api.github.com/authorizations",
  "emails_url": "https://api.github.com/user/emails",
  "emojis_url": "https://api.github.com/emojis",
  "events_url": "https://api.github.com/events",
  "feeds_url": "https://api.github.com/feeds",
  "following_url": "https://api.github.com/user/following{/target}",
  "gists_url": "https://api.github.com/gists{/gist_id}",
  "hub_url": "https://api.github.com/hub",
  "issue_search_url": "https://api.github.com/search/issues?q={query}{&page,per_page,sort,order}",
  "issues_url": "https://api.github.com/issues",
  "keys_url": "https://api.github.com/user/keys",
  "notifications_url": "https://api.github.com/notifications",
  "organization_repositories_url": "https://api.github.com/orgs/{org}/repos/{?type,page,per_page,sort}",
  "organization_url": "https://api.github.com/orgs/{org}",
  "public_gists_url": "https://api.github.com/gists/public",
  "rate_limit_url": "https://api.github.com/rate_limit",
  "repository_url": "https://api.github.com/repos/{owner}/{repo}",
  "repository_search_url": "https://api.github.com/search/repositories?q={query}{&page,per_page,sort,order}",
  "current_user_repositories_url": "https://api.github.com/user/repos{?type,page,per_page,sort}",
  "starred_url": "https://api.github.com/user/starred{/owner}{/repo}",
  "starred_gists_url": "https://api.github.com/gists/starred",
  "team_url": "https://api.github.com/teams",
  "user_url": "https://api.github.com/users/{user}",
  "user_organizations_url": "https://api.github.com/user/orgs",
  "user_repositories_url": "https://api.github.com/users/{user}/repos{?type,page,per_page,sort}",
  "user_search_url": "https://api.github.com/search/users?q={query}{&page,per_page,sort,order}",
  "code_search_url": "https://api.github.com/search/code?q={query}{&page,per_page,sort,order}"
}

Leave a Reply

Your email address will not be published. Required fields are marked *