Implement Sprint 1: Notebook Management CRUD
- Add NotebookService with full CRUD operations
- Add POST /api/v1/notebooks (create notebook)
- Add GET /api/v1/notebooks (list with pagination)
- Add GET /api/v1/notebooks/{id} (get by ID)
- Add PATCH /api/v1/notebooks/{id} (partial update)
- Add DELETE /api/v1/notebooks/{id} (delete)
- Add Pydantic models for requests/responses
- Add custom exceptions (ValidationError, NotFoundError, NotebookLMError)
- Add comprehensive unit tests (31 tests, 97% coverage)
- Add API integration tests (26 tests)
- Fix router prefix duplication
- Fix JSON serialization in error responses
BREAKING CHANGE: None
23 lines
616 B
Python
23 lines
616 B
Python
"""E2E tests placeholder.
|
|
|
|
These tests will verify complete workflows with real NotebookLM API.
|
|
Requires authentication and should be run manually.
|
|
"""
|
|
|
|
import pytest
|
|
|
|
|
|
@pytest.mark.e2e
|
|
class TestFullWorkflow:
|
|
"""End-to-end workflow tests."""
|
|
|
|
async def test_research_to_podcast_workflow(self):
|
|
"""Should complete full research to podcast workflow."""
|
|
# TODO: Implement E2E test
|
|
# 1. Create notebook
|
|
# 2. Add sources
|
|
# 3. Generate audio
|
|
# 4. Wait for completion
|
|
# 5. Download artifact
|
|
pytest.skip("E2E tests require NotebookLM authentication")
|