feat(integration): add real Spring Boot 3.x/4.x integration tests#1361
Open
stokpop wants to merge 1 commit into
Open
feat(integration): add real Spring Boot 3.x/4.x integration tests#1361stokpop wants to merge 1 commit into
stokpop wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
Adds end-to-end Spring Boot integration coverage by running real Spring Boot 3.x/4.x fixtures (downloaded from java-test-applications) and asserting buildpack framework injection behavior (notably java-cfenv, plus combined framework scenarios).
Changes:
- Add real-jar Spring Boot integration tests (SB3 + SB4) including assertions for cloud profile activation and jar/agent presence.
- Add a helper that downloads and pre-explodes Spring Boot fat jars to match CF staging behavior.
- Update docs and a previously dead fixture URL reference.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| src/java/containers/spring_boot.go | Clarifies isSpringBootJar fallback heuristic behavior via comments. |
| src/integration/spring_boot_test.go | Adds new real Spring Boot SB3/SB4 integration test contexts and assertions. |
| src/integration/README.md | Updates Go test invocation examples and documents -run patterns for deep spec subtests. |
| src/integration/init_test.go | Downloads/explodes SB3/SB4 fixtures before running the integration suite and wires paths into SpringBoot tests. |
| src/integration/frameworks_test.go | Updates a jar URL in the (currently skipped) Checkmarx IAST binding test. |
| src/integration/fixtures_helper_test.go | Introduces jar download + zip extraction utilities to produce exploded fixture directories. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
097a2ce to
bfdd804
Compare
…oudfoundry#1357) Add integration tests using real fat jars from cloudfoundry/java-test-applications v1.0.0 to verify end-to-end framework injection. Three tests: - SB3 (Boot 3.5, Java 17): java-cfenv 3.x injection, cloud profile verified via RuntimeLogs (boot3 app lacks RuntimeUtils endpoints) - SB4 (Boot 4.1, Java 21): java-cfenv 4.x injection, cloud profile via /active-profiles, java-cfenv presence via /loaded-jars - SB4 combined: java-cfenv + container-security-provider env var + cf-metrics-exporter javaagent — all in one deployment Key design decisions: - Pre-explode fat jars in fixtures_helper_test.go for Docker-mode tests to simulate CF staging (CF bits service extracts pushed jars as zip before running the buildpack). CF-mode tests pass raw jar to cf push. See switchblade#134 for CF-vs-Docker divergence. - Jars sourced from cloudfoundry/java-test-applications@v1.0.0. Also: - Fix dead 404 URL in frameworks_test.go - Update isSpringBootJar comment in spring_boot.go - Update README with correct 5-level -run filter patterns
bfdd804 to
4c1851e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds integration tests using real Spring Boot fat jars from java-test-applications to verify end-to-end framework injection.
Relates to #1357.
Tests added
/active-profiles), jar loaded (/loaded-jars)Design decisions
fixtures_helper_test.goto simulate CF staging behaviour (CF bits service extracts pushed artifacts as zip before running the buildpack). See switchblade#134.v1.0.0-SNAPSHOT) — upstream cloudfoundry/java-test-applications PRs pending merge. Switch URL oncev1.0.0is released.Other changes
frameworks_test.goisSpringBootJarcomment inspring_boot.go(no functional change)-runfilter patterns for 5-level spec subtestsVerified
All 3 tests pass individually on Docker platform (~108s each).