From 582ce2672882202301568e5af9d08bb573cab7e0 Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Sun, 22 Mar 2026 21:06:35 +0000 Subject: [PATCH] Initial upload: mockapi - OpenAPI Mock Server Generator --- tests/integration/test_server.py | 70 ++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 tests/integration/test_server.py diff --git a/tests/integration/test_server.py b/tests/integration/test_server.py new file mode 100644 index 0000000..f408ee1 --- /dev/null +++ b/tests/integration/test_server.py @@ -0,0 +1,70 @@ +"""Integration tests for mock server.""" + +import pytest + +from mockapi.core.spec_loader import SpecLoader +from mockapi.core.validator import OpenAPIValidator +from mockapi.core.server_generator import MockServerGenerator +from mockapi.core.config import Config + + +SAMPLE_SPEC_PATH = "examples/petstore.yaml" + + +class TestMockServerIntegration: + """Integration tests for mock server.""" + + @pytest.fixture + def sample_spec(self): + """Load sample OpenAPI spec.""" + loader = SpecLoader(SAMPLE_SPEC_PATH) + return loader.load() + + @pytest.fixture + def config(self): + """Create test configuration.""" + return Config(seed=42, port=8080) + + def test_load_spec(self, sample_spec): + """Test loading OpenAPI spec.""" + assert sample_spec is not None + assert "openapi" in sample_spec + assert sample_spec["openapi"].startswith("3.0") + + def test_validate_spec(self, sample_spec): + """Test validating OpenAPI spec.""" + validator = OpenAPIValidator(sample_spec) + errors = validator.validate() + assert len(errors) == 0 + + def test_get_paths(self, sample_spec): + """Test extracting paths from spec.""" + validator = OpenAPIValidator(sample_spec) + paths = validator.get_paths() + assert "/users" in paths + assert "/products" in paths + assert "/orders" in paths + + def test_generate_mock_server(self, sample_spec, config): + """Test generating mock server.""" + generator = MockServerGenerator(sample_spec, config) + app = generator.generate() + assert app is not None + + def test_paths_have_operations(self, sample_spec): + """Test that paths have operations defined.""" + validator = OpenAPIValidator(sample_spec) + paths = validator.get_paths() + + for path in paths: + operations = validator.get_operations(path) + assert len(operations) > 0, f"Path {path} has no operations" + + def test_schemas_defined(self, sample_spec): + """Test that schemas are defined in spec.""" + validator = OpenAPIValidator(sample_spec) + schemas = validator.get_all_schemas() + assert len(schemas) > 0 + assert "User" in schemas + assert "Product" in schemas + assert "Order" in schemas