This commit is contained in:
101
tests/conftest.py
Normal file
101
tests/conftest.py
Normal file
@@ -0,0 +1,101 @@
|
||||
import pytest
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_spec(tmp_path):
|
||||
spec = {
|
||||
"openapi": "3.0.0",
|
||||
"info": {
|
||||
"title": "API Documentation",
|
||||
"version": "1.0.0",
|
||||
"description": "A sample API for testing"
|
||||
},
|
||||
"paths": {
|
||||
"/users": {
|
||||
"get": {
|
||||
"summary": "List all users",
|
||||
"description": "Returns a list of all users in the system",
|
||||
"tags": ["users"],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "limit",
|
||||
"in": "query",
|
||||
"schema": {"type": "integer"},
|
||||
"description": "Maximum number of results"
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {"description": "Successful response"},
|
||||
"400": {"description": "Bad request"}
|
||||
}
|
||||
},
|
||||
"post": {
|
||||
"summary": "Create user",
|
||||
"description": "Creates a new user in the system",
|
||||
"tags": ["users"],
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"name": {"type": "string"},
|
||||
"email": {"type": "string"}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"201": {"description": "User created"}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/users/{userId}": {
|
||||
"get": {
|
||||
"summary": "Get user by ID",
|
||||
"description": "Returns a single user by their ID",
|
||||
"tags": ["users"],
|
||||
"parameters": [
|
||||
{
|
||||
"name": "userId",
|
||||
"in": "path",
|
||||
"required": True,
|
||||
"schema": {"type": "string"}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {"description": "Successful response"},
|
||||
"404": {"description": "User not found"}
|
||||
}
|
||||
},
|
||||
"delete": {
|
||||
"summary": "Delete user",
|
||||
"description": "Deletes a user from the system",
|
||||
"tags": ["users"],
|
||||
"responses": {
|
||||
"204": {"description": "User deleted"}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/products": {
|
||||
"get": {
|
||||
"summary": "List products",
|
||||
"description": "Returns a list of all products",
|
||||
"tags": ["products"],
|
||||
"responses": {
|
||||
"200": {"description": "Successful response"}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
{"name": "users", "description": "User management"},
|
||||
{"name": "products", "description": "Product management"}
|
||||
]
|
||||
}
|
||||
path = tmp_path / "test.json"
|
||||
path.write_text(json.dumps(spec))
|
||||
return path
|
||||
Reference in New Issue
Block a user