# Testing Checklist This document provides a comprehensive checklist for testing StarPunk functionality before release. ## Manual Testing Checklist ### Core Functionality - [ ] Create notes via web interface - [ ] Create notes via Micropub JSON - [ ] Create notes via Micropub form-encoded - [ ] Notes display with proper microformats - [ ] Markdown renders correctly - [ ] Slugs generate uniquely - [ ] Timestamps record accurately ### Authentication & Security - [ ] IndieAuth login flow works - [ ] Micropub client authentication - [ ] Token expiration works - [ ] Rate limiting functions ### Syndication & Standards - [ ] RSS feed validates (W3C validator) - [ ] API returns correct status codes ### Automated Testing - [ ] All unit tests pass - [ ] All integration tests pass - [ ] Test coverage >80% ## Validation Tools ### IndieWeb Standards - **IndieWebify.me**: https://indiewebify.me/ - Verify microformats (h-entry, h-card, h-feed) - Check IndieAuth implementation - **IndieAuth Validator**: https://indieauth.com/validate - Test IndieAuth flow - Validate token handling - **Micropub Test Suite**: https://micropub.rocks/ - Comprehensive Micropub endpoint testing - Verify spec compliance ### Web Standards - **W3C Feed Validator**: https://validator.w3.org/feed/ - Validate RSS 2.0 feed structure - Check date formatting - Verify CDATA wrapping - **W3C HTML Validator**: https://validator.w3.org/ - Validate HTML5 markup - Check semantic structure - Verify accessibility - **JSON Validator**: https://jsonlint.com/ - Validate API responses - Check Micropub payloads ## Testing Resources ### Specifications - IndieWeb Notes: https://indieweb.org/note - Micropub Spec: https://micropub.spec.indieweb.org - IndieAuth Spec: https://www.w3.org/TR/indieauth/ - Microformats2: http://microformats.org/wiki/h-entry - RSS 2.0 Spec: https://www.rssboard.org/rss-specification ### Testing & Validation - Micropub Test Suite: https://micropub.rocks/ - IndieAuth Testing: https://indieauth.com/ - Microformats Parser: https://pin13.net/mf2/ ### Example Implementations - IndieWeb Examples: https://indieweb.org/examples - Micropub Clients: https://indieweb.org/Micropub/Clients ## Pre-Release Validation Workflow 1. **Run Automated Tests** ```bash uv run pytest ``` 2. **Validate HTML** - Test homepage output - Test note permalink output - Run through W3C HTML Validator 3. **Validate RSS Feed** - Access /feed.xml - Run through W3C Feed Validator - Verify in actual RSS reader 4. **Validate Microformats** - Test homepage with IndieWebify.me - Test note permalinks - Use microformats parser 5. **Validate Micropub** - Run micropub.rocks test suite - Test with real Micropub client (Quill) 6. **Manual Browser Testing** - Chrome/Chromium - Firefox - Safari (if available) - Mobile browsers 7. **Security Verification** - CSRF protection working - XSS prevention verified - SQL injection tests pass - Path traversal prevention works ## Success Criteria All checklist items must pass before V1 release. If any validation tool reports errors, they must be fixed before proceeding. ## Related Documentation - [Testing Strategy](/home/phil/Projects/starpunk/docs/architecture/overview.md#testing-strategy) - [Implementation Plan](/home/phil/Projects/starpunk/docs/projectplan/v1/implementation-plan.md) - [Feature Scope](/home/phil/Projects/starpunk/docs/projectplan/v1/feature-scope.md) **Last Updated**: 2025-11-24