hunk.code_window:     ExecutableConfiguration getExecutableConfiguration();
       String getConfigurationPath();
  
hunk.labels: keep add keep keep
hunk.after_edit:     @JsonIgnore
  
hunk.file_path: app/server/appsmith-interfaces/src/main/java/com/appsmith/external/models/Executable.java
hunk.type: add
file: const datasource = require("../../../locators/DatasourcesEditor.json");
  import { dataSources } from "../../../support/Objects/ObjectsCore";
  let datasourceName;
  
  describe("Postgres datasource test cases", function () {
    beforeEach(() => {
      cy.startRoutesForDatasource();
    });
  
    it("1. Create, test, save then delete a postgres datasource", function () {
      dataSources.CreateDataSource("Postgres");
      cy.get("@saveDatasource").then((httpResponse) => {
        datasourceName = JSON.stringify(httpResponse.response.body.data.name);
        dataSources.DeleteDatasourceFromWithinDS(
          datasourceName.replace(/['"]+/g, ""),
        );
      });
    });
  
    it("2. Create with trailing white spaces in host address and database name, test, save then delete a postgres datasource", function () {
      cy.NavigateToDatasourceEditor();
      cy.get(datasource.PostgreSQL).click({ force: true });
      cy.fillPostgresDatasourceForm(true);
      cy.testSaveDatasource();
      cy.get("@saveDatasource").then((httpResponse) => {
        datasourceName = JSON.stringify(
          httpResponse.response.body.data.name,
        ).replace(/['"]+/g, "");
      });
    });
  
    it("3. Create a new query from the datasource editor", function () {
      cy.get(datasource.createQuery).last().click();
      cy.wait("@createNewApi").should(
        "have.nested.property",
        "response.body.responseMeta.status",
        201,
      );
      cy.deleteQueryUsingContext();
      cy.deleteDatasource(datasourceName);
    });
  });
  