cleanup
This commit is contained in:
@@ -1,90 +0,0 @@
|
||||
# Test configuration and fixtures
|
||||
import os
|
||||
import tempfile
|
||||
import pytest
|
||||
from flask import Flask
|
||||
from src.server.app import create_app
|
||||
from src.server.infrastructure.database.connection import get_database
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def app():
|
||||
"""Create and configure a new app instance for each test."""
|
||||
# Create a temporary file to isolate the database for each test
|
||||
db_fd, db_path = tempfile.mkstemp()
|
||||
|
||||
app = create_app({
|
||||
'TESTING': True,
|
||||
'DATABASE_URL': f'sqlite:///{db_path}',
|
||||
'SECRET_KEY': 'test-secret-key',
|
||||
'WTF_CSRF_ENABLED': False,
|
||||
'LOGIN_DISABLED': True,
|
||||
})
|
||||
|
||||
with app.app_context():
|
||||
# Initialize database tables
|
||||
from src.server.infrastructure.database import models
|
||||
models.db.create_all()
|
||||
|
||||
yield app
|
||||
|
||||
# Clean up
|
||||
os.close(db_fd)
|
||||
os.unlink(db_path)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def client(app):
|
||||
"""A test client for the app."""
|
||||
return app.test_client()
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def runner(app):
|
||||
"""A test runner for the app's Click commands."""
|
||||
return app.test_cli_runner()
|
||||
|
||||
|
||||
class AuthActions:
|
||||
def __init__(self, client):
|
||||
self._client = client
|
||||
|
||||
def login(self, username='test', password='test'):
|
||||
return self._client.post(
|
||||
'/auth/login',
|
||||
data={'username': username, 'password': password}
|
||||
)
|
||||
|
||||
def logout(self):
|
||||
return self._client.get('/auth/logout')
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def auth(client):
|
||||
return AuthActions(client)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_anime_data():
|
||||
"""Sample anime data for testing."""
|
||||
return {
|
||||
'title': 'Test Anime',
|
||||
'description': 'A test anime series',
|
||||
'episodes': 12,
|
||||
'status': 'completed',
|
||||
'year': 2023,
|
||||
'genres': ['Action', 'Adventure'],
|
||||
'cover_url': 'https://example.com/cover.jpg'
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def sample_download_data():
|
||||
"""Sample download data for testing."""
|
||||
return {
|
||||
'anime_id': 1,
|
||||
'episode_number': 1,
|
||||
'quality': '1080p',
|
||||
'status': 'pending',
|
||||
'url': 'https://example.com/download/episode1.mp4'
|
||||
}
|
||||
Reference in New Issue
Block a user