tom@9671: /* Copyright (C) 2020 by Bundesanstalt für Gewässerkunde tom@9671: * Software engineering by Intevation GmbH tom@9671: * tom@9671: * This file is Free Software under the GNU AGPL (>=v3) tom@9671: * and comes with ABSOLUTELY NO WARRANTY! Check out the tom@9671: * documentation coming with Dive4Elements River for details. tom@9671: */ tom@9671: tom@9671: import static org.junit.Assert.assertEquals; tom@9672: import static org.junit.Assert.assertNull; tom@9671: tom@9671: import org.junit.Test; tom@9671: tom@9671: import org.dive4elements.river.utils.MapUtils; tom@9671: tom@9671: public class MapUtilsTest { tom@9671: tom@9671: private static final String DRV_PG = "jdbc:postgresql:"; tom@9671: private static final String DRV_ORA = "jdbc:oracle:thin:"; tom@9671: tom@9671: private static final String USER = "d4euser"; tom@9671: private static final String PSWD = "d4epswd"; tom@9671: private static final String DB = "d4edb"; tom@9671: private static final String HOST = "d4ehost"; tom@9671: private static final String PORT = "2345"; tom@9671: tom@9671: private static final String PG_CON_SUFFIX = " sslmode=disable"; tom@9671: tom@9671: @Test tom@9672: public void noJDBCURL() { tom@9672: String con = MapUtils.getConnection(USER, PSWD, "xx"); tom@9672: assertNull(con); tom@9672: } tom@9672: tom@9672: @Test tom@9672: public void invalidHostPG() { tom@9672: String con = MapUtils.getConnection( tom@9672: USER, PSWD, DRV_PG + "//invalid_host_name/"); tom@9672: assertNull(con); tom@9672: } tom@9672: tom@9672: @Test tom@9672: public void localNamedPG() { tom@9672: String con = MapUtils.getConnection( tom@9672: USER, PSWD, DRV_PG + DB); tom@9672: assertEquals( tom@9672: "dbname=" + DB tom@9672: + " user=" + USER tom@9672: + " password='" + PSWD + "'" + PG_CON_SUFFIX, tom@9672: con); tom@9672: } tom@9672: tom@9672: @Test tom@9672: public void localUserPG() { tom@9672: String con = MapUtils.getConnection( tom@9672: USER, PSWD, DRV_PG + "/"); tom@9672: assertEquals( tom@9672: "dbname=" + USER tom@9672: + " user=" + USER tom@9672: + " password='" + PSWD + "'" + PG_CON_SUFFIX, tom@9672: con); tom@9672: } tom@9672: tom@9672: @Test tom@9672: public void hostNamedPG() { tom@9672: String con = MapUtils.getConnection( tom@9672: USER, PSWD, DRV_PG + "//" + HOST + "/" + DB); tom@9672: assertEquals( tom@9672: "dbname=" + DB tom@9672: + " user=" + USER tom@9672: + " host='" + HOST + "'" tom@9672: + " password='" + PSWD + "'" + PG_CON_SUFFIX, tom@9672: con); tom@9672: } tom@9672: tom@9672: @Test tom@9672: public void hostUserPG() { tom@9672: String con = MapUtils.getConnection( tom@9672: USER, PSWD, DRV_PG + "//" + HOST + "/"); tom@9672: assertEquals( tom@9672: "dbname=" + USER tom@9672: + " user=" + USER tom@9672: + " host='" + HOST + "'" tom@9672: + " password='" + PSWD + "'" + PG_CON_SUFFIX, tom@9672: con); tom@9672: } tom@9672: tom@9672: @Test tom@9672: public void hostPortUserPG() { tom@9672: String con = MapUtils.getConnection( tom@9672: USER, PSWD, DRV_PG + "//" + HOST + ":" + PORT + "/"); tom@9672: assertEquals( tom@9672: "dbname=" + USER tom@9672: + " user=" + USER tom@9672: + " host='" + HOST + "' port=" + PORT tom@9672: + " password='" + PSWD + "'" + PG_CON_SUFFIX, tom@9672: con); tom@9672: } tom@9672: tom@9672: @Test tom@9671: public void hostPortNamedPG() { tom@9671: String con = MapUtils.getConnection( tom@9671: USER, PSWD, DRV_PG + "//" + HOST + ":" + PORT + "/" + DB); tom@9671: assertEquals( tom@9671: "dbname=" + DB tom@9672: + " user=" + USER tom@9672: + " host='" + HOST + "' port=" + PORT tom@9671: + " password='" + PSWD + "'" + PG_CON_SUFFIX, tom@9671: con); tom@9671: } tom@9671: tom@9671: @Test tom@9671: public void serviceNameORA() { tom@9671: String con = MapUtils.getConnection( tom@9671: USER, PSWD, DRV_ORA + "@//" + HOST + ":" + PORT + "/" + DB); tom@9671: assertEquals( tom@9671: USER + "/" + PSWD + "@" + HOST + ":" + PORT + "/" + DB, tom@9671: con); tom@9671: } tom@9672: tom@9672: @Test tom@9672: public void connectDescriptorORA() { tom@9672: String con = MapUtils.getConnection( tom@9672: USER, PSWD, DRV_ORA tom@9672: + "@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" tom@9672: + HOST + ")(PORT=" + PORT + "))(CONNECT_DATA=(SERVICE_NAME=" tom@9672: + DB + ")))"); tom@9672: assertEquals( tom@9672: USER + "/" + PSWD tom@9672: + "@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" tom@9672: + HOST + ")(PORT=" + PORT + "))(CONNECT_DATA=(SERVICE_NAME=" tom@9672: + DB + ")))", tom@9672: con); tom@9672: } tom@9671: }