Stoobly Docs
  • Introduction
  • Use Cases
    • Generate Mock APIs
      • Empower Development
      • Scale API Testing
    • Enable E2E Testing
  • FAQ
    • Recording
    • Mocking
    • Terminology
  • Getting Started
    • Installing the Agent
      • Installation with pipx
      • Installation with Docker
  • Core Concepts
    • Agent
      • Intercept Modes
        • Mocking
        • Recording
      • Lifecycle Hooks
      • Proxy Settings
        • Data Rules
        • Firewall Rules
        • Rewrite Rules
        • Match Rules
    • Context
    • Mock API
      • Request
        • Response
        • Replay History
      • Scenarios
      • Snapshots
      • Fixtures
      • Public Folder
    • Scaffold
      • Service
      • Validation
      • Workflow
  • Guides
    • How to Run the Agent
      • Run with CLI
      • Run with Docker
    • How to Configure the Agent
      • Forward Proxy
        • Enable HTTPS Traffic
      • Reverse Proxy
    • How to Record Requests
      • Recording from the UI
      • Recording from the CLI
      • How to Create Contexts
      • How to Create Scenarios
        • Creating from the UI
        • Creating from the CLI
      • How to Create Requests
      • How to Customize Recordings
        • Customizing with Lifecycle Hooks
    • How to Update Requests
      • Editing from the UI
      • Editing with Snapshots
      • How to Update Scenarios
        • Updating with Overwrite
        • Updating with Replay
      • Updating with Replay
        • Replaying from the UI
        • Replaying from the CLI
        • How to Customize Replays
          • Customizing with Lifecycle Hooks
      • Updating with Open API
    • How to Mock APIs
      • How to Enable Mocking
        • Enabling from the UI
        • Enabling from the CLI
      • How to Snapshot Requests
        • Deleting Snapshots
        • Sharing Snapshots
      • How to Use Fixtures
      • How to Customize Mocking
        • Customizing with Lifecycle Hooks
        • Customizing with Request Headers
      • Troubleshooting
    • How to Replay Requests
      • Replay with the UI
      • Replay with the CLI
    • How to Integrate E2E Testing
      • How to Scaffold an App
        • Scaffolding a Service
        • Customizing a Workflow
          • Customizing Container Services
          • Customizing Lifecycle Hooks
          • Customizing Init Scripts
          • Customizing Configure Scripts
          • Customizing Makefile
        • Troubleshooting
      • How to Run a Workflow
        • Running with CLI command
        • Running with Make
        • Troubleshooting
          • Validating
      • How to Stop a Workflow
        • Stopping with CLI command
        • Stopping with Make
      • How to Update a Scaffold
        • Deleting a Service
      • FAQ
  • Developer Guide
    • Installation from Source
    • Submitting Change Requests
    • Releases
  • Experimental
    • Experimental Features
      • Aliases
      • Endpoints
      • API Testing
        • Getting Started
        • Configuration
          • Assign
          • Lifecycle Hooks
          • Trace
      • Optional Components
Powered by GitBook
On this page
  • Run Tests
  • Steps to Create a Change Request

Was this helpful?

  1. Developer Guide

Submitting Change Requests

Run Tests

After cloning the source code and making your changes, you can run the unit and integration tests with:

poetry run pytest stoobly_agent/test

The output should pass and look similar to this:

$ poetry run pytest stoobly_agent/test

================================================== test session starts ==================================================
platform linux -- Python 3.8.10, pytest-7.3.0, pluggy-1.0.0
rootdir: /home/user/Downloads/github/stoobly/stoobly-agent
collected 59 items                                                                                                      

app/models/adapters/python/request/mitmproxy_adapter_test.py ..                                                   [  3%]
app/models/adapters/python/request/stoobly_adapter_test.py ..                                                     [  6%]
app/models/schemas/request_test.py ......                                                                         [ 16%]
app/proxy/mitmproxy/request_facade_test.py ...                                                                    [ 22%]
app/proxy/replay/body_parser_service_test.py ..                                                                   [ 25%]
app/proxy/replay/rewrite_params_service_test.py ...                                                               [ 30%]
app/proxy/replay/visitor_test.py ...............                                                                  [ 55%]
app/proxy/upload/request_string_test.py ..                                                                        [ 59%]
app/proxy/upload/response_string_test.py .                                                                        [ 61%]
app/test/matchers/contract_test.py .......                                                                        [ 72%]
app/test/matchers/diff_test.py ...........                                                                        [ 91%]
app/test/matchers/fuzzy_test.py .....                                                                             [100%]

=================================================== warnings summary ====================================================
stoobly_agent/test/app/proxy/replay/rewrite_params_service_test.py::Test::test_rewrites_dict
stoobly_agent/test/app/proxy/replay/rewrite_params_service_test.py::Test::test_rewrites_list_of_dicts
stoobly_agent/test/app/proxy/replay/rewrite_params_service_test.py::Test::test_rewrites_dict_of_list_of_dicts_of_dicts
  /home/user/.local/lib/python3.8/site-packages/orator/orm/model.py:2282: DeprecationWarning: Call to deprecated function to_dict.
    def to_dict(self):

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================ 59 passed, 3 warnings in 4.94s =======================

Steps to Create a Change Request

  1. Fork our project and commit your changes into one of your forked repository's branches.

  2. Test changes locally and create automated tests.

  3. Tag the maintainers.

PreviousInstallation from SourceNextReleases

Last updated 5 months ago

Was this helpful?

Submit a pull request at with a description of your change.

https://github.com/Stoobly/stoobly-agent/pulls