berkshelf 1.3.1 → 1.4.0.rc1

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.
@@ -0,0 +1,23 @@
1
+ require 'spec_helper'
2
+
3
+ describe Berkshelf::Chef::Cookbook::Chefignore do
4
+ describe "ClassMethods" do
5
+ subject { described_class }
6
+
7
+ describe "::find_relative_to" do
8
+ let(:path) { tmp_path.join('chefignore-test') }
9
+ before(:each) { FileUtils.mkdir_p(path) }
10
+
11
+ it "finds a chefignore file in a 'cookbooks' directory relative to the given path" do
12
+ FileUtils.touch(path.join('chefignore'))
13
+ subject.find_relative_to(path)
14
+ end
15
+
16
+ it "finds a chefignore file relative to the given path" do
17
+ FileUtils.mkdir_p(path.join('cookbooks'))
18
+ FileUtils.touch(path.join('cookbooks', 'chefignore'))
19
+ subject.find_relative_to(path)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -11,24 +11,48 @@ module Berkshelf
11
11
  context "given no location key (i.e. :git, :path, :site)" do
12
12
  let(:source) { subject.new(cookbook_name) }
13
13
 
14
- it "sets a nil value for location" do
14
+ it "sets a nil valie for location" do
15
15
  source.location.should be_nil
16
16
  end
17
17
  end
18
18
 
19
- context "given no value for constraint" do
19
+ context 'given no value for :locked_version' do
20
20
  let(:source) { subject.new(cookbook_name) }
21
21
 
22
- it "returns a wildcard match for any version" do
23
- source.version_constraint.to_s.should eql(">= 0.0.0")
22
+ it 'returns a wildcard match for any version' do
23
+ expect(source.version_constraint.to_s).to eq('>= 0.0.0')
24
24
  end
25
25
  end
26
26
 
27
- context "given a value for constraint" do
28
- let(:source) { subject.new(cookbook_name, constraint: "~> 1.0.84") }
27
+ context 'given a value for :locked_version' do
28
+ let(:source) { subject.new(cookbook_name, locked_version: '1.2.3') }
29
29
 
30
- it "returns a Solve::Constraint for the given version for version_constraint" do
31
- source.version_constraint.to_s.should eql("~> 1.0.84")
30
+ it 'returns the locked_version as the constraint' do
31
+ expect(source.version_constraint.to_s).to eq('= 1.2.3')
32
+ end
33
+ end
34
+
35
+ context 'given no value for :constraint' do
36
+ let(:source) { subject.new(cookbook_name) }
37
+
38
+ it 'returns a wildcard match for any version' do
39
+ expect(source.version_constraint.to_s).to eq('>= 0.0.0')
40
+ end
41
+ end
42
+
43
+ context 'given a value for :constraint' do
44
+ let(:source) { subject.new(cookbook_name, constraint: '~> 1.0.84') }
45
+
46
+ it 'returns a Solve::Constraint for the given version for version_constraint' do
47
+ expect(source.version_constraint.to_s).to eq('~> 1.0.84')
48
+ end
49
+ end
50
+
51
+ context 'given a value for :locked_version and :constraint' do
52
+ let(:source) { subject.new(cookbook_name, constraint: '~> 1.0.84', locked_version: '1.2.3') }
53
+
54
+ it 'uses the :locked_version' do
55
+ expect(source.version_constraint.to_s).to eq('= 1.2.3')
32
56
  end
33
57
  end
34
58
 
@@ -24,6 +24,20 @@ describe Berkshelf::GitLocation do
24
24
  subject { described_class.new("nginx", complacent_constraint, git: "git://github.com/opscode-cookbooks/nginx.git") }
25
25
 
26
26
  describe "#download" do
27
+ context "when a local revision is present" do
28
+ let(:cached) { double('cached') }
29
+
30
+ before do
31
+ Berkshelf::GitLocation.any_instance.stub(:cached?).and_return(true)
32
+ Berkshelf::GitLocation.any_instance.stub(:validate_cached).with(cached).and_return(cached)
33
+ Berkshelf::CachedCookbook.stub(:from_store_path).with(any_args()).and_return(cached)
34
+ end
35
+
36
+ it "returns the cached cookbook" do
37
+ expect(subject.download(tmp_path)).to eq(cached)
38
+ end
39
+ end
40
+
27
41
  it "returns an instance of Berkshelf::CachedCookbook" do
28
42
  subject.download(tmp_path).should be_a(Berkshelf::CachedCookbook)
29
43
  end
@@ -0,0 +1,29 @@
1
+ require 'spec_helper'
2
+
3
+ describe Berkshelf::Logger do
4
+ subject { described_class }
5
+
6
+ it "responds to :info" do
7
+ subject.should respond_to(:info)
8
+ end
9
+
10
+ it "responds to :warn" do
11
+ subject.should respond_to(:warn)
12
+ end
13
+
14
+ it "responds to :error" do
15
+ subject.should respond_to(:error)
16
+ end
17
+
18
+ it "responds to :fatal" do
19
+ subject.should respond_to(:fatal)
20
+ end
21
+
22
+ it "responds to :debug" do
23
+ subject.should respond_to(:debug)
24
+ end
25
+
26
+ it "responds to :deprecate" do
27
+ subject.should respond_to(:deprecate)
28
+ end
29
+ end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+ describe Berkshelf::Mixin::Logging do
4
+ subject do
5
+ Class.new do
6
+ include Berkshelf::Mixin::Logging
7
+ end.new
8
+ end
9
+
10
+ describe "#log" do
11
+ it "returns the Berkshelf::Logger" do
12
+ subject.log.should eql(Berkshelf::Logger)
13
+ end
14
+ end
15
+
16
+ describe "#log_exception" do
17
+ it "logs the exception and it's backtrace as fatal" do
18
+ ex = Exception.new('msg')
19
+ ex.stub(:backtrace).and_return(['one', 'two'])
20
+ subject.log.should_receive(:fatal).exactly(2).times
21
+
22
+ subject.log_exception(ex)
23
+ end
24
+ end
25
+ end
@@ -54,8 +54,8 @@ describe Berkshelf do
54
54
  end
55
55
 
56
56
  describe "::log" do
57
- it "returns an instance of Logger" do
58
- subject.log.should be_a(::Logger)
57
+ it "returns Berkshelf::Logger" do
58
+ subject.log.should eql(Berkshelf::Logger)
59
59
  end
60
60
  end
61
61
  end
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkshelf
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.1
5
- prerelease:
4
+ version: 1.4.0.rc1
5
+ prerelease: 6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jamie Winsor
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2013-03-20 00:00:00.000000000 Z
15
+ date: 2013-03-22 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: celluloid
@@ -115,17 +115,17 @@ dependencies:
115
115
  requirement: !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
- - - ! '>='
118
+ - - ~>
119
119
  - !ruby/object:Gem::Version
120
- version: 0.8.6
120
+ version: 0.9.0
121
121
  type: :runtime
122
122
  prerelease: false
123
123
  version_requirements: !ruby/object:Gem::Requirement
124
124
  none: false
125
125
  requirements:
126
- - - ! '>='
126
+ - - ~>
127
127
  - !ruby/object:Gem::Version
128
- version: 0.8.6
128
+ version: 0.9.0
129
129
  - !ruby/object:Gem::Dependency
130
130
  name: chozo
131
131
  requirement: !ruby/object:Gem::Requirement
@@ -513,7 +513,9 @@ files:
513
513
  - lib/berkshelf/locations/path_location.rb
514
514
  - lib/berkshelf/locations/site_location.rb
515
515
  - lib/berkshelf/lockfile.rb
516
+ - lib/berkshelf/logger.rb
516
517
  - lib/berkshelf/mixin.rb
518
+ - lib/berkshelf/mixin/logging.rb
517
519
  - lib/berkshelf/mixin/path_helpers.rb
518
520
  - lib/berkshelf/resolver.rb
519
521
  - lib/berkshelf/thor.rb
@@ -570,6 +572,7 @@ files:
570
572
  - spec/support/test_generators.rb
571
573
  - spec/unit/berkshelf/berksfile_spec.rb
572
574
  - spec/unit/berkshelf/cached_cookbook_spec.rb
575
+ - spec/unit/berkshelf/chef/cookbook/chefignore_spec.rb
573
576
  - spec/unit/berkshelf/community_rest_spec.rb
574
577
  - spec/unit/berkshelf/config_spec.rb
575
578
  - spec/unit/berkshelf/cookbook_generator_spec.rb
@@ -587,6 +590,8 @@ files:
587
590
  - spec/unit/berkshelf/locations/path_location_spec.rb
588
591
  - spec/unit/berkshelf/locations/site_location_spec.rb
589
592
  - spec/unit/berkshelf/lockfile_spec.rb
593
+ - spec/unit/berkshelf/logger_spec.rb
594
+ - spec/unit/berkshelf/mixin/logging_spec.rb
590
595
  - spec/unit/berkshelf/resolver_spec.rb
591
596
  - spec/unit/berkshelf/ui_spec.rb
592
597
  - spec/unit/berkshelf_spec.rb
@@ -607,12 +612,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
607
612
  required_rubygems_version: !ruby/object:Gem::Requirement
608
613
  none: false
609
614
  requirements:
610
- - - ! '>='
615
+ - - ! '>'
611
616
  - !ruby/object:Gem::Version
612
- version: '0'
613
- segments:
614
- - 0
615
- hash: 1990198724109386499
617
+ version: 1.3.1
616
618
  requirements: []
617
619
  rubyforge_project:
618
620
  rubygems_version: 1.8.24
@@ -694,6 +696,7 @@ test_files:
694
696
  - spec/support/test_generators.rb
695
697
  - spec/unit/berkshelf/berksfile_spec.rb
696
698
  - spec/unit/berkshelf/cached_cookbook_spec.rb
699
+ - spec/unit/berkshelf/chef/cookbook/chefignore_spec.rb
697
700
  - spec/unit/berkshelf/community_rest_spec.rb
698
701
  - spec/unit/berkshelf/config_spec.rb
699
702
  - spec/unit/berkshelf/cookbook_generator_spec.rb
@@ -711,6 +714,8 @@ test_files:
711
714
  - spec/unit/berkshelf/locations/path_location_spec.rb
712
715
  - spec/unit/berkshelf/locations/site_location_spec.rb
713
716
  - spec/unit/berkshelf/lockfile_spec.rb
717
+ - spec/unit/berkshelf/logger_spec.rb
718
+ - spec/unit/berkshelf/mixin/logging_spec.rb
714
719
  - spec/unit/berkshelf/resolver_spec.rb
715
720
  - spec/unit/berkshelf/ui_spec.rb
716
721
  - spec/unit/berkshelf_spec.rb