Package liquibase.database

Source Code of liquibase.database.DatabaseListTest

package liquibase.database;

import liquibase.database.core.H2Database;
import liquibase.database.core.MSSQLDatabase;
import liquibase.database.core.MySQLDatabase;
import liquibase.database.core.OracleDatabase;
import org.junit.Test;

import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;

public class DatabaseListTest {


    @Test
    public void databaseMatchesDbmsDefinition() {
        assertTrue("'all' should match any database", DatabaseList.definitionMatches("all", new MySQLDatabase(), false));
        assertTrue("'all' should match any database, even when others are added", DatabaseList.definitionMatches("all, oracle", new MySQLDatabase(), false));

        assertFalse("'none' should not match any database", DatabaseList.definitionMatches("none", new MySQLDatabase(), false));
        assertFalse("'none' should not match any database, even when others are added", DatabaseList.definitionMatches("none, oracle", new OracleDatabase(), false));

        assertTrue(DatabaseList.definitionMatches("", new OracleDatabase(), true));
        assertFalse(DatabaseList.definitionMatches("", new OracleDatabase(), false));

        assertTrue(DatabaseList.definitionMatches((String) null, new OracleDatabase(), true));
        assertFalse(DatabaseList.definitionMatches((String) null, new OracleDatabase(), false));

        assertTrue(DatabaseList.definitionMatches("   ", new OracleDatabase(), true));
        assertFalse(DatabaseList.definitionMatches("   ", new OracleDatabase(), false));

        assertTrue(DatabaseList.definitionMatches("oracle", new OracleDatabase(), false));
        assertTrue(DatabaseList.definitionMatches("oracle,mysql,mssql", new OracleDatabase(), false));
        assertTrue(DatabaseList.definitionMatches("oracle,mysql,mssql", new MySQLDatabase(), false));
        assertTrue(DatabaseList.definitionMatches("oracle,mysql,mssql", new MSSQLDatabase(), false));
        assertFalse(DatabaseList.definitionMatches("oracle,mysql,mssql", new H2Database(), false));

        assertTrue(DatabaseList.definitionMatches("!h2", new MySQLDatabase(), false));
        assertTrue(DatabaseList.definitionMatches("!h2", new MySQLDatabase(), true));

        assertFalse(DatabaseList.definitionMatches("!h2", new H2Database(), false));
        assertFalse(DatabaseList.definitionMatches("!h2", new H2Database(), true));

        assertFalse(DatabaseList.definitionMatches("!h2,mysql", new H2Database(), false));
        assertTrue(DatabaseList.definitionMatches("!h2,mysql", new MySQLDatabase(), false));
    }

}
TOP

Related Classes of liquibase.database.DatabaseListTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.