import { DriverUtils } from "../../../src/driver/DriverUtils"; import { expect } from "chai"; // import {exec} from "child_process"; describe("github issues > #1493 Error parsing pg connection string", () => { it("should parse common connection url", () => { const obj: any = { username: "username", password: "password", host: "host", database: "database", port: 8888 }; const url = `postgres://${obj.username}:${obj.password}@${obj.host}:${obj.port}/${obj.database}`; const options = DriverUtils.buildDriverOptions({url}); for (const key of Object.keys(obj)) { expect(options[key]).to.eql(obj[key]); } }); it("should parse url with password contains colons", () => { const obj: any = { username: "username", password: "pas:swo:rd", host: "host", database: "database", port: 8888 }; const url = `postgres://${obj.username}:${obj.password}@${obj.host}:${obj.port}/${obj.database}`; const options = DriverUtils.buildDriverOptions({url}); expect(options.password).to.eql(obj.password); }); it("should parse url with username and password contains at signs", () => { const obj: any = { username: "usern@me", password: "p@ssword", host: "host", database: "database", port: 8888 }; const url = `postgres://${obj.username}:${obj.password}@${obj.host}:${obj.port}/${obj.database}`; const options = DriverUtils.buildDriverOptions({url}); expect(options.username).to.eql(obj.username); expect(options.password).to.eql(obj.password); }); });