API Reference - CLI Module

This section documents the command-line interface components.

Main CLI

CLI module for socialseed-e2e framework.

This module provides the command-line interface for the E2E testing framework, enabling developers and AI agents to create, manage, and run API tests.

socialseed_e2e.cli.check_and_install_extra(extra_name: str, auto_install: bool = False) bool[source]

Check if extra dependencies are installed, optionally install them.

Parameters:
  • extra_name – Name of the extra (tui, rag, grpc, etc.)

  • auto_install – If True, automatically install missing dependencies

Returns:

True if dependencies are available, False otherwise

socialseed_e2e.cli.get_framework_root() Path[source]

Get the root directory of the framework installation.

Returns:

Path to the framework root directory

socialseed_e2e.cli.get_service_name_from_path(target_path: Path) str[source]

Extract service name from the target path.

Parameters:

target_path – Path to the microservice directory

Returns:

Service name derived from directory name

socialseed_e2e.cli.check_extra_installed(extra_name: str) bool[source]

Check if an extra is already installed.

socialseed_e2e.cli.main()[source]

Entry point for the CLI.

Commands

The CLI provides the following commands:

init

Initialize a new E2E testing project.

socialseed_e2e.cli.init(*args: t.Any, **kwargs: t.Any) t.Any

Initialize a new E2E project.

Creates the initial directory structure and configuration files.

Parameters:
  • directory – Directory to create the project (default: current directory)

  • force – If True, overwrites existing files

new-service

Create a new service with scaffolding.

socialseed_e2e.cli.new_service(*args: t.Any, **kwargs: t.Any) t.Any

Create a new service with scaffolding.

Creates the complete directory structure and template files for a new service, including data_schema.py, service_page.py, and the modules directory.

Parameters:
  • name – Service name (e.g.: users-api, auth_service)

  • base_url – Service base URL (default: http://localhost:8080)

  • health_endpoint – Health check endpoint path (default: /health)

  • force – Overwrite existing files without prompting

Examples

e2e new-service users-api # Create with defaults e2e new-service payment-service –base-url http://localhost:8081 e2e new-service auth-service –base-url http://localhost:8080 –health-endpoint /actuator/health e2e new-service auth-service –force # Overwrite without prompting

new-test

Create a new test module.

socialseed_e2e.cli.new_test(*args: t.Any, **kwargs: t.Any) t.Any

Create a new test module.

Parameters:
  • name – Test name (e.g.: login, create-user)

  • service – Service to which the test belongs

  • description – Optional test description

  • force – Overwrite existing files without prompting

Examples

e2e new-test login -s auth_service e2e new-test create-user -s users-api -d “Test user creation” e2e new-test login -s auth_service –force

run

Execute E2E tests.

socialseed_e2e.cli.run(*args: t.Any, **kwargs: t.Any) t.Any

Execute E2E tests.

Discovers and automatically executes all available tests.

Parameters:
  • service – If specified, only run tests for this service

  • module – If specified, only run this test module

  • config – Path to the e2e.conf file

  • override_url – Override service URL (for remote APIs in AWS, Azure, GCP, etc.)

  • verbose – If True, shows detailed information

  • output – Output format (text, json, or html)

  • report_dir – Directory for HTML reports

  • trace – If True, enable visual traceability with sequence diagrams

  • trace_output – Directory for traceability reports

  • trace_format – Format for sequence diagrams (mermaid, plantuml, both)

  • skip_unhealthy – If True, skip tests for services that are not healthy

  • debug – If True, enable debug mode with verbose HTTP logging for failed tests

  • no_agent – If True, disable AI agent features (boring mode)

Examples

e2e run # Run all tests e2e run –service auth_service # Run tests for specific service e2e run –service auth_service –module 01_login # Run specific test module e2e run –url https://api.example.com:443 # Test remote API e2e run –url https://my-api.azurewebsites.net # Test Azure API e2e run –url https://my-api.execute-api.us-east-1.amazonaws.com # Test AWS API e2e run –verbose # Run with detailed output e2e run –output html –report-dir ./reports # Generate HTML report e2e run –parallel 4 # Run with 4 parallel workers e2e run –trace # Enable traceability e2e run -c /path/to/e2e.conf # Use custom config file e2e run –report junit # Generate JUnit XML report e2e run –report json # Generate JSON report e2e run –report junit –report-output ./reports # Custom report directory e2e run –debug # Enable debug mode e2e run –no-agent # Run in boring mode (no AI) e2e run –skip-unhealthy # Skip tests for unhealthy services

doctor

Verify installation and dependencies.

socialseed_e2e.cli.doctor(*args: t.Any, **kwargs: t.Any) t.Any

Verify installation and dependencies.

Checks that everything is properly configured to use the framework.

config

Show and validate configuration.

socialseed_e2e.cli.config(*args: t.Any, **kwargs: t.Any) t.Any

Show and validate current configuration.

Shows the configuration loaded from e2e.conf and validates its syntax.