Skip to content

PoC GSOC API Testing Suite - Abhinav Sharma #827

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 188 commits into
base: main
Choose a base branch
from

Conversation

abhinavs1920
Copy link
Contributor

PR Description

This PR introduces the initial Proof of Concept implementation of the API Testing Suite, as outlined in my GSoC proposal. The suite extends APIDash’s testing capabilities with a drag-and-drop workflow builder, stress testing tools, and a fake data generation service.

Features Implemented

Workflow Builder

  • Added a drag-and-drop canvas for building API workflow chains
  • Node and connection layers implemented for visual flow representation
  • Execution engine supports sequential API call execution
  • Basic state management for execution (start/pause/stop)

Stress Testing

  • Developed a stress testing service for parallel API execution
  • Utilized isolate-based processing for better performance
  • Tracks results with basic metrics (response time, status codes, etc.)
  • UI elements included to display test results and summaries

Fake Data Provider

  • Created a service for generating random test data (emails, usernames, etc.)
  • Supported random data injection into request bodies
  • Interface to configure generation parameters

Current Limitations

  • Error handling in edge cases is limited
  • UI requires further refinement for improved usability
  • Workflow Builder lacks conditional node types
  • Test result visualization is basic (to be enhanced in future iterations)
  • Lot of checks are not added in it.

Next Steps

As per the GSoC roadmap:

  • Enhance Collection Runner with advanced execution options
  • Add conditional logic support to Workflow Builder
  • Implement detailed monitoring and analytics

I have made limited use of AI tools such as ChatGPT and Claude, primarily for occasional code suggestions, template generation, and documentation assistance.

Related Issues

  • Closes #

Checklist

  • I have gone through the contributing guide
  • I have updated my branch and synced it with project main branch before making this PR
  • I am using the latest Flutter stable branch (run flutter upgrade and verify)
  • I have run the tests (flutter test) and all tests are passing

Added/updated tests?

  • [] Yes
  • No, and this is why: This is currently just a PoC for the proposal given.

OS on which you have developed and tested the feature?

  • Windows
  • macOS
  • Linux

abhinavs1920 and others added 30 commits April 22, 2025 16:53
…tants and update FakeDataProvider to utilize them
@abhinavs1920
Copy link
Contributor Author

Hi @ashitaprasad @animator @DenserMeerkat
I have added this PR to show my PoC for API Testing Suite, I mainly focused on setting up the project structure and ensuring proper separation of concerns. The code is loosely coupled so that api_testing_suite exists as a separate package and is not placed inside the main src, as per with APIDash’s existing architecture.

I plan to continue working on it, but I’ll have limited time over the next week due to upcoming examinations.

I would be really appreciate a review—good or bad. I just want honest feedback at this stage to know if I’m heading in the right direction.

Thanks a lot!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.