appsmith icon indicating copy to clipboard operation
appsmith copied to clipboard

feat: Improved-error-messages-for-postgres-connection

Open AnnaHariprasad5123 opened this issue 7 months ago • 17 comments

Hi @appsmithorg/contributor-support, @rohan-arthur, @nidhi-nair

Fixes #19723

What’s in this PR:

  1. 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.
  1. In PostgresErrorMessages
  • Added two constant value for Missing port and invalid host and port.
  1. In PostgresPluginTest
  • Added a test case to validate the missing port error message.

Screenshots :

  1. 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 image
  2. If host address or port is wrong, there is no reference of that in the error message. - Fixed image
  3. There is no error message when the port number is left empty. - Fixed image

Test cases : image

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.

AnnaHariprasad5123 avatar Jul 25 '24 05:07 AnnaHariprasad5123