Code metrics
$0.025 USDCMeasure the generated pytest module's structure, complexity, syntax status, and maintainability signals before adding it to a test suite.
Inspect the exact response envelope first. When you need current analysis for your own input, one successful x402 call costs $0.1 USDC on Base or Solana.
This fixed demonstration file is extracted directly from the response below. Review it free; a paid call generates a fresh module from your own OpenAPI document.
"""Generated API smoke tests. Review targets and payloads before running."""
import os
import pytest
import requests
DEFAULT_BASE_URL = 'https://api.example.com'
BASE_URL = os.environ.get("API_BASE_URL", DEFAULT_BASE_URL).rstrip("/")
TIMEOUT_SECONDS = 20
def _require_base_url():
if not BASE_URL:
pytest.skip("Set API_BASE_URL to the API origin")
return BASE_URL
def _headers(extra=None):
headers = dict(extra or {})
if token := os.environ.get('API_BEARER_TOKEN'):
headers["Authorization"] = f"Bearer {token}"
if api_key := os.environ.get('API_KEY'):
headers["X-API-Key"] = api_key
return headers
def test_gethealth():
base_url = _require_base_url()
response = requests.request('GET', base_url + '/health', headers=_headers({}), timeout=TIMEOUT_SECONDS)
assert response.status_code in [200]
@pytest.mark.skipif(
os.environ.get("API_ALLOW_MUTATING_TESTS") != "1",
reason="POST test disabled; set API_ALLOW_MUTATING_TESTS=1",
)
def test_createwidget():
base_url = _require_base_url()
response = requests.request('POST', base_url + '/widgets', headers=_headers({}), json={'name': 'Acre'}, timeout=TIMEOUT_SECONDS)
assert response.status_code in [201]
Demonstration data only. The paid endpoint returns a fresh result and settlement receipt.
{
"request_id": "018f1f54-7f38-7ba2-8dc3-5f90272d9f1a",
"service": "developer.openapi-test-generate",
"version": "1",
"data": {
"documentSha256": "2f27879b24323466c5dbca7df9bf137561b826bd43c318b8642b92f04b17930d",
"openapiVersion": "3.1.0",
"apiTitle": "Widget API",
"baseUrlDefault": "https://api.example.com",
"operationCount": 2,
"generatedTestCount": 2,
"guardedMutationCount": 1,
"truncated": false,
"sourceFileName": "test_openapi_generated.py",
"sourceSha256": "44d05573bd64ef63deb934c9bef7b1ed6c618e4093c9cc7eee8e3a55b12b0f26",
"source": "\"\"\"Generated API smoke tests. Review targets and payloads before running.\"\"\"\n\nimport os\n\nimport pytest\nimport requests\n\nDEFAULT_BASE_URL = 'https://api.example.com'\nBASE_URL = os.environ.get(\"API_BASE_URL\", DEFAULT_BASE_URL).rstrip(\"/\")\nTIMEOUT_SECONDS = 20\n\n\ndef _require_base_url():\n if not BASE_URL:\n pytest.skip(\"Set API_BASE_URL to the API origin\")\n return BASE_URL\n\n\ndef _headers(extra=None):\n headers = dict(extra or {})\n if token := os.environ.get('API_BEARER_TOKEN'):\n headers[\"Authorization\"] = f\"Bearer {token}\"\n if api_key := os.environ.get('API_KEY'):\n headers[\"X-API-Key\"] = api_key\n return headers\n\n\ndef test_gethealth():\n base_url = _require_base_url()\n response = requests.request('GET', base_url + '/health', headers=_headers({}), timeout=TIMEOUT_SECONDS)\n assert response.status_code in [200]\n\[email protected](\n os.environ.get(\"API_ALLOW_MUTATING_TESTS\") != \"1\",\n reason=\"POST test disabled; set API_ALLOW_MUTATING_TESTS=1\",\n)\ndef test_createwidget():\n base_url = _require_base_url()\n response = requests.request('POST', base_url + '/widgets', headers=_headers({}), json={'name': 'Acre'}, timeout=TIMEOUT_SECONDS)\n assert response.status_code in [201]\n",
"operations": [
{
"operationId": "getHealth",
"testName": "test_gethealth",
"method": "GET",
"path": "/health",
"mutatingGuard": false,
"documentedResponses": [
"200"
]
},
{
"operationId": "createWidget",
"testName": "test_createwidget",
"method": "POST",
"path": "/widgets",
"mutatingGuard": true,
"documentedResponses": [
"201"
]
}
],
"requirements": [
"pytest>=8",
"requests>=2.31"
],
"environment": {
"baseUrl": "API_BASE_URL",
"bearerToken": "API_BEARER_TOKEN",
"apiKey": "API_KEY",
"allowMutatingTests": "API_ALLOW_MUTATING_TESTS"
},
"warnings": [],
"execution": {
"sourceSyntaxValidated": true,
"generatedTestsExecuted": false,
"networkRequestsMade": false
}
},
"meta": {
"duration_ms": 42,
"cached": false,
"sources": [],
"warnings": [],
"next_actions": [
{
"service": "developer.code-metrics",
"title": "Code metrics",
"reason": "Measure the generated pytest module's structure, complexity, syntax status, and maintainability signals before adding it to a test suite.",
"method": "POST",
"path": "/v1/developer/code-metrics",
"price": "$0.025",
"input_template": {
"code": "$result.data.source",
"language": "python"
},
"use_output": "Require result.data.source.sha256 to equal the generator's result.data.sourceSha256, then inspect syntax and reviewSignals before retaining the generated module.",
"handoff_path": "/catalog/developer.code-metrics",
"checkout_path": "/try/developer.code-metrics",
"sample_path": "/samples/developer.code-metrics",
"maximum_atomic_usdc": "25000",
"handoff_payment_required": false,
"executes_automatically": false,
"authorization_required": true
}
]
}
}{
"document": "{\"openapi\":\"3.1.0\",\"info\":{\"title\":\"Widget API\",\"version\":\"1\"},\"servers\":[{\"url\":\"https://api.example.com\"}],\"paths\":{\"/health\":{\"get\":{\"operationId\":\"getHealth\",\"responses\":{\"200\":{\"description\":\"Healthy\"}}}},\"/widgets\":{\"post\":{\"operationId\":\"createWidget\",\"requestBody\":{\"required\":true,\"content\":{\"application/json\":{\"schema\":{\"type\":\"object\",\"required\":[\"name\"],\"properties\":{\"name\":{\"type\":\"string\",\"example\":\"Acre\"}}}}}},\"responses\":{\"201\":{\"description\":\"Created\"}}}}}}",
"format": "json",
"max_operations": 25,
"include_optional": false,
"timeout_seconds": 20
}Generate deterministic, syntax-validated pytest and requests smoke tests from a caller-supplied OpenAPI 3 document, with mutating operations disabled by default.
POST /v1/developer/openapi-test-generate
Each option opens a new checkout with its own exact price and requires separate buyer authorization. Nothing runs automatically.
Measure the generated pytest module's structure, complexity, syntax status, and maintainability signals before adding it to a test suite.
The checkout verifies the request, selected network, USDC asset, recipient, and price before opening a wallet.