You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltacloud.apache.org by mf...@apache.org on 2013/03/07 12:22:16 UTC
[7/8] git commit: Pull all DB setup logic into the database
initializer
Pull all DB setup logic into the database initializer
This ensures in particular that our tests always run under the same
environment.
TrackedAt: http://tracker.deltacloud.org/patch/5ec21300d23fc4fddfc4a75a237d417ba83d5bb6
Project: http://git-wip-us.apache.org/repos/asf/deltacloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltacloud/commit/332b2d38
Tree: http://git-wip-us.apache.org/repos/asf/deltacloud/tree/332b2d38
Diff: http://git-wip-us.apache.org/repos/asf/deltacloud/diff/332b2d38
Branch: refs/heads/master
Commit: 332b2d3831c760a8e3e425b621e529c4f41c09de
Parents: c063da8
Author: David Lutterkort <lu...@redhat.com>
Authored: Wed Mar 6 17:57:09 2013 -0800
Committer: Michal fojtik <mf...@redhat.com>
Committed: Thu Mar 7 12:17:18 2013 +0100
----------------------------------------------------------------------
server/bin/deltacloud-db-upgrade | 11 +-------
server/lib/initializers/database_initialize.rb | 27 +++++++++++++-----
server/tests/cimi/db/db_helper.rb | 16 +----------
server/tests/deltacloud/common.rb | 3 --
4 files changed, 21 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/332b2d38/server/bin/deltacloud-db-upgrade
----------------------------------------------------------------------
diff --git a/server/bin/deltacloud-db-upgrade b/server/bin/deltacloud-db-upgrade
index 290dc77..ce6631e 100755
--- a/server/bin/deltacloud-db-upgrade
+++ b/server/bin/deltacloud-db-upgrade
@@ -17,17 +17,8 @@
require 'rubygems'
require 'require_relative' if RUBY_VERSION < '1.9'
-# Fix loading of SQLite3 driver in JDBC
-#
-if RUBY_PLATFORM == 'java'
- require 'jdbc/sqlite3'
- Jdbc::SQLite3.load_driver
-end
-
-# Do not exit
+# Force DB upgrade
ENV['DB_UPGRADE'] = 'true'
require_relative './../lib/initializers/mock_initialize'
require_relative './../lib/initializers/database_initialize'
-
-Sequel::Migrator.apply(DATABASE, DATABASE_MIGRATIONS_DIR)
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/332b2d38/server/lib/initializers/database_initialize.rb
----------------------------------------------------------------------
diff --git a/server/lib/initializers/database_initialize.rb b/server/lib/initializers/database_initialize.rb
index f7637ca..7ec68aa 100644
--- a/server/lib/initializers/database_initialize.rb
+++ b/server/lib/initializers/database_initialize.rb
@@ -30,18 +30,27 @@ Sequel::Model.plugin :validation_class_methods
# Enable Sequel migrations extension
Sequel.extension :migration
-# For JRuby we need to different Sequel driver
-#
-sequel_driver = (RUBY_PLATFORM=='java') ? 'jdbc:sqlite:' : 'sqlite://'
-
-# The default sqlite3 database could be override by 'DATABASE_LOCATION'
+# The default sqlite3 database can be overridden with the 'DATABASE_LOCATION'
# environment variable.
#
# For more details about possible values see:
# http://sequel.rubyforge.org/rdoc/files/doc/opening_databases_rdoc.html
#
-DATABASE_LOCATION = ENV['DATABASE_LOCATION'] ||
- "#{sequel_driver}#{File.join(BASE_STORAGE_DIR, 'db.sqlite')}"
+if ENV['DATABASE_LOCATION']
+ DATABASE_LOCATION = ENV['DATABASE_LOCATION']
+else
+ if ENV['RACK_ENV'] == 'test'
+ if RUBY_PLATFORM=='java'
+ DATABASE_LOCATION = 'jdbc:sqlite::memory'
+ else
+ DATABASE_LOCATION = 'sqlite:/'
+ end
+ else
+ sequel_driver = (RUBY_PLATFORM=='java') ? 'jdbc:sqlite:' : 'sqlite://'
+ DATABASE_LOCATION =
+ "#{sequel_driver}#{File.join(BASE_STORAGE_DIR, 'db.sqlite')}"
+ end
+end
if RUBY_PLATFORM == 'java'
require 'jdbc/sqlite3'
@@ -61,7 +70,9 @@ unless Sequel::Migrator.is_current?(DATABASE, DATABASE_MIGRATIONS_DIR)
# Do not exit when this intitializer is included from deltacloud-db-upgrade
# script
#
- unless ENV['DB_UPGRADE']
+ if ENV['RACK_ENV'] == 'test' || ENV['DB_UPGRADE']
+ Sequel::Migrator.apply(DATABASE, DATABASE_MIGRATIONS_DIR)
+ else
warn "WARNING: The database needs to be upgraded. Run: 'deltacloud-db-upgrade' command."
exit(1)
end
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/332b2d38/server/tests/cimi/db/db_helper.rb
----------------------------------------------------------------------
diff --git a/server/tests/cimi/db/db_helper.rb b/server/tests/cimi/db/db_helper.rb
index 65cca7b..ac44118 100644
--- a/server/tests/cimi/db/db_helper.rb
+++ b/server/tests/cimi/db/db_helper.rb
@@ -1,18 +1,4 @@
-# Memory database
-if RUBY_PLATFORM == 'java'
- require 'jdbc/sqlite3'
- Jdbc::SQLite3.load_driver
- ENV['DATABASE_LOCATION'] = 'jdbc:sqlite::memory:'
-else
- ENV['DATABASE_LOCATION'] = 'sqlite:/'
-end
-
-ENV['DB_UPGRADE'] = 'true'
-
-require_relative '../../../lib/initializers/database_initialize'
-
-# Apply database migrations:
-Sequel::Migrator.apply(DATABASE, DATABASE_MIGRATIONS_DIR)
+require_relative '../../test_helper'
module Deltacloud
module DatabaseTestHelper
http://git-wip-us.apache.org/repos/asf/deltacloud/blob/332b2d38/server/tests/deltacloud/common.rb
----------------------------------------------------------------------
diff --git a/server/tests/deltacloud/common.rb b/server/tests/deltacloud/common.rb
index cded956..c31655e 100644
--- a/server/tests/deltacloud/common.rb
+++ b/server/tests/deltacloud/common.rb
@@ -1,8 +1,5 @@
require_relative '../test_helper.rb'
-require_relative File.join('..', '..', 'lib', 'initializers', 'mock_initialize')
-require_relative File.join('..', '..', 'lib', 'initializers', 'frontend_initialize')
-
Deltacloud.require_frontend! :deltacloud
def check_json_serialization_for(model, sample_id, optional_attrs=[])