Skip to content

feat: fully dockerized end to end tests - #34

Merged
dotkas merged 7 commits into
mainfrom
dotkas/docker-e2e
Jul 15, 2026
Merged

feat: fully dockerized end to end tests#34
dotkas merged 7 commits into
mainfrom
dotkas/docker-e2e

Conversation

@dotkas

@dotkas dotkas commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

No description provided.

Copilot AI review requested due to automatic review settings July 15, 2026 13:56
@dotkas
dotkas force-pushed the dotkas/docker-e2e branch from d239c7a to 9bfaa1b Compare July 15, 2026 13:58
@dotkas
dotkas force-pushed the dotkas/docker-e2e branch from 9bfaa1b to 42db9dd Compare July 15, 2026 13:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a fully Dockerized end-to-end (E2E) integration harness that builds and runs the generated bookstore server in one container and drives it via the generated blocking reqwest client from another container, validating real HTTP interoperability.

Changes:

  • Introduces a Docker Compose-based E2E test harness + CI workflow to run it on PRs.
  • Adds a runnable bookstore-server binary and shared in-memory Service implementation of the generated Api trait.
  • Generates and wires a new restclient (blocking reqwest client) for the bookstore example, plus an E2E test suite that exercises all endpoints.

Reviewed changes

Copilot reviewed 13 out of 15 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Makefile Adds test-e2e target; extends generate-example to generate the client as well.
examples/bookstore/tests/smoke.rs Switches smoke test to use the shared Service implementation.
examples/bookstore/tests/e2e.rs Adds HTTP-level E2E tests driven by the generated blocking client.
examples/bookstore/src/service.rs New in-memory Service implementing the generated Api trait for server + tests.
examples/bookstore/src/lib.rs Exposes Service and conditionally includes generated restclient.
examples/bookstore/src/bin/server.rs Adds runnable axum server binary for Docker E2E.
examples/bookstore/oapi-codegen-client.yaml Adds config to generate the blocking client with import mappings.
examples/bookstore/generated/restclient.rs New generated blocking reqwest client output committed for the example.
examples/bookstore/Cargo.toml Adds client feature + optional deps (reqwest/percent-encoding) and server bin entry; adds tokio.
crates/oapi-codegen/tests/integration/server/Dockerfile Builds and packages bookstore-server into a slim runtime image.
crates/oapi-codegen/tests/integration/client/Dockerfile Builds and runs cargo test --features client --test e2e inside a Rust toolchain image.
crates/oapi-codegen/tests/integration/docker-compose.yml Defines server+client services and wires BOOKSTORE_BASE_URL.
crates/oapi-codegen/tests/integration/README.md Documents how to run the Docker E2E harness and how CI executes it.
.github/workflows/e2e.yml Adds a PR workflow that runs make test-e2e (skips chore: PRs).
.dockerignore Reduces Docker build context size for the E2E images.
Cargo.lock Locks new dependencies brought in by the bookstore example changes.

Comment thread examples/bookstore/tests/e2e.rs
Copilot AI review requested due to automatic review settings July 15, 2026 14:00

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 15 changed files in this pull request and generated 1 comment.

Comment thread examples/bookstore/tests/e2e.rs
Copilot AI review requested due to automatic review settings July 15, 2026 14:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 16 changed files in this pull request and generated 2 comments.

Comment thread examples/bookstore/Cargo.toml Outdated
Comment thread examples/bookstore/Cargo.toml
Copilot AI review requested due to automatic review settings July 15, 2026 14:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 16 changed files in this pull request and generated 2 comments.

Comment thread crates/oapi-codegen/tests/integration/server/Dockerfile Outdated
Comment thread crates/oapi-codegen/tests/integration/client/Dockerfile Outdated
Copilot AI review requested due to automatic review settings July 15, 2026 14:44

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 16 changed files in this pull request and generated 2 comments.

Comment thread Makefile Outdated
Comment thread examples/bookstore/src/service.rs
Copilot AI review requested due to automatic review settings July 15, 2026 14:48

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 14 out of 16 changed files in this pull request and generated 2 comments.

Comment thread examples/bookstore/tests/e2e.rs
Comment thread examples/bookstore/tests/e2e.rs
Copilot AI review requested due to automatic review settings July 15, 2026 14:57
@dotkas
dotkas enabled auto-merge (squash) July 15, 2026 15:01
@dotkas
dotkas merged commit 2e5b8e9 into main Jul 15, 2026
6 checks passed
@dotkas
dotkas deleted the dotkas/docker-e2e branch July 15, 2026 15:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 17 changed files in this pull request and generated 1 comment.

Comment thread examples/bookstore/tests/e2e.rs
Copilot AI review requested due to automatic review settings July 15, 2026 15:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 17 changed files in this pull request and generated 1 comment.

}
};

let client = Client::new(base_url).expect("build the blocking reqwest client");
@alchemax-housekeeper

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.0.0-dev.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

@alchemax-housekeeper

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants