End-to-end harness for the complete KekUpload stack. The real project repositories are checked out as Git submodules under modules/.
modules/KekUploadServermodules/KekUploadCLIClientmodules/kekupload-client
- Git
- Docker with Docker Compose
- .NET SDKs needed by the tested projects (
net8.0andnet10.0) - Node.js and npm
- curl
./scripts/bootstrap.sh
./scripts/test-e2e.shtest-e2e.sh starts PostgreSQL and KekUploadServer, uploads a fixture through KekUploadCLIClient, downloads it again through the CLI, and byte-compares the result.
It also starts the built kekupload-client container and verifies the served page loads.
./scripts/build-all.sh # build/check tested submodules
./scripts/up.sh # run Postgres, server, and web client
./scripts/down.sh # stop the stack and remove volumes
./scripts/logs.sh server # follow service logsServices exposed by ./scripts/up.sh:
- Server:
http://localhost:5254 - Web client:
http://localhost:5173 - PostgreSQL:
localhost:15432
SERVER_URLchanges the server URL used bytest-e2e.sh; default:http://localhost:5254.CLIENT_URLchanges the web client URL used bytest-e2e.sh; default:http://localhost:5173.BIG_BUCK_BUNNY_URLchanges the media fixture used bytest-e2e.sh; default: a 10-second Big Buck Bunny MP4 sample.KEEP_STACK=1 ./scripts/test-e2e.shleaves Docker services running after the test.COMPOSE_PROJECT_NAMEchanges the Docker Compose project name; default:kekupload_e2e.POSTGRES_PORTchanges the optional host PostgreSQL port; default:15432.
The media e2e test downloads a Big Buck Bunny sample. Big Buck Bunny was produced by the Peach open movie project and is licensed under the Creative Commons Attribution 3.0 license.
Attribution for reused parts of the movie:
(c) copyright 2008, Blender Foundation / www.bigbuckbunny.org
The Peach project license permits reuse and redistribution, including commercial use, as long as proper attribution is provided. For website and DVD ROM files, attribution is Blender Foundation | www.blender.org. If screening or broadcasting the entire movie or documentary, include the full credits roll.
Excluded from the Creative Commons license are the website logos, associated trademarks, DVD cover art, and DVD disc print.