Repository navigation
test: reject a malformed JDBC URL - #347
Merged
Merged
Conversation
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.
Why
DatabaseConnectionTesterServiceTestand both connection-test HTTP methods usedjdb:h2:mem:testdb. That string is not a JDBC URL.DriverManagerrejects it with "No suitable driver" before H2 parses it, so the malformed-URL test passed for that reason. The GET fixture also set the connection name instead of the user. The samejdbc:h2:mem:testdbURL with a null user connects, so the GET 400 depended on the missingc.The unit test locks the
SQLException. GET and POST were both asserting that same rejection.What changed
jdbc:h2:mem:testdb;MODE=NOT_A_MODE. The unit test requires anSQLExceptionwhose message names the unknown mode.POST /api/connections/testreturns HTTP 400 for that URL.GET /api/connections/{id}/testno longer repeats that rejection. It still covers a missing driver, a valid connection, 404, and 401.[Unreleased]### Changedrecords the test change with Tests and #314.Scope
Test fixtures and the changelog. Production code is unchanged.
Blast Radius
DatabaseConnectionTesterServiceTestandDatabaseConnectionControllerTest. The tester and both HTTP routes behave as before.Verification
DatabaseConnectionTesterServiceTestandDatabaseConnectionControllerTestpassed.spotlessCheck, the full./gradlew testsuite, andjacocoTestReport. All passed.Fixes #314