/janusQL

A tool for GraphQL API security and performance testing. Beta version.

Primary LanguageTypeScript

JanusQL

Tool for GraphQL API Security and Performance Testing


Description

JanusQL is an easy-to-use Electron powered GUI for GraphQL API security and performance testing. It allows users to test the performance of their GraphQL API by displaying a query's response time, status code, overhead, throughput, and load capacity. It also tests if their GraphQL API is protected against DDOS attacks.

Users can keep track of all analytics ran while exploring the API by sending it different kinds of data to see what values are returned.

Currently in Beta.

Installation

To get started, fork and clone this repo, which is available on MacOS, Window, and Linux.

Now, let's generate some tests!

How to use

Sign up for an account, or if already registered, log into the application using your credentials.

Viewing Analytics Information

After logging in, you'll see three sections - an area to input the URL of the GraphQL API along with a code editor, another code editor, and the analytics sections.

Testing Response Time, Query Overhead, Status, Throughput, or Load

Enter the URL of the GraphQL API and type in the query you want to test.

Response Time, Status and Throughput Testing

Choose from the drop down menu and select, Response/Data, then click on the Submit button to get the response time plotted on the graph, the status of the query, and the throughput time. Click on the Submit button again to plot more analytics on the graph.


Query Overhead Testing

Instead of choosing from the drop down menu, click on the Data tab on the right panel to find out the data size in kilobytes a return query response has. Like the reponse test/status/throughput tests above, more data can be retrieved by clicking on the Submit button again.


Load Testing

Similar to the step above, choose from the drop down menu and select, Load, then click on the Submit button to find out how the average time it takes to query this query 50 times in milliseconds.


Testing the security of your GraphQL API

Enter the URL of the GraphQL API. You don't need to enter a query string. If a query is entered, it won't affect the results. Choose from the drop down menu and select, Security, click on the Submit button to determine if the query passes or fails the dos test.


Tech Stack

Javascript, Typescript, React (Hooks, Router, Context API), Express/Node.js, Electron, Redis, Material UI, Webpack, Jest, Supertest, Enzyme

Read More

Please visit our website
Read about us!!

Co-Creators:

Adrian Inza-Cruz - @ainzacruz | LinkedIn
Kim Chiu - @kimchiuu | LinkedIn
Lucas Mobley - @lucasmobley | LinkedIn
Phillip Kekoa Bannister - @phillipkb | LinkedIn
Tammy Le - @letammy979 | LinkedIn