test/BackupRestoreTest.rb in rubyfb-0.5.7 vs test/BackupRestoreTest.rb in rubyfb-0.5.8
- old
+ new
@@ -6,25 +6,32 @@
require 'rubyfb'
include Rubyfb
class BackupRestoreTest < Test::Unit::TestCase
- CURDIR = "#{Dir.getwd}"
- DB_FILE = "#{CURDIR}#{File::SEPARATOR}backup_restore_unit_test.fdb"
- BACKUP_FILE = "#{CURDIR}#{File::SEPARATOR}database.bak"
+ DB_FILE = File.join(DB_DIR, "backup_restore_unit_test.fdb")
+ BACKUP_FILE = File.join(DB_DIR, "database.bak")
- def setup
- puts "#{self.class.name} started." if TEST_LOGGING
- # Remove existing database files.
- if File.exist?(DB_FILE)
- db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
- end
+ def cleanup
+ # Remove existing database files.
+ if File.exist?(DB_FILE)
+ db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
+ end
- if File.exist?(BACKUP_FILE)
- File.delete(BACKUP_FILE)
+ if File.exist?(BACKUP_FILE)
+ begin
+ File.delete(BACKUP_FILE)
+ rescue
+ # ignore file permissions may cause this
end
+ end
+ end
+ def setup
+ puts "#{self.class.name} started." if TEST_LOGGING
+ cleanup
+
# Create and populate the database files.
@database = Database.create(DB_FILE, DB_USER_NAME, DB_PASSWORD)
@database.connect(DB_USER_NAME, DB_PASSWORD) do |cxn|
cxn.execute_immediate('create table test(id integer)')
cxn.execute_immediate('insert into test values (1000)')
@@ -33,20 +40,13 @@
cxn.execute_immediate('insert into test values (3000)')
cxn.execute_immediate('insert into test values (4000)')
end
end
- def teardown
- # Remove existing database files.
- if File.exist?(DB_FILE)
- db = Database.new(DB_FILE).drop(DB_USER_NAME, DB_PASSWORD)
- end
-
- if File.exist?(BACKUP_FILE)
- File.delete(BACKUP_FILE)
- end
- puts "#{self.class.name} finished." if TEST_LOGGING
- end
+ def teardown
+ cleanup
+ puts "#{self.class.name} finished." if TEST_LOGGING
+ end
def test01
sm = ServiceManager.new('localhost')
sm.connect(DB_USER_NAME, DB_PASSWORD)