Mercurial
annotate mrjunejune/test/README.md @ 216:e82b80b24012 default tip
[MrJuneJune] Make webp translate background job.
| author | June Park <parkjune1995@gmail.com> |
|---|---|
| date | Sat, 28 Feb 2026 21:04:43 -0800 |
| parents | 1c446ab6f945 |
| children |
| 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 ``` |