/** * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. * * Copyright 2012-2016 the original author or authors. */ package org.assertj.db.database.sqlite; import org.junit.Test; import java.sql.*; import static org.assertj.core.api.Assertions.assertThat; /** * Test on the Sqlite database. * * @author RĂ©gis Pouiller */ public class SqliteDataBase_Test extends AbstractSqliteTest { private final String URL = "jdbc:sqlite:target/testDerby.db"; private final String USER = ""; private final String PASSWORD = ""; @Test public void test_catalog_for_data_source() throws SQLException { try (Connection connection = dataSource.getConnection()) { String catalog = connection.getCatalog(); assertThat(catalog).isNull(); } } @Test public void test_catalog_for_source() throws SQLException { try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { String catalog = connection.getCatalog(); assertThat(catalog).isNull(); } } @Test public void test_schema_for_data_source() throws SQLException { try (Connection connection = dataSource.getConnection()) { String schema = connection.getSchema(); assertThat(schema).isNull(); } } @Test public void test_schema_for_source() throws SQLException { try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { String schema = connection.getSchema(); assertThat(schema).isNull(); } } @Test public void test_tables_for_data_source() throws SQLException { try (Connection connection = dataSource.getConnection()) { DatabaseMetaData databaseMetaData = connection.getMetaData(); ResultSet resultSet = databaseMetaData.getTables(null, null, null, new String[] { "TABLE" }); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("TABLE_NAME")).isEqualTo("teSt"); assertThat(resultSet.next()).isFalse(); } } @Test public void test_tables_for_source() throws SQLException { try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { DatabaseMetaData databaseMetaData = connection.getMetaData(); ResultSet resultSet = databaseMetaData.getTables(null, null, null, new String[] { "TABLE" }); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("TABLE_NAME")).isEqualTo("teSt"); assertThat(resultSet.next()).isFalse(); } } @Test public void test_table_primary_keys_for_data_source() throws SQLException { try (Connection connection = dataSource.getConnection()) { DatabaseMetaData databaseMetaData = connection.getMetaData(); { ResultSet resultSet = databaseMetaData.getPrimaryKeys(null, null, "teSt"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var1"); assertThat(resultSet.next()).isFalse(); } { ResultSet resultSet = databaseMetaData.getPrimaryKeys(null, null, "test"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var1"); assertThat(resultSet.next()).isFalse(); } } } @Test public void test_table_primary_keys_for_source() throws SQLException { try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { DatabaseMetaData databaseMetaData = connection.getMetaData(); { ResultSet resultSet = databaseMetaData.getPrimaryKeys(null, null, "teSt"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var1"); assertThat(resultSet.next()).isFalse(); } { ResultSet resultSet = databaseMetaData.getPrimaryKeys(null, null, "test"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var1"); assertThat(resultSet.next()).isFalse(); } } } @Test public void test_table_columns_for_data_source() throws SQLException { try (Connection connection = dataSource.getConnection()) { DatabaseMetaData databaseMetaData = connection.getMetaData(); { ResultSet resultSet = databaseMetaData.getColumns(null, null, "TEST", null); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("Var1"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("vAr2"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("vaR3"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var4"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var5"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var6"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var7"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var8"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var9"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var10"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var11"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var12"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var13"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var14"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var15"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var16"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var17"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var18"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var19"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var20"); assertThat(resultSet.next()).isFalse(); } { ResultSet resultSet = databaseMetaData.getColumns(null, null, "test", null); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("Var1"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("vAr2"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("vaR3"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var4"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var5"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var6"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var7"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var8"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var9"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var10"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var11"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var12"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var13"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var14"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var15"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var16"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var17"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var18"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var19"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var20"); assertThat(resultSet.next()).isFalse(); } } } @Test public void test_table_columns_for_source() throws SQLException { try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { DatabaseMetaData databaseMetaData = connection.getMetaData(); { ResultSet resultSet = databaseMetaData.getColumns(null, null, "TEST", null); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("Var1"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("vAr2"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("vaR3"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var4"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var5"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var6"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var7"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var8"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var9"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var10"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var11"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var12"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var13"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var14"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var15"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var16"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var17"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var18"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var19"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var20"); assertThat(resultSet.next()).isFalse(); } { ResultSet resultSet = databaseMetaData.getColumns(null, null, "test", null); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("Var1"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("vAr2"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("vaR3"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var4"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var5"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var6"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var7"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var8"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var9"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var10"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var11"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var12"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var13"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var14"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var15"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var16"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var17"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var18"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var19"); assertThat(resultSet.next()).isTrue(); assertThat(resultSet.getString("COLUMN_NAME")).isEqualTo("var20"); assertThat(resultSet.next()).isFalse(); } } } @Test public void test_request_columns_for_data_source() throws SQLException { try (Connection connection = dataSource.getConnection()) { try (Statement statement = connection.createStatement()) { try (ResultSet resultSet1 = statement.executeQuery("select * from test")) { ResultSetMetaData resultSetMetaData = resultSet1.getMetaData(); assertThat(resultSetMetaData.getColumnCount()).isEqualTo(20); assertThat(resultSetMetaData.getColumnName(1)).isEqualTo("Var1"); assertThat(resultSetMetaData.getColumnName(2)).isEqualTo("vAr2"); assertThat(resultSetMetaData.getColumnName(3)).isEqualTo("vaR3"); assertThat(resultSetMetaData.getColumnName(4)).isEqualTo("var4"); assertThat(resultSetMetaData.getColumnName(5)).isEqualTo("var5"); assertThat(resultSetMetaData.getColumnName(6)).isEqualTo("var6"); assertThat(resultSetMetaData.getColumnName(7)).isEqualTo("var7"); assertThat(resultSetMetaData.getColumnName(8)).isEqualTo("var8"); assertThat(resultSetMetaData.getColumnName(9)).isEqualTo("var9"); assertThat(resultSetMetaData.getColumnName(10)).isEqualTo("var10"); assertThat(resultSetMetaData.getColumnName(11)).isEqualTo("var11"); assertThat(resultSetMetaData.getColumnName(12)).isEqualTo("var12"); assertThat(resultSetMetaData.getColumnName(13)).isEqualTo("var13"); assertThat(resultSetMetaData.getColumnName(14)).isEqualTo("var14"); assertThat(resultSetMetaData.getColumnName(15)).isEqualTo("var15"); assertThat(resultSetMetaData.getColumnName(16)).isEqualTo("var16"); assertThat(resultSetMetaData.getColumnName(17)).isEqualTo("var17"); assertThat(resultSetMetaData.getColumnName(18)).isEqualTo("var18"); assertThat(resultSetMetaData.getColumnName(19)).isEqualTo("var19"); assertThat(resultSetMetaData.getColumnName(20)).isEqualTo("var20"); } } } } @Test public void test_request_columns_for_source() throws SQLException { try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { try (Statement statement = connection.createStatement()) { try (ResultSet resultSet1 = statement.executeQuery("select * from test")) { ResultSetMetaData resultSetMetaData = resultSet1.getMetaData(); assertThat(resultSetMetaData.getColumnCount()).isEqualTo(20); assertThat(resultSetMetaData.getColumnName(1)).isEqualTo("Var1"); assertThat(resultSetMetaData.getColumnName(2)).isEqualTo("vAr2"); assertThat(resultSetMetaData.getColumnName(3)).isEqualTo("vaR3"); assertThat(resultSetMetaData.getColumnName(4)).isEqualTo("var4"); assertThat(resultSetMetaData.getColumnName(5)).isEqualTo("var5"); assertThat(resultSetMetaData.getColumnName(6)).isEqualTo("var6"); assertThat(resultSetMetaData.getColumnName(7)).isEqualTo("var7"); assertThat(resultSetMetaData.getColumnName(8)).isEqualTo("var8"); assertThat(resultSetMetaData.getColumnName(9)).isEqualTo("var9"); assertThat(resultSetMetaData.getColumnName(10)).isEqualTo("var10"); assertThat(resultSetMetaData.getColumnName(11)).isEqualTo("var11"); assertThat(resultSetMetaData.getColumnName(12)).isEqualTo("var12"); assertThat(resultSetMetaData.getColumnName(13)).isEqualTo("var13"); assertThat(resultSetMetaData.getColumnName(14)).isEqualTo("var14"); assertThat(resultSetMetaData.getColumnName(15)).isEqualTo("var15"); assertThat(resultSetMetaData.getColumnName(16)).isEqualTo("var16"); assertThat(resultSetMetaData.getColumnName(17)).isEqualTo("var17"); assertThat(resultSetMetaData.getColumnName(18)).isEqualTo("var18"); assertThat(resultSetMetaData.getColumnName(19)).isEqualTo("var19"); assertThat(resultSetMetaData.getColumnName(20)).isEqualTo("var20"); } } } } }