You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by mf...@redhat.com on 2011/04/27 13:07:58 UTC

[PATCH core 2/4] Added task for Mock driver fixtures setup/reset inside server directory

From: Michal Fojtik <mf...@redhat.com>

---
 server/Rakefile |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/server/Rakefile b/server/Rakefile
index e6b59b8..33bfe65 100644
--- a/server/Rakefile
+++ b/server/Rakefile
@@ -89,3 +89,42 @@ spec = Gem::Specification.load('deltacloud-core.gemspec')
 Rake::GemPackageTask.new(spec) do |pkg|
   pkg.need_tar = true
 end
+
+namespace :mock do
+  namespace :fixtures do
+    desc "Setup Mock driver fixtures"
+    task 'setup' do
+      if ENV["DELTACLOUD_MOCK_STORAGE"]
+        storage_root = ENV["DELTACLOUD_MOCK_STORAGE"]
+      elsif ENV["USER"]
+        storage_root = File::join("/var/tmp", "deltacloud-mock-#{ENV["USER"]}")
+      else
+        raise "Please set either the DELTACLOUD_MOCK_STORAGE or USER environment variable"
+      end
+      data = Dir::glob(File::join(File::dirname(__FILE__), "lib", "deltacloud", "drivers", "mock", "data", "*"))
+      FileUtils::mkdir_p(storage_root, :verbose => true)
+      FileUtils::cp_r(data, storage_root, :verbose => true)
+    end
+
+    desc "Remove Mock driver fixtures"
+    task 'clean' do
+      if ENV["DELTACLOUD_MOCK_STORAGE"]
+        storage_root = ENV["DELTACLOUD_MOCK_STORAGE"]
+      elsif ENV["USER"]
+        storage_root = File::join("/var/tmp", "deltacloud-mock-#{ENV["USER"]}")
+      else
+        raise "Please set either the DELTACLOUD_MOCK_STORAGE or USER environment variable"
+      end
+      FileUtils::rm_rf(storage_root, :verbose => true)
+    end
+
+    desc "Reset Mock driver fixtures"
+    task 'reset' do
+      Rake::Task["fixtures:clean"].reenable
+      Rake::Task["fixtures:clean"].invoke
+      Rake::Task["fixtures:setup"].reenable
+      Rake::Task["fixtures:setup"].invoke
+    end
+
+  end
+end
-- 
1.7.4.1