annotate mrjunejune/test/README.md @ 279:b3b547563ec7

Add Google connector service and agent wiki Implement the C/Seobeo Google Drive and Gmail connector with encrypted OAuth storage, Zenbu authentication, browser testing, AI tool discovery, chunked HTTP decoding, and Bazel coverage. Consolidate repository guidance into progressive wiki documentation and enforce arena-first allocation for new first-party C code. Co-authored-by: Copilot <[email protected]> Copilot-Session: 84c338fd-0939-4bb3-b7f3-1062eb213e5d
author MrJuneJune <me@mrjunejune.com>
date Mon, 17 Aug 2026 22:22:36 -0700
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 ```