blazing 0.0.16 → 0.1.0.alpha1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gitignore +2 -0
- data/.rvmrc +1 -1
- data/Gemfile +0 -10
- data/Gemfile.lock +53 -44
- data/Guardfile +8 -0
- data/README.md +23 -99
- data/Rakefile +21 -4
- data/bin/blazing +23 -5
- data/blazing.gemspec +19 -8
- data/features/help_banner.feature +13 -0
- data/features/step_definitions/blazing_steps.rb +1 -0
- data/features/support/env.rb +9 -0
- data/lib/blazing.rb +4 -13
- data/lib/blazing/config.rb +38 -73
- data/lib/blazing/dsl_setter.rb +20 -0
- data/lib/blazing/recipe.rb +5 -78
- data/lib/blazing/runner.rb +44 -2
- data/lib/blazing/shell.rb +7 -0
- data/lib/blazing/target.rb +44 -134
- data/lib/blazing/templates/config.erb +21 -0
- data/lib/blazing/templates/hook.erb +43 -0
- data/lib/blazing/version.rb +1 -1
- data/spec/blazing/config_spec.rb +104 -48
- data/spec/blazing/integration/init_spec.rb +8 -37
- data/spec/blazing/integration/setup_local_spec.rb +27 -0
- data/spec/blazing/integration/setup_remote_spec.rb +32 -0
- data/spec/blazing/integration/update_spec.rb +38 -0
- data/spec/blazing/recipe_spec.rb +5 -66
- data/spec/blazing/runner_spec.rb +41 -6
- data/spec/blazing/target_spec.rb +26 -99
- data/spec/spec_helper.rb +18 -12
- data/spec/support/{config.rb → empty_config.rb} +0 -0
- metadata +170 -97
- data/TODO +0 -3
- data/lib/blazing/base.rb +0 -41
- data/lib/blazing/bootstrap.rb +0 -27
- data/lib/blazing/cli/base.rb +0 -64
- data/lib/blazing/cli/create.rb +0 -32
- data/lib/blazing/cli/hook.rb +0 -22
- data/lib/blazing/cli/templates/blazing.tt +0 -7
- data/lib/blazing/cli/templates/post-hook.tt +0 -25
- data/lib/blazing/core_ext/object.rb +0 -8
- data/lib/blazing/logger.rb +0 -31
- data/lib/blazing/recipes/bundler_recipe.rb +0 -20
- data/lib/blazing/recipes/rvm_recipe.rb +0 -11
- data/spec/blazing/binary_spec.rb +0 -11
- data/spec/blazing/cli/base_spec.rb +0 -94
- data/spec/blazing/cli/create_spec.rb +0 -27
- data/spec/blazing/cli/hook_spec.rb +0 -16
- data/spec/blazing/logger_spec.rb +0 -50
- data/spec/blazing/recipes/bundler_recipe_spec.rb +0 -32
- data/spec/blazing/recipes/passenger_recipe_spec.rb +0 -6
- data/spec/blazing/recipes/rvm_recipe_spec.rb +0 -11
- data/spec/blazing/remote_spec.rb +0 -136
data/spec/blazing/logger_spec.rb
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'blazing/logger'
|
3
|
-
require 'blazing/core_ext/object'
|
4
|
-
|
5
|
-
describe Blazing::Logger do
|
6
|
-
|
7
|
-
before :each do
|
8
|
-
@output = double
|
9
|
-
@logger = Blazing::Logger.new(@output)
|
10
|
-
end
|
11
|
-
|
12
|
-
context 'message logger' do
|
13
|
-
it 'saves the message within the logging class' do
|
14
|
-
@logger.log :info, 'something'
|
15
|
-
@logger.instance_variable_get('@messages').should_not be_blank
|
16
|
-
end
|
17
|
-
|
18
|
-
it 'keeps track what log level a message has' do
|
19
|
-
@logger.log :info, 'something'
|
20
|
-
@logger.instance_variable_get('@messages').first[:type].should be :info
|
21
|
-
end
|
22
|
-
|
23
|
-
it 'fails if the log level is unknown' do
|
24
|
-
lambda { @logger.log(:meh, 'something') }.should raise_error
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
context 'message reporter' do
|
29
|
-
it 'prints the messages from the messages hash' do
|
30
|
-
@logger.log :info, 'just a message'
|
31
|
-
@output.should_receive(:puts).with('just a message')
|
32
|
-
@logger.report
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'prints all messages when no type given' do
|
36
|
-
@logger.log :info, 'an info message'
|
37
|
-
@logger.log :warn, 'a warn message'
|
38
|
-
@output.should_receive(:puts).exactly(2).times
|
39
|
-
@logger.report
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'prints only the message of the given type when a type is supplied' do
|
43
|
-
@logger.log :info, 'an info message'
|
44
|
-
@logger.log :info, 'another info message'
|
45
|
-
@logger.log :warn, 'a warn message'
|
46
|
-
@output.should_receive(:puts).exactly(2).times
|
47
|
-
@logger.report(:info)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'blazing/recipes/bundler_recipe'
|
3
|
-
|
4
|
-
describe Blazing::BundlerRecipe do
|
5
|
-
|
6
|
-
before :each do
|
7
|
-
@recipe_without_options = Blazing::BundlerRecipe.new('bundler')
|
8
|
-
@recipe_with_options = Blazing::BundlerRecipe.new('bundler', :flags => '--without=production')
|
9
|
-
@runner = double('runner', :run => nil)
|
10
|
-
@recipe_with_options.instance_variable_set('@runner', @runner)
|
11
|
-
@recipe_without_options.instance_variable_set('@runner', @runner)
|
12
|
-
end
|
13
|
-
|
14
|
-
describe '#run' do
|
15
|
-
it 'fails if there is no gemfile' do
|
16
|
-
File.stub!(:exists?).and_return(false)
|
17
|
-
@recipe_without_options.run.should be false
|
18
|
-
end
|
19
|
-
|
20
|
-
it 'runs bundle install with default options when no options given' do
|
21
|
-
File.stub!(:exists?).and_return(true)
|
22
|
-
@runner.should_receive(:run).with('bundle install --deployment')
|
23
|
-
@recipe_without_options.run
|
24
|
-
end
|
25
|
-
|
26
|
-
it 'runs bundle install with the options supplied' do
|
27
|
-
File.stub!(:exists?).and_return(true)
|
28
|
-
@runner.should_receive(:run).with('bundle install --without=production')
|
29
|
-
@recipe_with_options.run
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,11 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'blazing/recipes/rvm_recipe'
|
3
|
-
|
4
|
-
describe Blazing::RvmRecipe do
|
5
|
-
|
6
|
-
describe '#run' do
|
7
|
-
it 'returns false, as the recipe itself is handled in shellscript' do
|
8
|
-
Blazing::RvmRecipe.new('rvm_recipe').run.should be false
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
data/spec/blazing/remote_spec.rb
DELETED
@@ -1,136 +0,0 @@
|
|
1
|
-
# require 'spec_helper'
|
2
|
-
# require 'blazing/remote'
|
3
|
-
|
4
|
-
# describe Blazing::Remote do
|
5
|
-
|
6
|
-
# before :each do
|
7
|
-
# # recipes = []
|
8
|
-
# # @config = double('config', :load => double('actual_config', :recipes => recipes, :find_target => double('target', :recipes => recipes)))
|
9
|
-
# @config = Blazing::Config.new
|
10
|
-
# @config.target :some_name, :deploy_to => 'user@hostname:/path'
|
11
|
-
# @remote = Blazing::Remote.new('some_name', :config => @config)
|
12
|
-
# @remote.instance_variable_set('@_dir', double('Dir', :chdir => nil))
|
13
|
-
# end
|
14
|
-
|
15
|
-
# describe '#post_receive' do
|
16
|
-
# before :each do
|
17
|
-
# @remote.instance_variable_set('@runner', double('runner', :run => true))
|
18
|
-
# Dir.stub!(:chdir)
|
19
|
-
# end
|
20
|
-
|
21
|
-
# it 'sets up the git dir' do
|
22
|
-
# @remote.should_receive(:set_git_dir)
|
23
|
-
# @remote.post_receive
|
24
|
-
# end
|
25
|
-
|
26
|
-
# it 'runs the recipes' do
|
27
|
-
# @remote.should_receive(:run_recipes)
|
28
|
-
# @remote.post_receive
|
29
|
-
# end
|
30
|
-
|
31
|
-
# it 'resets the git repository' do
|
32
|
-
# @remote.should_receive(:reset_head!)
|
33
|
-
# @remote.post_receive
|
34
|
-
# end
|
35
|
-
# end
|
36
|
-
|
37
|
-
# describe '#gemfile_present?' do
|
38
|
-
# it 'checks if a Gemfile is in the cwd' do
|
39
|
-
# File.should_receive(:exists?).with('Gemfile')
|
40
|
-
# @remote.gemfile_present?
|
41
|
-
# end
|
42
|
-
# end
|
43
|
-
|
44
|
-
# describe '#set_git_dir' do
|
45
|
-
# it 'sets .git as gitdir if git dir is "."' do
|
46
|
-
# # Dir.should_receive(:chdir).with('.git')
|
47
|
-
# # @remote.set_git_dir
|
48
|
-
# end
|
49
|
-
# end
|
50
|
-
|
51
|
-
# describe '#reset_head!' do
|
52
|
-
# it 'does a git reset --hard HEAD' do
|
53
|
-
# runner = double('runner', :run => nil)
|
54
|
-
# @remote.instance_variable_set('@runner', runner)
|
55
|
-
# runner.should_receive(:run).with('git reset --hard HEAD')
|
56
|
-
# @remote.reset_head!
|
57
|
-
# end
|
58
|
-
# end
|
59
|
-
|
60
|
-
# describe '#use_rvm?' do
|
61
|
-
# context 'with rvm recipe enabled' do
|
62
|
-
# it 'returns the rvm string' do
|
63
|
-
# @remote.instance_variable_set('@recipes', double('recipes', :find => double('recipe', :options => { :rvm_string => 'someruby@somegemset'}), :delete_if => nil))
|
64
|
-
# @remote.use_rvm?.should == 'someruby@somegemset'
|
65
|
-
# end
|
66
|
-
|
67
|
-
# it 'deletes the rvm recipes from the recipes array' do
|
68
|
-
# @remote.instance_variable_set('@recipes', [double('rvm_recipe', :name => 'rvm', :options => {})])
|
69
|
-
# @remote.use_rvm?
|
70
|
-
# @remote.instance_variable_get('@recipes').should be_blank
|
71
|
-
# end
|
72
|
-
# end
|
73
|
-
|
74
|
-
# context 'without rvm_recipe' do
|
75
|
-
# it 'returns false' do
|
76
|
-
# @remote.instance_variable_set('@recipes', double('rvm_recipe', :find => false, :delete_if => nil))
|
77
|
-
# @remote.use_rvm?.should be false
|
78
|
-
# end
|
79
|
-
# end
|
80
|
-
# end
|
81
|
-
|
82
|
-
# describe '#setup_recipes' do
|
83
|
-
# context 'when the target has no recipes' do
|
84
|
-
# it 'assigns the global recipes settings from the config' do
|
85
|
-
# recipe_probe = double('recipe_probe', :name => 'noname', :run => nil)
|
86
|
-
# config = double('config', :recipes => [recipe_probe])
|
87
|
-
# @remote.instance_variable_set('@config', config)
|
88
|
-
# @remote.setup_recipes
|
89
|
-
# @remote.instance_variable_get('@recipes').first.should be recipe_probe
|
90
|
-
# end
|
91
|
-
# end
|
92
|
-
|
93
|
-
# context 'when the target has recipes' do
|
94
|
-
# it 'does not touch the target recipes' do
|
95
|
-
# target_recipe_probe = double('target_recipe_probe', :name => 'target', :run => nil)
|
96
|
-
# global_recipe_probe = double('global_recipe_probe', :name => 'global', :run => nil)
|
97
|
-
# global_config = double('config', :recipes => [global_recipe_probe])
|
98
|
-
# blazing_config_class = double('blazing_config', :parse => global_config)
|
99
|
-
# @remote.instance_variable_set('@_config', blazing_config_class)
|
100
|
-
# @remote.instance_variable_set('@recipes', [target_recipe_probe])
|
101
|
-
# @remote.setup_recipes
|
102
|
-
# @remote.instance_variable_get('@recipes').first.name.should == 'target'
|
103
|
-
# end
|
104
|
-
# end
|
105
|
-
# end
|
106
|
-
|
107
|
-
# describe '#run_recipes' do
|
108
|
-
# it 'runs all recipes' do
|
109
|
-
# recipes = [double('one', :name => nil), double('two', :name => nil), double('three', :name => nil)]
|
110
|
-
# @remote.instance_variable_set('@recipes', recipes)
|
111
|
-
# recipes.each do |recipe|
|
112
|
-
# recipe.should_receive(:run)
|
113
|
-
# end
|
114
|
-
# @remote.run_recipes
|
115
|
-
# end
|
116
|
-
# end
|
117
|
-
|
118
|
-
# describe '#run_bootstrap_recipes' do
|
119
|
-
|
120
|
-
# before :each do
|
121
|
-
# @bundler = double('bundler', :name => 'bundler', :run => nil)
|
122
|
-
# @recipes = [@bundler, double('two', :name => nil), double('three', :name => nil)]
|
123
|
-
# @remote.instance_variable_set('@recipes', @recipes)
|
124
|
-
# end
|
125
|
-
|
126
|
-
# it 'runs bundler recipe if it is enabled' do
|
127
|
-
# @bundler.should_receive(:run)
|
128
|
-
# @remote.run_bootstrap_recipes
|
129
|
-
# end
|
130
|
-
|
131
|
-
# it 'deletes the bundler recipe from the array after running it' do
|
132
|
-
# @remote.run_bootstrap_recipes
|
133
|
-
# @recipes.find { |r| r.name == 'bundler' }.should be nil
|
134
|
-
# end
|
135
|
-
# end
|
136
|
-
# end
|