annotate mrjunejune/test/README.md @ 118:249881ceff7b

[PostDog] Updated some core logic. Will create a bookmark for postdog until the launch as this is annoying to deal with.
author June Park <parkjune1995@gmail.com>
date Wed, 07 Jan 2026 13:24:38 -0800
parents 1c446ab6f945
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
94
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
1 # MrJuneJune Integration Tests
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
2
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
3 This directory contains comprehensive integration tests for all mrjunejune endpoints.
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
4
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
5 ## Test Structure
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
6
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
7 ### Test Files
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
8 - `integration_test.c` - Main integration test suite
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
9 - `create_snapshots.c` - Utility to generate/update snapshot files
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
10 - `shiba.webp` - Test image for image-to-webp conversion
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
11 - `test_avi.avi` - Test video for video-to-mp4 conversion
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
12
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
13 ### Snapshot Directory
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
14 - `snapshots/` - Contains expected HTTP responses for GET endpoints
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
15
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
16 ## Endpoints Tested
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
17
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
18 ### GET Endpoints (200 OK with Snapshot Verification)
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
19 - `/` - Home page
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
20 - `/resume` - Resume page
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
21 - `/tools` - Tools page
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
22 - `/tools/markdown_to_html` - Markdown to HTML converter
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
23 - `/tools/file_converter` - File converter tool
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
24
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
25 ### GET Endpoints (301 Redirects)
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
26 - `/index.html` → `/`
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
27 - `/resume/index.html` → `/resume`
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
28 - `/tools/index.html` → `/tools`
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
29 - `/tools/markdown_to_html/index.html` → `/tools/markdown_to_html`
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
30 - `/tools/file_converter/index.html` → `/tools/file_converter`
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
31
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
32 ### GET Endpoints (404 Not Found)
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
33 - `/nonexistent`
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
34 - `/does/not/exist`
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
35 - `/missing.html`
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
36
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
37 ### POST Endpoints
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
38 - `/api/convert/image-to-webp` - Converts images to WebP format
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
39 - Tests file upload, conversion, and download
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
40 - Verifies Content-Type: image/webp
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
41 - `/api/convert/video-to-mp4` - Converts videos to MP4 format
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
42 - Tests file upload, conversion, and download
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
43 - Verifies Content-Type: video/mp4
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
44
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
45 ### Download Endpoint
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
46 - `/api/download/:filename` - Download converted files
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
47 - Tested automatically as part of POST conversion tests
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
48
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
49 ## Running Tests
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
50
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
51 ### First Time Setup - Create Snapshots
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
52 Before running tests for the first time, generate snapshots:
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
53
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
54 ```bash
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
55 bazel run //mrjunejune:create_snapshots
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
56 ```
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
57
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
58 This will:
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
59 1. Start the mrjunejune server
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
60 2. Make HTTP requests to all GET endpoints
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
61 3. Save responses to `snapshots/` directory
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
62 4. Stop the server
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
63
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
64 ### Run Integration Tests
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
65 ```bash
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
66 bazel test //mrjunejune:integration_test
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
67 ```
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
68
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
69 This will:
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
70 1. Start the mrjunejune server on port 6969
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
71 2. Test all GET endpoints against their snapshots
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
72 3. Test POST conversion endpoints with real file uploads
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
73 4. Verify downloads work correctly
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
74 5. Report pass/fail for each test
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
75
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
76 ### View Test Output
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
77 ```bash
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
78 bazel test //mrjunejune:integration_test --test_output=all
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
79 ```
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
80
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
81 ## Test Coverage
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
82
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
83 ✓ All 10 registered endpoints are tested
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
84 ✓ Snapshot testing for HTML responses
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
85 ✓ File upload and conversion testing
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
86 ✓ Download functionality testing
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
87 ✓ Error handling (404 responses)
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
88 ✓ Redirect testing (301 responses)
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
89
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
90 ## Updating Tests
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
91
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
92 ### When HTML Changes
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
93 If you modify any HTML templates:
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
94
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
95 ```bash
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
96 # Regenerate snapshots
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
97 bazel run //mrjunejune:create_snapshots
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
98
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
99 # Run tests to verify
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
100 bazel test //mrjunejune:integration_test
092afa595764 [MrJuneJune] Added Integration tests.
June Park <parkjune1995@gmail.com>
parents:
diff changeset
101 ```