Skip to content

Commit

Permalink
applied CR comments
Browse files Browse the repository at this point in the history
  • Loading branch information
alexradzin committed Jul 26, 2023
1 parent 9fe0a26 commit 2e8303d
Show file tree
Hide file tree
Showing 6 changed files with 63 additions and 68 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -358,9 +358,8 @@ public String getUserName() throws SQLException {
}

@Override
@ExcludeFromJacocoGeneratedReport
public boolean isReadOnly() throws SQLException {
return true;
return false;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package com.firebolt.jdbc.metadata;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.apache.commons.lang3.StringUtils;

import com.firebolt.jdbc.connection.FireboltConnection;
import com.firebolt.jdbc.resultset.FireboltResultSet;
import org.apache.commons.lang3.StringUtils;

import java.sql.ResultSet;
import java.sql.SQLException;

/**
* This class represents the database metadata for a system engine
Expand Down Expand Up @@ -52,4 +51,9 @@ public int getDatabaseMinorVersion() throws SQLException {
public String getDatabaseProductVersion() throws SQLException {
return StringUtils.EMPTY;
}

@Override
public boolean isReadOnly() throws SQLException {
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,8 @@ public String getSchemaName(int column) throws SQLException {
}

@Override
@ExcludeFromJacocoGeneratedReport
public boolean isReadOnly(int column) throws SQLException {
return false;
return true;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ void shouldGetDriverMajorVersion() {
}

@Test
void shouldGetDriverManorVersion() {
void shouldGetDriverMinorVersion() {
assertEquals(4, fireboltDatabaseMetadata.getDriverMinorVersion());
}

Expand Down Expand Up @@ -353,6 +353,11 @@ void shouldGetDatabaseMinorVersion() throws SQLException {
assertEquals(0, fireboltDatabaseMetadata.getDatabaseMinorVersion());
}

@Test
void isReadOnly() throws SQLException {
assertFalse(fireboltDatabaseMetadata.isReadOnly());
}

@Test
void getStringFunctions() throws SQLException {
getFunctions(DatabaseMetaData::getStringFunctions);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,36 +1,37 @@
package com.firebolt.jdbc.metadata;

import com.firebolt.jdbc.resultset.FireboltResultSet;
import com.firebolt.jdbc.testutils.AssertionUtil;
import org.junit.jupiter.api.Test;

import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.jupiter.api.Test;

import com.firebolt.jdbc.resultset.FireboltResultSet;
import com.firebolt.jdbc.testutils.AssertionUtil;
import static org.junit.jupiter.api.Assertions.assertTrue;

class FireboltSystemEngineDatabaseMetadataTest {
private final FireboltSystemEngineDatabaseMetadata fireboltSystemEngineDatabaseMetadata = new FireboltSystemEngineDatabaseMetadata(null, null);

@Test
void shouldReturnEmptyResultSetWhenGettingTable() throws SQLException {
FireboltSystemEngineDatabaseMetadata fireboltSystemEngineDatabaseMetadata = new FireboltSystemEngineDatabaseMetadata(
null, null);
ResultSet resultSet = fireboltSystemEngineDatabaseMetadata.getTables(null, null, null, null);
AssertionUtil.assertResultSetEquality(FireboltResultSet.empty(), resultSet);
}

@Test
void shouldReturnEmptyResultSetWhenGettingColumns() throws SQLException {
FireboltSystemEngineDatabaseMetadata fireboltSystemEngineDatabaseMetadata = new FireboltSystemEngineDatabaseMetadata(
null, null);
ResultSet resultSet = fireboltSystemEngineDatabaseMetadata.getColumns(null, null, null, null);
AssertionUtil.assertResultSetEquality(FireboltResultSet.empty(), resultSet);
}

@Test
void shouldReturnEmptyResultSetWhenGettingSchemas() throws SQLException {
FireboltSystemEngineDatabaseMetadata fireboltSystemEngineDatabaseMetadata = new FireboltSystemEngineDatabaseMetadata(
null, null);
ResultSet resultSet = fireboltSystemEngineDatabaseMetadata.getSchemas();
AssertionUtil.assertResultSetEquality(FireboltResultSet.empty(), resultSet);
}

@Test
void isReadOnly() throws SQLException {
assertTrue(fireboltSystemEngineDatabaseMetadata.isReadOnly());
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.firebolt.jdbc.resultset;

import static java.sql.ResultSetMetaData.columnNoNulls;
import static java.sql.ResultSetMetaData.columnNullable;
import static org.junit.jupiter.api.Assertions.*;

import java.sql.SQLException;
Expand All @@ -16,106 +18,91 @@ class FireboltResultSetMetaDataTest {

@Test
void shouldReturnColumnCount() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals(3, fireboltResultSetMetaData.getColumnCount());
assertEquals(3, getMetaData().getColumnCount());
}

@Test
void shouldReturn1WhenColumnIsNullable() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals(1, fireboltResultSetMetaData.isNullable(1));
assertEquals(columnNullable, getMetaData().isNullable(1));
}

@Test
void shouldReturn0WhenColumnIsNotNullable() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals(0, fireboltResultSetMetaData.isNullable(2));
assertEquals(columnNoNulls, getMetaData().isNullable(2));
}

@Test
void shouldReturnTrueWhenColumnSigned() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertTrue(fireboltResultSetMetaData.isSigned(2));
assertTrue(getMetaData().isSigned(2));
}

@Test
void shouldReturnTrueWhenColumnNotSigned() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertFalse(fireboltResultSetMetaData.isSigned(1));
assertFalse(getMetaData().isSigned(1));
}

@Test
void shouldReturnColumnNameAndLabel() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
FireboltResultSetMetaData fireboltResultSetMetaData = getMetaData();
assertEquals("name", fireboltResultSetMetaData.getColumnName(1));
assertEquals("name", fireboltResultSetMetaData.getColumnLabel(1));
}

@Test
void shouldReturnEmptyWhenGettingSchemaAsItIsNotSupported() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals(StringUtils.EMPTY, fireboltResultSetMetaData.getSchemaName(1));
assertEquals(StringUtils.EMPTY, getMetaData().getSchemaName(1));
}

@Test
void ShouldReturnScale() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals(2, fireboltResultSetMetaData.getScale(3));
void shouldReturnScale() throws SQLException {
assertEquals(2, getMetaData().getScale(3));
}

@Test
void ShouldReturnPrecision() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals(1, fireboltResultSetMetaData.getPrecision(3));
void shouldReturnPrecision() throws SQLException {
assertEquals(1, getMetaData().getPrecision(3));
}

@Test
void ShouldReturnTableName() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals("table-name", fireboltResultSetMetaData.getTableName());
void shouldReturnTableName() throws SQLException {
assertEquals("table-name", getMetaData().getTableName());
}

@Test
void ShouldReturnDbName() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals("db-name", fireboltResultSetMetaData.getDbName());
void shouldReturnDbName() throws SQLException {
assertEquals("db-name", getMetaData().getDbName());
}

@Test
void ShouldReturnColumnType() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals(Types.VARCHAR, fireboltResultSetMetaData.getColumnType(1));
void shouldReturnColumnType() throws SQLException {
assertEquals(Types.VARCHAR, getMetaData().getColumnType(1));
}

@Test
void shouldReturnColumnClassName() throws SQLException {
assertEquals("java.math.BigDecimal", getMetaData().getColumnClassName(3));
}

@Test
void ShouldReturnColumnClassName() throws SQLException {
void shouldReturnTrueWhenColumnIsCaseSensitiveAndFalseOtherwise() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = getMetaData();
assertTrue(fireboltResultSetMetaData.isCaseSensitive(1));
assertFalse(fireboltResultSetMetaData.isCaseSensitive(2));
}

@Test
void isReadOnly() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertEquals("java.math.BigDecimal", fireboltResultSetMetaData.getColumnClassName(3));
assertTrue(fireboltResultSetMetaData.isReadOnly(1));
}

private List<Column> getColumns() {
return Arrays.asList(Column.of("Nullable(String)", "name"), Column.of("Integer", "age"),
Column.of("Decimal(1,2)", "Weight"));
}

@Test
void shouldReturnTrueWhenColumnIsCaseSensitiveAndFalseOtherwise() throws SQLException {
FireboltResultSetMetaData fireboltResultSetMetaData = FireboltResultSetMetaData.builder().columns(getColumns())
.tableName("table-name").dbName("db-name").build();
assertTrue(fireboltResultSetMetaData.isCaseSensitive(1));
assertFalse(fireboltResultSetMetaData.isCaseSensitive(2));
private FireboltResultSetMetaData getMetaData() {
return FireboltResultSetMetaData.builder().columns(getColumns()).tableName("table-name").dbName("db-name").build();
}
}

0 comments on commit 2e8303d

Please sign in to comment.