Update test suite for Java 17 compatibility#556
Open
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
Open
Update test suite for Java 17 compatibility#556devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
devin-ai-integration[bot] wants to merge 1 commit intomasterfrom
Conversation
- Replace double-brace initialization (anonymous HashMap subclasses) with Map.of() across 5 test files to avoid anonymous inner class issues under Java 17's stronger encapsulation - Remove unused java.util.HashMap imports - All tests verified to compile and pass on Java 17 Co-Authored-By: shayan <shayan@cognition.ai>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
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
Replaces double-brace initialization (
new HashMap<>() {{ put(...); }}) withMap.of()across 5 API test files as part of a Java 17 compatibility review of the full test suite (23 files).Double-brace initialization creates anonymous inner subclasses of
HashMap, which can cause issues under Java 17's stronger encapsulation (serialization edge cases, unnecessary class generation).Map.of()is cleaner and available since Java 9 (project targets Java 11+).Files changed:
ArticleApiTest,ArticlesApiTest,CommentsApiTest,CurrentUserApiTest,UsersApiTestOther 18 test files reviewed — no issues found:
setAccessible,getDeclaredField, etc.)@SuppressWarningsfor deprecated APIsBuild note (not addressed here — out of scope): The Spotless plugin (Google Java Format) fails on Java 17 and the Mockito/ByteBuddy versions (4.0.0 / 1.11.22) may need
--add-opensJVM args inbuild.gradle. These are build config issues to be handled separately.Review & Testing Checklist for Human
Map.of()returning unmodifiable maps doesn't break RestAssured's.body()JSON serialization — the maps are only serialized, never mutated after creation, but worth a quick sanity checknull—Map.of()throwsNullPointerExceptionon null keys/values, unlikeHashMap.put()Notes
./gradlew test -x spotlessJavasuccessfully)Link to Devin session: https://app.devin.ai/sessions/906b3faf646a4e6b93024afe126b976b
Requested by: @shayanshafii