test/test_adapter.rb in swift-0.7.2 vs test/test_adapter.rb in swift-0.8.0
- old
+ new
@@ -1,19 +1,19 @@
require_relative 'helper'
require 'stringio'
describe 'Adapter' do
- supported_by Swift::DB::Postgres, Swift::DB::Mysql, Swift::DB::DB2 do
+ supported_by Swift::DB::Postgres, Swift::DB::Mysql, Swift::DB::Sqlite3 do
describe 'db' do
before do
@db = Swift.db
- @db.execute('drop table users') rescue nil
- type = case @db
- when Swift::DB::DB2 then 'integer not null generated by default as identity'
+ @db.execute('drop table if exists users')
+ serial = case @db
+ when Swift::DB::Sqlite3 then 'integer primary key'
else 'serial'
end
- @db.execute %Q{create table users(id #{type}, name varchar(512), email varchar(512), created_at timestamp)}
+ @db.execute %Q{create table users(id #{serial}, name text, email text, created_at timestamp)}
end
it 'yields db to block' do
Swift.db do |db|
assert_kind_of Swift::Adapter, db
@@ -32,11 +32,11 @@
describe 'prepared statements' do
it 'executes via Statement#new' do
result = []
Swift::Statement.new(@db, 'select count(*) as n from users').execute {|r| result << r[:n] }
- assert_kind_of Integer, result[0]
+ assert_kind_of Fixnum, result[0]
end
it 'executes without bind values' do
assert @db.prepare(%q{insert into users (name) values ('Apple Arthurton')}).execute
end
@@ -52,27 +52,27 @@
end
it 'has insert_id' do
sql = case @db
when Swift::DB::Postgres then %q{insert into users (name) values (?) returning id}
- when Swift::DB::Mysql then %q{insert into users (name) values (?)}
- when Swift::DB::DB2 then %q{select id from final table(insert into users(name) values(?))}
+ else %q{insert into users (name) values (?)}
end
- assert_kind_of Numeric, @db.prepare(sql).execute('Connie Arthurton').insert_id
+ assert_kind_of Fixnum, @db.prepare(sql).execute('Connie Arthurton').insert_id
end
end
describe 'executed prepared statements' do
before do
insert = @db.prepare(%q{insert into users (name, created_at) values (?, current_timestamp)})
insert.execute('Apple Arthurton')
insert.execute('Benny Arthurton')
- @sth = @db.prepare('select * from users').execute
+ @sth = @db.prepare('select * from users')
+ @res = @sth.execute
end
it 'enumerates' do
- assert_kind_of Enumerable, @sth
+ assert_kind_of Enumerable, @res
end
it 'enumerates block' do
begin
@sth.execute{|row| row}
@@ -82,23 +82,22 @@
pass
end
end
it 'returns hash tuples for enumerable methods' do
- assert_kind_of Hash, @sth.first
+ assert_kind_of Hash, @res.first
end
it 'returns a result set on Adapter#execute{}' do
@db.execute('select * from users') {|r| assert_kind_of Hash, r }
end
it 'returns a result set on Adapter#results' do
- @db.execute('select * from users')
- assert_kind_of Swift::Result, @db.results
+ assert_kind_of Swift::Result, @db.execute('select * from users')
end
it 'returns fields' do
- assert_equal [ :id, :name, :email, :created_at ], @sth.fields
+ assert_equal [ :id, :name, :email, :created_at ], @res.fields
end
end
#--