test/dbi/tc_dbi.rb in dbi-0.4.1 vs test/dbi/tc_dbi.rb in dbi-0.4.2
- old
+ new
@@ -11,131 +11,148 @@
require 'dbi'
require 'test/unit'
class TC_DBI < Test::Unit::TestCase
- def setup
- @db_error = DBI::DatabaseError.new("test", 1, "montana")
- @db_binary = DBI::Binary.new("test")
- @url_basic = 'dbi:foo:bar'
- @url_inter = 'dbi:foo:bar:host'
- @url_advan = 'dbi:foo:database=db;host=xx;port=99'
- end
+ def setup
+ @db_error = DBI::DatabaseError.new("test", 1, "montana")
+ @db_binary = DBI::Binary.new("test")
+ @url_basic = 'dbi:foo:bar'
+ @url_inter = 'dbi:foo:bar:host'
+ @url_advan = 'dbi:foo:database=db;host=xx;port=99'
+ end
- def test_dbi_version
- assert_equal("0.4.1", DBI::VERSION)
- end
+ def test_dbi_version
+ assert_equal("0.4.2", DBI::VERSION)
+ end
- def test_dbd_module
- assert_equal("0.3", DBI::DBD::API_VERSION)
- end
+ def test_dbd_module
+ assert_equal("0.3", DBI::DBD::API_VERSION)
+ end
- def test_fetch_scroll_constants
- assert_equal(1, DBI::SQL_FETCH_NEXT)
- assert_equal(2, DBI::SQL_FETCH_PRIOR)
- assert_equal(3, DBI::SQL_FETCH_FIRST)
- assert_equal(4, DBI::SQL_FETCH_LAST)
- assert_equal(5, DBI::SQL_FETCH_ABSOLUTE)
- assert_equal(6, DBI::SQL_FETCH_RELATIVE)
- end
+ def test_fetch_scroll_constants
+ assert_equal(1, DBI::SQL_FETCH_NEXT)
+ assert_equal(2, DBI::SQL_FETCH_PRIOR)
+ assert_equal(3, DBI::SQL_FETCH_FIRST)
+ assert_equal(4, DBI::SQL_FETCH_LAST)
+ assert_equal(5, DBI::SQL_FETCH_ABSOLUTE)
+ assert_equal(6, DBI::SQL_FETCH_RELATIVE)
+ end
- def test_sql_type_constants
- assert_equal(1, DBI::SQL_CHAR)
- assert_equal(2, DBI::SQL_NUMERIC)
- assert_equal(3, DBI::SQL_DECIMAL)
- assert_equal(4, DBI::SQL_INTEGER)
- assert_equal(5, DBI::SQL_SMALLINT)
- assert_equal(6, DBI::SQL_FLOAT)
- assert_equal(7, DBI::SQL_REAL)
- assert_equal(8, DBI::SQL_DOUBLE)
- assert_equal(9, DBI::SQL_DATE)
- assert_equal(10, DBI::SQL_TIME)
- assert_equal(11, DBI::SQL_TIMESTAMP)
- assert_equal(12, DBI::SQL_VARCHAR)
- assert_equal(100, DBI::SQL_OTHER)
- assert_equal(-1, DBI::SQL_LONGVARCHAR)
- assert_equal(-2, DBI::SQL_BINARY)
- assert_equal(-3, DBI::SQL_VARBINARY)
- assert_equal(-4, DBI::SQL_LONGVARBINARY)
- assert_equal(-5, DBI::SQL_BIGINT)
- assert_equal(-6, DBI::SQL_TINYINT)
- assert_equal(-7, DBI::SQL_BIT)
- assert_equal(-10, DBI::SQL_BLOB)
- assert_equal(-11, DBI::SQL_CLOB)
- end
+ def test_sql_type_constants
+ assert_equal(1, DBI::SQL_CHAR)
+ assert_equal(2, DBI::SQL_NUMERIC)
+ assert_equal(3, DBI::SQL_DECIMAL)
+ assert_equal(4, DBI::SQL_INTEGER)
+ assert_equal(5, DBI::SQL_SMALLINT)
+ assert_equal(6, DBI::SQL_FLOAT)
+ assert_equal(7, DBI::SQL_REAL)
+ assert_equal(8, DBI::SQL_DOUBLE)
+ assert_equal(9, DBI::SQL_DATE)
+ assert_equal(10, DBI::SQL_TIME)
+ assert_equal(11, DBI::SQL_TIMESTAMP)
+ assert_equal(12, DBI::SQL_VARCHAR)
+ assert_equal(100, DBI::SQL_OTHER)
+ assert_equal(-1, DBI::SQL_LONGVARCHAR)
+ assert_equal(-2, DBI::SQL_BINARY)
+ assert_equal(-3, DBI::SQL_VARBINARY)
+ assert_equal(-4, DBI::SQL_LONGVARBINARY)
+ assert_equal(-5, DBI::SQL_BIGINT)
+ assert_equal(-6, DBI::SQL_TINYINT)
+ assert_equal(-7, DBI::SQL_BIT)
+ assert_equal(-10, DBI::SQL_BLOB)
+ assert_equal(-11, DBI::SQL_CLOB)
+ end
- def test_sql_type_names
- assert_equal('BIT', DBI::SQL_TYPE_NAMES[DBI::SQL_BIT])
- assert_equal('TINYINT', DBI::SQL_TYPE_NAMES[DBI::SQL_TINYINT])
- assert_equal('SMALLINT', DBI::SQL_TYPE_NAMES[DBI::SQL_SMALLINT])
- assert_equal('INTEGER', DBI::SQL_TYPE_NAMES[DBI::SQL_INTEGER])
- assert_equal('BIGINT', DBI::SQL_TYPE_NAMES[DBI::SQL_BIGINT])
- assert_equal('FLOAT', DBI::SQL_TYPE_NAMES[DBI::SQL_FLOAT])
- assert_equal('REAL', DBI::SQL_TYPE_NAMES[DBI::SQL_REAL])
- assert_equal('DOUBLE', DBI::SQL_TYPE_NAMES[DBI::SQL_DOUBLE])
- assert_equal('NUMERIC', DBI::SQL_TYPE_NAMES[DBI::SQL_NUMERIC])
- assert_equal('DECIMAL', DBI::SQL_TYPE_NAMES[DBI::SQL_DECIMAL])
- assert_equal('CHAR', DBI::SQL_TYPE_NAMES[DBI::SQL_CHAR])
- assert_equal('VARCHAR', DBI::SQL_TYPE_NAMES[DBI::SQL_VARCHAR])
- assert_equal('LONG VARCHAR', DBI::SQL_TYPE_NAMES[DBI::SQL_LONGVARCHAR])
- assert_equal('DATE', DBI::SQL_TYPE_NAMES[DBI::SQL_DATE])
- assert_equal('TIME', DBI::SQL_TYPE_NAMES[DBI::SQL_TIME])
- assert_equal('TIMESTAMP', DBI::SQL_TYPE_NAMES[DBI::SQL_TIMESTAMP])
- assert_equal('BINARY', DBI::SQL_TYPE_NAMES[DBI::SQL_BINARY])
- assert_equal('VARBINARY', DBI::SQL_TYPE_NAMES[DBI::SQL_VARBINARY])
- assert_equal('LONG VARBINARY',
- DBI::SQL_TYPE_NAMES[DBI::SQL_LONGVARBINARY])
- assert_equal('BLOB', DBI::SQL_TYPE_NAMES[DBI::SQL_BLOB])
- assert_equal('CLOB', DBI::SQL_TYPE_NAMES[DBI::SQL_CLOB])
- assert_equal(nil, DBI::SQL_TYPE_NAMES[DBI::SQL_OTHER])
- end
+ def test_sql_type_names
+ assert_equal('BIT', DBI::SQL_TYPE_NAMES[DBI::SQL_BIT])
+ assert_equal('TINYINT', DBI::SQL_TYPE_NAMES[DBI::SQL_TINYINT])
+ assert_equal('SMALLINT', DBI::SQL_TYPE_NAMES[DBI::SQL_SMALLINT])
+ assert_equal('INTEGER', DBI::SQL_TYPE_NAMES[DBI::SQL_INTEGER])
+ assert_equal('BIGINT', DBI::SQL_TYPE_NAMES[DBI::SQL_BIGINT])
+ assert_equal('FLOAT', DBI::SQL_TYPE_NAMES[DBI::SQL_FLOAT])
+ assert_equal('REAL', DBI::SQL_TYPE_NAMES[DBI::SQL_REAL])
+ assert_equal('DOUBLE', DBI::SQL_TYPE_NAMES[DBI::SQL_DOUBLE])
+ assert_equal('NUMERIC', DBI::SQL_TYPE_NAMES[DBI::SQL_NUMERIC])
+ assert_equal('DECIMAL', DBI::SQL_TYPE_NAMES[DBI::SQL_DECIMAL])
+ assert_equal('CHAR', DBI::SQL_TYPE_NAMES[DBI::SQL_CHAR])
+ assert_equal('VARCHAR', DBI::SQL_TYPE_NAMES[DBI::SQL_VARCHAR])
+ assert_equal('LONG VARCHAR', DBI::SQL_TYPE_NAMES[DBI::SQL_LONGVARCHAR])
+ assert_equal('DATE', DBI::SQL_TYPE_NAMES[DBI::SQL_DATE])
+ assert_equal('TIME', DBI::SQL_TYPE_NAMES[DBI::SQL_TIME])
+ assert_equal('TIMESTAMP', DBI::SQL_TYPE_NAMES[DBI::SQL_TIMESTAMP])
+ assert_equal('BINARY', DBI::SQL_TYPE_NAMES[DBI::SQL_BINARY])
+ assert_equal('VARBINARY', DBI::SQL_TYPE_NAMES[DBI::SQL_VARBINARY])
+ assert_equal('LONG VARBINARY',
+ DBI::SQL_TYPE_NAMES[DBI::SQL_LONGVARBINARY])
+ assert_equal('BLOB', DBI::SQL_TYPE_NAMES[DBI::SQL_BLOB])
+ assert_equal('CLOB', DBI::SQL_TYPE_NAMES[DBI::SQL_CLOB])
+ assert_equal(nil, DBI::SQL_TYPE_NAMES[DBI::SQL_OTHER])
+ end
- def test_dbi_exception_classes
- assert(DBI::Error)
- assert(DBI::Warning)
- assert(DBI::InterfaceError)
- assert(DBI::NotImplementedError)
- assert(DBI::DatabaseError)
- assert(DBI::DataError)
- assert(DBI::OperationalError)
- assert(DBI::IntegrityError)
- assert(DBI::InternalError)
- assert(DBI::ProgrammingError)
- assert(DBI::NotSupportedError)
- end
+ def test_dbi_exception_classes
+ assert(DBI::Error)
+ assert(DBI::Warning)
+ assert(DBI::InterfaceError)
+ assert(DBI::NotImplementedError)
+ assert(DBI::DatabaseError)
+ assert(DBI::DataError)
+ assert(DBI::OperationalError)
+ assert(DBI::IntegrityError)
+ assert(DBI::InternalError)
+ assert(DBI::ProgrammingError)
+ assert(DBI::NotSupportedError)
+ end
# This error class gets extra testing since it defines some custom
# accessors.
def test_dbi_database_error
- assert_respond_to(@db_error, :errstr)
- assert_respond_to(@db_error, :err)
- assert_respond_to(@db_error, :state)
- assert_equal("test", @db_error.errstr)
- assert_equal(1, @db_error.err)
- assert_equal("montana", @db_error.state)
+ assert_respond_to(@db_error, :errstr)
+ assert_respond_to(@db_error, :err)
+ assert_respond_to(@db_error, :state)
+ assert_equal("test", @db_error.errstr)
+ assert_equal(1, @db_error.err)
+ assert_equal("montana", @db_error.state)
end
def test_binary_datatype
- assert_respond_to(@db_binary, :data)
- assert_respond_to(@db_binary, :to_s)
- assert_equal("test", @db_binary.data)
- assert_equal("test", @db_binary.to_s)
+ assert_respond_to(@db_binary, :data)
+ assert_respond_to(@db_binary, :to_s)
+ assert_equal("test", @db_binary.data)
+ assert_equal("test", @db_binary.to_s)
end
def test_misc_constants
- assert_equal(2, DBI::DEFAULT_TRACE_MODE)
- assert_equal(STDERR, DBI::DEFAULT_TRACE_OUTPUT)
+ assert_equal(2, DBI::DEFAULT_TRACE_MODE)
+ assert_equal(STDERR, DBI::DEFAULT_TRACE_OUTPUT)
end
- def test_connect
- assert_respond_to(DBI, :connect)
+ def test_last_connection
+ assert_respond_to(DBI, :last_connection)
end
- def test_available_drivers
- assert_respond_to(DBI, :available_drivers)
+ def test_convert_types
+ assert_respond_to(DBI, :convert_types)
+ assert_respond_to(DBI, :convert_types=)
end
+
+ def test_connect
+ assert_respond_to(DBI, :connect)
+ end
+ def test_available_drivers
+ assert_respond_to(DBI, :available_drivers)
+ assert_equal(
+ [
+ "dbi:Mysql:",
+ "dbi:ODBC:",
+ "dbi:Pg:",
+ "dbi:SQLite3:",
+ "dbi:SQLite:"
+ ], DBI.available_drivers.sort)
+ end
+
# PRIVATE METHODS
def test_parse_url
assert_nothing_raised{ DBI.send(:parse_url, "dbi:foo:bar") }
assert_equal(["foo","bar"], DBI.send(:parse_url, @url_basic))
assert_equal(["foo","bar:host"], DBI.send(:parse_url, @url_inter))
@@ -156,20 +173,9 @@
assert true
assert_kind_of DBI::InterfaceError, e
assert_equal "Invalid Data Source Name", e.message
end
end
- end
-
- def test_available_drivers
- assert_equal(
- [
- "dbi:Mysql:",
- "dbi:ODBC:",
- "dbi:Pg:",
- "dbi:SQLite3:",
- "dbi:SQLite:"
- ], DBI.available_drivers.sort)
end
def teardown
@db_error = nil
@db_binary = nil