## Description - Currently MsSQL plugin enforces SSL setting to be disabled when connecting with a database, hence any database that does not allow non-encrypted connection would fail the connection. - This PR introduces SSL dropdown to MsSQL datasource config page with two modes - (1) `disabled` (2) `encryption with no verify` - `encryption with no verify` means that an encrypted connection would be established but the client would not seek to verify the authenticity of the database server. - This PR also migrates the older existing MsSQL datasources to include the SSL config with mode being `disabled` since this is how the plugin is effectively configured at the moment. - An attempt was made to use the new `ChangeUnit` way of writing the migration but was abandoned in the interest of time after some re-tries due to some error during runtime. Fixes #19039 #20048 ## Type of change - Bug fix (non-breaking change which fixes an issue) - New feature (non-breaking change which adds functionality) ## How Has This Been Tested? - Manual - Attempted to add JUnit TC but had to roll back because of some issues with DB connections opened via other JUnit TCs. Tracking this issue here: https://github.com/appsmithorg/appsmith/issues/20570 ### Steps for manual testing (1) Run MSSQL using docker cmd: `docker run -d --name sql_server -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=someThingComplicated1234' -p 1433:1433 mcr.microsoft.com/mssql/server:2019-latest` (2) Switch to `release branch`. (3) Create a MSSQL datasource and create valid connection to the DB created in step (1). Check that the datasource has no SSL dropdown config. (4) Create a query on datasource created in (3). Verify that the query runs. (5) Switch to this PR branch. Spin up the sever. (6) Edit the datasource created in (3) and check that there is a SSL dropdown with `Disabled` config set. (7) Check that test datsource passes and query in (4) still works. (8) Create a new datsource and check that it has SSL option set to `Enable with no verify`. (9) Check that datasource in (8) works. ### Test Plan > Add Testsmith test cases links that relate to this PR ### Issues raised during DP testing > Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR) ## Checklist: ### Dev activity - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my own code - [x] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] PR is being merged under a feature flag ### QA activity: - [ ] Test plan has been approved by relevant developers - [ ] Test plan has been peer reviewed by QA - [ ] Cypress test cases have been added and approved by either SDET or manual QA - [ ] Organized project review call with relevant stakeholders after Round 1/2 of QA - [ ] Added Test Plan Approved label after reveiwing all Cypress test |
||
|---|---|---|
| .. | ||
| src | ||
| pom.xml | ||