Package liquibase.database

Examples of liquibase.database.Database


    }

    @Override
    @Test
    public void escapeTableName_noSchema() {
        Database database = new MSSQLDatabase();
        assertEquals("[tableName]", database.escapeTableName(null, null, "tableName"));
    }
View Full Code Here


    }

    @Override
    @Test
    public void escapeTableName_withSchema() {
        Database database = new MSSQLDatabase();
        assertEquals("[schemaName].[tableName]", database.escapeTableName("catalogName", "schemaName", "tableName"));
    }
View Full Code Here

      return new ChangeSet("test-id", "test-author", false, false, "/test.xml", null, null, runInTransaction, null);
    }
   
    @Test
  public void testMockDatabaseThatSupportsDdlInTran() {
      Database database = createMockDatabaseThatSupportsDdlInTran();
      replay(database);
      assertTrue(database.supportsDDLInTransaction());
      assertFalse(database.getAutoCommitMode());
  }
View Full Code Here

        assertEquals("[schemaName].[tableName]", database.escapeTableName("catalogName", "schemaName", "tableName"));
    }

    @Test
    public void changeDefaultSchema() throws DatabaseException {
        Database database = new MSSQLDatabase();
        assertNull(database.getDefaultSchemaName());

        database.setDefaultSchemaName("myschema");
        assertEquals("myschema", database.getDefaultSchemaName());
    }
View Full Code Here

      assertFalse(database.getAutoCommitMode());
  }
   
    @Test
  public void testMockDatabaseThatDoesNotSupportDdlInTran() {
      Database database = createMockDatabaseThatDoesNotSupportDdlInTran();
      replay(database);
      assertFalse(database.supportsDDLInTransaction());
      assertTrue(database.getAutoCommitMode());
  }
View Full Code Here

      assertTrue(database.getAutoCommitMode());
  }
   
    @Test
    public void testExecuteForDatabaseThatSupportsDdlInTranWhenRunInTransactionIsTrue() throws Exception {
      Database database = createMockDatabaseThatSupportsDdlInTran();
      ExecutorService.getInstance().setExecutor(database, createMockExecutor());
      checkOrder(database, true);
      database.setAutoCommit(false); // before ChangeSet is run
      checkOrder(database, false);
      trainToAcceptAnyNumberOfCommitsOrRollbacks(database);
      // no need to set back after ChangeSet is run because false is the auto-commit mode for
      // databases that support DDL in transactions
      replay(database);
View Full Code Here

        database.setDefaultSchemaName("myschema");
        assertEquals("myschema", database.getDefaultSchemaName());
    }
   
    private Database getADatabaseWithCollation( final String collation ) throws DatabaseException, SQLException {
    Database database = getDatabase();
    JdbcConnection connection = createMock(JdbcConnection.class);
    expect(connection.getConnectionUserName()).andReturn("user").anyTimes();
    expect(connection.getURL()).andReturn("URL").anyTimes();
    expect(connection.getAutoCommit()).andReturn(getDatabase().getAutoCommitMode()).anyTimes();

    Connection sqlConnection = createMock(Connection.class);
    Statement statement = createMock(Statement.class);
    ResultSet resultSet = createMock(ResultSet.class);
    ResultSetMetaData metadata = createMock(ResultSetMetaData.class);

    expect(connection.getUnderlyingConnection()).andReturn(sqlConnection).anyTimes();
    expect( sqlConnection.createStatement()).andReturn(statement);
    expect( statement.executeQuery("SELECT CONVERT(varchar(100), SERVERPROPERTY('COLLATION'))")).andReturn(resultSet);
    expect( resultSet.next() ).andReturn(true);
    expect( resultSet.getMetaData() ).andReturn(metadata);
    expect( metadata.getColumnCount() ).andReturn(1);
    expect( resultSet.getString(1)).andReturn(collation);
    expect( resultSet.next() ).andReturn(false);

    connection.attached(database);
    replay(connection, sqlConnection, statement, resultSet, metadata);
    database.setConnection(connection);
    return database;
    }
View Full Code Here

    @Test
    public void generateStatements_willCallNativeSqlIfPossible() throws DatabaseException {
        ExampleAbstractSQLChange change = new ExampleAbstractSQLChange("SOME SQL");

        Database database = mock(Database.class);
        DatabaseConnection connection = mock(DatabaseConnection.class);
        when(database.getConnection()).thenReturn(connection);
        when(connection.nativeSQL("SOME SQL")).thenReturn("SOME NATIVE SQL");

        SqlStatement[] statements = change.generateStatements(database);
        assertEquals(1, statements.length);
        assertEquals("SOME NATIVE SQL", ((RawSqlStatement) statements[0]).getSql());
View Full Code Here

      verify(database);
    }
   
    @Test
    public void testExecuteForDatabaseThatSupportsDdlInTranWhenRunInTransactionIsFalse() throws Exception {
      Database database = createMockDatabaseThatSupportsDdlInTran();
      ExecutorService.getInstance().setExecutor(database, createMockExecutor());
      checkOrder(database, true);
      database.setAutoCommit(true); // before ChangeSet is run
      checkOrder(database, false);
      trainToAcceptAnyNumberOfCommitsOrRollbacks(database);
      checkOrder(database, true);
      database.setAutoCommit(false); // after ChangeSet is run
      replay(database);
     
      ChangeSet changeSet = createTestChangeSet(false);
      changeSet.execute(new DatabaseChangeLog(), database);
     
View Full Code Here

    return database;
    }
   
    @Test
    public void caseSensitiveBinaryCollation() throws Exception {
      Database database =  getADatabaseWithCollation("Latin1_General_BIN");
      assertTrue( "Should be case sensitive", database.isCaseSensitive() );
    }
View Full Code Here

TOP

Related Classes of liquibase.database.Database

Copyright © 2018 www.massapicom. 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.