Metadata-Version: 2.4
Name: jleechanorg-testing-utils
Version: 0.1.1
Summary: Shared testing utilities: centralized test config, server management, and test environment setup
Author-email: jleechan <jlee@jleechan.org>
License-Expression: MIT
Project-URL: Homepage, https://github.com/jleechanorg/worldarchitect.ai
Project-URL: Repository, https://github.com/jleechanorg/worldarchitect.ai
Project-URL: Issues, https://github.com/jleechanorg/worldarchitect.ai/issues
Project-URL: Documentation, https://github.com/jleechanorg/worldarchitect.ai/tree/main/testing_util
Keywords: testing,flask,server,browser,http,pytest
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Testing
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.28.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"

# jleechanorg-testing-utils

Shared testing utilities: centralized test configuration, test server management, and test environment setup for browser and HTTP tests.

## Install

```bash
pip install jleechanorg-testing-utils
```

## Usage

```python
from testing_util import (
    TestConfig,
    TestType,
    TestMode,
    get_browser_base_url,
    get_http_base_url,
    setup_test_environment,
    TestServerManager,
    start_test_server,
    stop_test_server,
    test_server,
)

# Configuration
url = get_browser_base_url()  # http://localhost:8081
config = TestConfig.get_server_config(TestType.BROWSER)

# Server management
with test_server(TestType.HTTP) as port:
    # run tests against server on port
    pass
```

## API

- **TestConfig** – Centralized test server configuration (ports, URLs)
- **TestType** – BROWSER | HTTP | INTEGRATION | DEVELOPMENT
- **TestMode** – MOCK | REAL | INTEGRATION
- **TestServerManager** – Manages Flask test server lifecycle
- **test_server** – Context manager for temporary test server
- **setup_test_environment** – Initialize test environment variables
