Getting started

Welcome 👋 We're stoked that you're an early adopter and trying out Meeshkan. This documentation is here to help guide you through our core concepts and understand what you can expect.

If you have any questions, you can always contact us for support.

In this section:

What does Meeshkan do?#

Meeshkan is an automated testing and mocking tool. We offer first-class support for GraphQL APIs, but Meeshkan is also built to handle REST APIs and third-party dependencies.

Once installed, Meeshkan runs weekly and submits issues to your repository when it finds bugs.

Creating your Meeshkan account#

Almost everything regarding your Meeshkan account (configuration settings, test reports, etc.) will be handled in the Meeshkan webapp.

The following link will take you to the webapp's homepage:

Create your free account

From there, click on Sign up and you'll be guided through the authorization flow. We use Auth0 for authentication, so you'll be routed to one of their pages first before continuing with GitHub.

It should look similar to this:

Screenshot of the initial Auth0 page you hit when you click sign up. It says "Welcome, log in to Meeshkan to continue to Meeshkan webapp" followed by a button that says "Continue with GitHub"

Authorizing Meeshkan on GitHub#

To run the tests, Meeshkan must gain permission to access your repository code. To do this, we use a Github App. That's why you're asked to continue with GitHub in the authorization flow when you sign up for Meeshkan.

Here's what that'll look like if you substitute Unmock for your organization name:

Screenshot of the Meeshkan authorization flow on GitHub. At the top, it says 'Install & Authorize on your organization Unmock'.

After this, you'll land on the webapp homepage 🎉

For more detailed information about the permissions we require, please read our Required permissions page.

Configuring your projects#

Each project has configuration settings that will allow Meeshkan tests to run automatically. If you'd like tests to run on every commit, please enter your build settings!

Configuration UI

You can find your project's configuration athttps://app.meeshkan.com/{yourTeam}/{yourProject} /configuration.

Build settings#

Please add credentials for your local server, and not your live endpoints. Testing against production credentials can cause permanent data damage.

  • Root directory: The path to your app in your repository. For instance, if your app lives in the home directory, then you would use `./` as your root directory.
  • Build command: The command(s) your app framework provides for compiling your code. npm install && npm start is an example build command for a repository that uses NPM and provides a "start" script.
  • OpenAPI location: The path or endpoint to your repository's OpenAPI specification (such as http://localhost:8000/api/openapi).
  • GraphQL endpoint: The path or endpoint to your repository's GraphQL schema (such as http://localhost:8000/api/graphql).

Docker#

In several cases, you might want to 'dockerize' your project and provide your docker-compose up command (or equivalent) as the Meeshkan build command. Here is a list of a few resources that may be useful in the 'dockerization' process:

How Meeshkan reports bugs#

Meeshkan runs property-based tests on your repository and reports any bugs discovered in the process.

If no bugs were found, you won't hear anything.

When Meeshkan finds a bug, your Meeshkan testing branch check will link to the test in question. This issue will outline which command found the bug, the response, and, in some cases, a suggestion for how to resolve it.

Test failure page

Here's an example issue filed by the Meeshkan GitHub bot (anonymized for privacy):

Screenshot of an example issue filed by the Meeshkan bot.

Deleting your account#

If you'd like to delete your Meeshkan account, please contact our team.

Last updated: 28th Jul 2020