diff options
author | Teemu Matilainen <teemu.matilainen@iki.fi> | 2013-03-08 13:03:18 -0300 |
---|---|---|
committer | Bryan McLellan <btm@opscode.com> | 2013-04-11 13:33:53 -0700 |
commit | cecfe75c82a2977f04cd34abb71996c5acd80273 (patch) | |
tree | 710036a3065a1fc2fdccfc9f403d640bbffc994e /spec/unit/knife_spec.rb | |
parent | b1d50b3b86acf033f8ab8a479e4dea9fb0cd131a (diff) | |
download | chef-cecfe75c82a2977f04cd34abb71996c5acd80273.tar.gz |
[CHEF-3932] Add unit tests for Knife's lazy dependency loading
Diffstat (limited to 'spec/unit/knife_spec.rb')
-rw-r--r-- | spec/unit/knife_spec.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/unit/knife_spec.rb b/spec/unit/knife_spec.rb index d4d721a20d..4c5bb3e207 100644 --- a/spec/unit/knife_spec.rb +++ b/spec/unit/knife_spec.rb @@ -99,6 +99,9 @@ describe Chef::Knife do Chef::Knife.subcommands_by_category['cookbook site'].should include('test_explicit_category') end + it "has empty dependency_loader list by default" do + KnifeSpecs::TestNameMapping.dependency_loaders.should be_empty + end end describe "after loading all subcommands" do @@ -180,6 +183,21 @@ describe Chef::Knife do lambda {Chef::Knife.run(%w{fuuu uuuu fuuuu})}.should raise_error(SystemExit) { |e| e.status.should_not == 0 } end + it "loads lazy dependencies" do + command = Chef::Knife.run(%w{test yourself}) + KnifeSpecs::TestYourself.test_deps_loaded.should be_true + end + + it "loads lazy dependencies from multiple deps calls" do + other_deps_loaded = false + KnifeSpecs::TestYourself.class_eval do + deps { other_deps_loaded = true } + end + command = Chef::Knife.run(%w{test yourself}) + KnifeSpecs::TestYourself.test_deps_loaded.should be_true + other_deps_loaded.should be_true + end + describe "merging configuration options" do before do KnifeSpecs::TestYourself.option(:opt_with_default, @@ -228,6 +246,9 @@ describe Chef::Knife do @knife.name_args.should == %w{with some args} end + it "does not have lazy dependencies loaded" do + @knife.class.test_deps_loaded.should_not be_true + end end describe "when formatting exceptions" do |