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 #--