package com.orientechnologies.orient.jdbc;
import org.junit.Test;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Types;
import static org.hamcrest.Matchers.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
public class OrientJdbcResultSetTest extends OrientJdbcBaseTest {
@Test
public void shouldMapReturnTypes() throws Exception {
ResultSet rs = conn.createStatement().executeQuery("SELECT stringKey, intKey, text, length, date FROM Item");
ResultSetMetaData metaData = rs.getMetaData();
assertThat(metaData, is(notNullValue()));
assertThat(metaData.getColumnType(1), equalTo(Types.VARCHAR));
assertThat(metaData.getColumnType(2), equalTo(Types.INTEGER));
assertThat(metaData.getColumnType(3), equalTo(Types.VARCHAR));
assertThat(metaData.getColumnType(4), equalTo(Types.BIGINT));
assertThat(metaData.getColumnType(5), equalTo(Types.TIMESTAMP));
}
@Test
public void shouldMapRatingToDouble() throws Exception {
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM Author limit 10");
int size = 0;
while (rs.next()) {
assertThat(rs.getDouble("rating"), is(notNullValue()));
size++;
}
assertEquals(size, 10);
}
@Test
public void shouldConvertUUIDToDouble() throws Exception {
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM Author limit 10");
int count = 0;
while (rs.next()) {
assertThat(rs.getDouble("uuid"), is(notNullValue()));
count++;
}
assertThat(10, equalTo(count));
}
@Test
public void shouldReturnEmptyResultSet() throws Exception {
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM Author where false = true");
assertThat(rs.next(), is(false));
}
}