appsmith
appsmith copied to clipboard
feat: Improved-error-messages-for-postgres-connection
Hi @appsmithorg/contributor-support, @rohan-arthur, @nidhi-nair
Fixes #19723
What’s in this PR:
- In Postgres Plugin:
- Added two imports: PSQLException and PSQLState to identify the type of exception and state of error.
- Added a condition to validate the empty port field.
- Removed the default port when the port is empty.
- Removed “Failed to initialize pool:” term in the error message.
- In PostgresErrorMessages
- Added two constant value for Missing port and invalid host and port.
- In PostgresPluginTest
- Added a test case to validate the missing port error message.
Screenshots :
- If any of the field like host address, port, DB name etc is wrong - There is a term in the error message along with the error message in the toast "Failed to initialize pool: ". This is not required. - Fixed
- If host address or port is wrong, there is no reference of that in the error message. - Fixed
- There is no error message when the port number is left empty. - Fixed
Test cases :
Why I didn’t provide test cases for invalid host and port :
Those errors are triggered by the createConnectionPool method, which is private, so we can’t access it in the test file.
Summary by CodeRabbit
-
New Features
- Improved validation for PostgreSQL datasource configurations, ensuring that a port is specified.
- Enhanced error messaging for connection issues related to missing or invalid port and hostname.
-
Bug Fixes
- Refined error handling during connection pool initialization for clearer feedback on specific connection issues.
-
Tests
- Added a test to validate behavior when the datasource configuration has an empty port, improving coverage for validation logic.