Initial upload: mockapi - OpenAPI Mock Server Generator
Some checks failed
CI / test (push) Has been cancelled
CI / build (push) Has been cancelled

This commit is contained in:
2026-03-22 21:06:30 +00:00
parent 50ff2a04ab
commit 264984f001

View File

@@ -0,0 +1,89 @@
"""Tests for OpenAPI validator."""
import pytest
from mockapi.core.validator import OpenAPIValidator
VALID_SPEC = {
"openapi": "3.0.3",
"info": {"title": "Test API", "version": "1.0.0"},
"paths": {
"/users": {
"get": {
"operationId": "listUsers",
"responses": {"200": {"description": "Success"}},
}
}
},
}
class TestOpenAPIValidator:
"""Test cases for OpenAPIValidator."""
def test_validate_valid_spec(self):
"""Test validating a valid OpenAPI spec."""
validator = OpenAPIValidator(VALID_SPEC)
errors = validator.validate()
assert len(errors) == 0
def test_is_valid_returns_true_for_valid_spec(self):
"""Test is_valid returns True for valid spec."""
validator = OpenAPIValidator(VALID_SPEC)
assert validator.is_valid() is True
def test_get_paths(self):
"""Test extracting paths from spec."""
validator = OpenAPIValidator(VALID_SPEC)
paths = validator.get_paths()
assert "/users" in paths
def test_get_operations(self):
"""Test extracting operations for a path."""
validator = OpenAPIValidator(VALID_SPEC)
operations = validator.get_operations("/users")
assert "get" in operations
def test_get_operations_invalid_path(self):
"""Test getting operations for non-existent path."""
validator = OpenAPIValidator(VALID_SPEC)
operations = validator.get_operations("/nonexistent")
assert len(operations) == 0
def test_get_schema(self):
"""Test extracting schema by name."""
spec = VALID_SPEC.copy()
spec["components"] = {
"schemas": {
"User": {
"type": "object",
"properties": {"name": {"type": "string"}},
}
}
}
validator = OpenAPIValidator(spec)
schema = validator.get_schema("User")
assert schema is not None
assert schema["type"] == "object"
def test_get_schema_not_found(self):
"""Test getting non-existent schema."""
validator = OpenAPIValidator(VALID_SPEC)
schema = validator.get_schema("NonExistent")
assert schema is None
def test_get_all_schemas(self):
"""Test extracting all schemas."""
spec = VALID_SPEC.copy()
spec["components"] = {
"schemas": {
"User": {"type": "object"},
"Product": {"type": "object"},
}
}
validator = OpenAPIValidator(spec)
schemas = validator.get_all_schemas()
assert len(schemas) == 2
assert "User" in schemas
assert "Product" in schemas