Merged
Conversation
- CloudFoundryCleaner was not properly triggered on every test. In fact, it was only triggered when the integration test's TestContext would change, which was very infrequent (unsure it was ever triggered). It's possible the cleanup only ever happened when the test suite started. - This is because the "clean" method was linked to lifecycle methods of the CloudFoundryCleaner bean, which was only created once. - The solution is to add `@DirtiesContext`, to trigger a re-creation of this bean. We don't want to do it on every test, because it could add more that 1h to the whole test suite. To ensure that it is well understood why this annotation is there in the first place, we introduce the meta-annotation @CleanupCloudFoundryAfterClass. - Note that calling CloudFoundryCleaner#clean() directly in tests would not work, because that annotation deletes EVERYTHING, and then subsequent tests would not have an org, a space, etc to operate in. By using @DirtiesContext we ensure those other beans are recreated as well. - Lastly, I have a doubt that the CloudFoundryCleaner is even required. I believe deleting an org in current versions of CF deletes EVERYTHING within this org, so it should be enough. However, this would be a much bigger change to the tests, which we don't have the bandwidth to tackle at the moment.
pivotal-david-osullivan
approved these changes
Jul 9, 2025
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.
A few lifecycle fixes here and there, ensuring the tests have the required dependencies.
Removed unused SecureRandom bean
The big chunck of this PR is to fix the "CloudFoundryCleaner" which was only called once. See explanation from the asociated commit:
@DirtiesContext, to trigger a re-creation of this bean. We don't want to do it on every test, because it could add more that 1h to the whole test suite. To ensure that it is well understood why this annotation is there in the first place, we introduce the meta-annotation @CleanupCloudFoundryAfterClass.