Skip to content

Commit 3d30d8a

Browse files
committed
Spec for shared folder task. New gem dependency on fakefs
1 parent d68df27 commit 3d30d8a

4 files changed

+49
-0
lines changed

.gemfile

+1
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@ gemspec
55
gem 'rake'
66
gem 'rspec'
77
gem 'capistrano-spec', :git => 'git://github.com/mydrive/capistrano-spec.git'
8+
gem 'fakefs', :require => 'fakefs/safe'

lib/capifony_symfony2.rb

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def self.load_into(configuration)
2121
load 'symfony2/doctrine'
2222
load 'symfony2/propel'
2323
load 'symfony2/web'
24+
load 'symfony2/shared'
2425

2526
# Symfony application path
2627
set :app_path, "app"

spec/capifony_symfony2_shared_spec.rb

+39
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
require 'spec_helper'
2+
3+
require 'fakefs/safe'
4+
5+
describe "Capifony::Symfony2 - shared" do
6+
before do
7+
@configuration = Capistrano::Configuration.new
8+
@configuration.extend(Capistrano::Spec::ConfigurationExtension)
9+
10+
@configuration.set :application, 'test-app'
11+
@configuration.set :latest_release, '/var/www/releases/20120927'
12+
@configuration.set :previous_release, '/var/www/releases/20120920'
13+
@configuration.set :current_path, '/var/www/current'
14+
@configuration.set :shared_path, '/var/www/shared'
15+
@configuration.set :remote_tmp_dir, '/tmp'
16+
@configuration.set :maintenance_basename, 'maintenance'
17+
@configuration.set :try_sudo, ''
18+
19+
Capifony::Symfony2.load_into(@configuration)
20+
end
21+
22+
subject { @configuration }
23+
24+
it "defines shared folder tasks" do
25+
@configuration.find_task('shared:folder:download').should_not == nil
26+
end
27+
28+
context "when runnning shared:folder:download", fakefs: true do
29+
before do
30+
@configuration.find_and_execute_task('shared:folder:download')
31+
@filename = "test-app.remote_shared.#{Time.now.utc.strftime("%Y%m%d%H%M%S")}.tar.gz"
32+
@file = "/tmp/#{@filename}"
33+
end
34+
35+
it { should have_run(" sh -c \'cd /var/www/shared; tar -zcvf #{@file} --exclude=\'cached-copy\' .\'") }
36+
it { should have_gotten("#{@file}").to("backups/#{@filename}") }
37+
it { should have_run(" rm -f #{@file}") }
38+
end
39+
end

spec/spec_helper.rb

+8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
require 'rubygems'
22
require 'bundler/setup'
3+
require 'fakefs/spec_helpers'
34

45
$LOAD_PATH.unshift(File.dirname(__FILE__))
56
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
@@ -12,6 +13,7 @@
1213
RSpec.configure do |config|
1314
config.include Capistrano::Spec::Matchers
1415
config.include Capistrano::Spec::Helpers
16+
config.include FakeFS::SpecHelpers, fakefs: true
1517
end
1618

1719
require 'capifony_symfony2'
@@ -22,3 +24,9 @@ def capifony_pretty_print(msg)
2224

2325
def capifony_puts_ok
2426
end
27+
28+
def capifony_progress_start(msg = '')
29+
end
30+
31+
def capifony_progress_update(sent, total)
32+
end

0 commit comments

Comments
 (0)