Solve API problems fast with Runscope. Learn More →

Continuous Integration, Deployment and Testing of Your Web APIs with AppVeyor and Runscope on Azure

By Neil Mansilla on .

Runscope developer advocate Darrel Miller shares a step-by-step instructional blog post on how to integrate AppVeyor (CI tool on Azure) with Runscope to accomplish rock-solid API testing.

Photo by Alex Eylar: https://www.flickr.com/photos/hoyvinmayvin/4906678960/

Photo by Alex Eylar: https://www.flickr.com/photos/hoyvinmayvin/4906678960/

Fast iterations can be very valuable to the software development process, but make for more time spent doing deployments and testing. Also, more deployments means more opportunities to accidentally introduce breaking changes into your API.

AppVeyor is a cloud based continuous integration server and Runscope enables you to do integration testing of your Web APIs, when these services are combined they can save you time doing the mechanical stuff and ensure your API consumers stay happy.

The following steps show the key points to achieve this integration using AppVeyor, Runscope and Azure websites.

Read the rest of Darrel's post...

 

Categories: howto

Introducing the On-Premises Runscope Gateway Agent for Capturing and Debugging Private and Internal API Traffic

By Neil Mansilla on .

Back in September, we introduced Runscope Radar Agent, an on-premises testing agent that you download and install on a host within your network. The remote agent appears along side Runscope's global cloud-based testing locations, allowing tests to be executed against APIs behind your firewall, or even those running on the same localhost. Radar Agent has been a huge success, and we're excited to extend the hybrid on-premises deployment model to another key area of Runscope.

Today, we’re announcing the release of the Runscope Gateway Agent. The same gateway software that powers Runscope's cloud infrastructure for making and logging API calls can now be installed on your local network. Deploying the Runscope Gateway Agent within your infrastructure will help to:

  • Capture API request and response data made to private or internal APIs that reside behind a firewall
  • Troubleshoot and debug those API calls using the Runscope Traffic Inspector
  • Increase network performance by keeping API traffic within your infrastructure
  • Create Runscope URLs (on your domain name) for services running on localhost
  • Access APIs that require a fixed client IP address (IP whitelisting)

How it Works

The agent works by creating a locally-hosted instance of the Runscope Gateway with your own hostname and TLS certificate. Instead of using our cloud-based Runscope Gateways (hosted on *.runscope.net), requests will use the configured hostname for your agent instead.

runscope-gateway-agent.png

Inspecting traffic with the Runscope Gateway Agent uses a hybrid on-premises approach. The agent runs on a host within your infrastructure, but traffic data is stored in the Runscope cloud to make searching and collaboration easier. Traffic collected with the agent is available in the Traffic Inspector along with all other traffic made in the same bucket.

All communication from the agent to the Runscope cloud is made securely over outbound requests to the Runscope API via HTTPS on port 443. See Firewall Considerations for more information.

How to Get Started

Use of the Runscope Gateway Agent requires a Trial, Starter, Team, Business or Enterprise subscription. The agent is available for Mac OS X, Windows (64/32-bit) and Linux (64/32-bit). For complete download and implementation instructions, see the Gateway Agent documentation.

Categories: announcements

Runscope 25 Kearny St San Francisco, CA, 94108 United States

JSON Generator: Create Random, Structured JSON Mock Data with Finesse

By Neil Mansilla on .

Have you ever needed to craft mock data for API or script testing? Creating a single record of semi-realistic structured data isn’t that hard.. but do it at scale, with say, thousands of records can be a daunting task. For instance, I was creating API-driven puzzles for a contest we were running at a tech conference (AWS re:Invent). One of the puzzles required 100+ fictitious personnel records with a sequential index, random guid and fictitious names.

Enter JSON Generator (json-generator.com), a tool that handles the heavy lifting for generating structured JSON objects, stuffed with sequenced and/or controllable random data. Lets dive right in with the example of how I used it for the Runscope challenge question at the conference. 

A Simple Template

JSON Generator has an easy, but powerful templating language. Below is the template I used to generate a roster of 100 random people for the puzzle:

Breaking it down:

  • Line 2: roster is the key to our top-level object, which is an array. This isn't a function, it's just what I named the array.
  • Line 3: {{repeat(100)}} is an instruction to repeat an array item a number of times. In this case, it's going to repeat the object below 100 times. If we had specified {{repeat(10,50)}},   the array item would be generated somewhere between 10 and 50 times (random number).

  • Line 5: {{index(0)}} makes this field an index, and in this case, the starting index number is 0. The next record in the array will be 1, and so on. (integer type)

  • Line 6: {{guid()}} generates a random globally unique identifier (string)

  • Line 7: {{firstName()}} {{surname()}} generates random first names and last names.

NOTE: The quotes around key names is optional in the template format. In the generated data, required quotes will appear, which is JSON compliant.

Generated Roster

After clicking the Generate button, the JSON object was created based on the template above. Below is a screen shot containing just the first two objects in the array (there were 100 generated):

In this example, I only used four of the many functions that are available on JSON Generator. There are well over a dozen more functions to help you generate structured random JSON objects. A few of my favorites are:

  • lorem - random Lorem Ipsum text, configurable by the type units (words, sentences, paragraphs) and the number of units.
  • street, city and state - US street, city and state names — and you can choose between full and abbreviated state names.
  • floating - floating point numbers (decimals) between min and max values. Various formats available as supported by Numeral.js.
  • random - given a set of array values, this function will select one of them at random
  • date - given start and end date, will select a random date. Formatting as supported by datef, including ISO-8601. 

It’s not only fun to play with, but it could save you hours of tedious work when you need to generate heaps of mock JSON data. Don’t take my word for it. Give it a whirl. In fact, we liked JSON Generator so much that we decided to sponsor it!

TIP: Save versions of your templates locally as you work.

Categories:

Catch Runscope at AWS re:Invent 2014

By Neil Mansilla on .

Heading to AWS re:Invent in Las Vegas? So are we!

Come by booth #731 to meet the Runscope team. Whether you would like a deep dive into Runscope's features, get your API/DevOps/Cloud questions answered, or just say hello and grab a free t-shirt, we really want to meet you!

Office hours with Runscope team members

The Runscope team will be holding office hours sessions at our booth. Schedule one-on-one meetings with experts on topics such as: microservice architecture, API design, sanity testing APIs, designing tools for developers, technical onboarding, developer outreach, mentoring and more!

Compete in the 200 OK Challenge and win prizes

Put your API debugging skills to the test with this unique contest. Climb your way to the top of the leaderboard by solving increasingly-difficult API puzzles. No coding required, however, coding skills will help. Come by our booth to get started.

Booth location and hours

Our booth is in Hall C (level 2), also known as re:Invent Central, next to registration. Our booth number is 731, beyond the main AWS booth, next to the kiosk photo booth in the center aisle. You can also find us on the mobile app.

Our booth hours are:

  • Tuesday - Nov 11 - 5 PM to 7 PM
  • Wednesday - Nov 12 - 10:30 AM to 6 PM
  • Thursday - Nov 13 - 10:30 AM to 6 PM

 

Categories:

Everything is going to be 200 OK

Sign Up — Free!