package org.javalite.db_migrator;
import org.junit.Test;
import static org.junit.Assert.*;
import static org.javalite.db_migrator.DbUtils.*;
public class DatabaseUtilsSpec
{
@Test
public void shouldExtractDatabaseNames()
{
assertEquals(extractDatabaseName("jdbc:mysql:dbname"), "dbname");
assertEquals(extractDatabaseName("jdbc:mysql://localhost/dbname"), "dbname");
assertEquals(extractDatabaseName("jdbc:mysql://127.0.0.1/dbname"), "dbname");
assertEquals(extractDatabaseName("jdbc:mysql://pants/a_b_c"), "a_b_c");
assertEquals(extractDatabaseName("jdbc:mysql://pants/a-b-c"), "a-b-c");
assertEquals(extractDatabaseName("jdbc:mysql://localhost:3306/dbname"), "dbname");
assertEquals(extractDatabaseName("jdbc:mysql://127.0.0.1:3306/dbname"), "dbname");
assertEquals(extractDatabaseName("jdbc:mysql://localhost/dbname;OPTION1=A;OPTION2=B"), "dbname");
assertEquals(extractDatabaseName("jdbc:mysql://127.0.0.1:3306/dbname;OPTION1=A;OPTION2=B"), "dbname");
assertEquals(extractDatabaseName("jdbc:mysql://localhost/dbname?OPTION1=A&OPTION2=B"), "dbname");
assertEquals(extractDatabaseName("jdbc:mysql://127.0.0.1:3306/dbname?OPTION1=A&OPTION2=B"), "dbname");
}
@Test
public void shouldExtractServerUrl()
{
assertEquals(extractServerUrl("jdbc:mysql:dbname"), "jdbc:mysql");
assertEquals(extractServerUrl("jdbc:mysql://localhost/dbname"), "jdbc:mysql://localhost");
assertEquals(extractServerUrl("jdbc:mysql://pants/a_b_c"), "jdbc:mysql://pants");
assertEquals(extractServerUrl("jdbc:mysql://pants/a-b-c"), "jdbc:mysql://pants");
assertEquals(extractServerUrl("jdbc:mysql://localhost/dbname"), "jdbc:mysql://localhost");
assertEquals(extractServerUrl("jdbc:mysql://localhost:3306/dbname"), "jdbc:mysql://localhost:3306");
assertEquals(extractServerUrl("jdbc:mysql://127.0.0.1:3306/dbname"), "jdbc:mysql://127.0.0.1:3306");
assertEquals(extractServerUrl("jdbc:mysql://localhost/dbname;OPTION1=A;OPTION2=B"), "jdbc:mysql://localhost;OPTION1=A;OPTION2=B");
assertEquals(extractServerUrl("jdbc:mysql://127.0.0.1:3306/dbname;OPTION1=A;OPTION2=B"), "jdbc:mysql://127.0.0.1:3306;OPTION1=A;OPTION2=B");
assertEquals(extractServerUrl("jdbc:mysql://localhost/dbname?OPTION1=A&OPTION2=B"), "jdbc:mysql://localhost?OPTION1=A&OPTION2=B");
assertEquals(extractServerUrl("jdbc:mysql://127.0.0.1:3306/dbname?OPTION1=A&OPTION2=B"), "jdbc:mysql://127.0.0.1:3306?OPTION1=A&OPTION2=B");
}
}