berkshelf-shims 0.1.1 → 0.1.2

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/README.md CHANGED
@@ -30,10 +30,9 @@ Put the following into spec/spec_helper.rb.
30
30
  ```ruby
31
31
  require 'berkshelf-shims'
32
32
 
33
- root_dir = File.join(File.dirname(__FILE__), '..')
34
33
  RSpec.configure do |config|
35
34
  config.before(:suite) do
36
- BerkshelfShims::create_shims(root_dir)
35
+ BerkshelfShims::create_shims(File.join(File.dirname(__FILE__), '..'))
37
36
  end
38
37
  end
39
38
  ```
@@ -37,6 +37,9 @@ module BerkshelfShims
37
37
 
38
38
  def create_links(cookbook_dir, berkshelf_path)
39
39
  FileUtils.mkdir_p(cookbook_dir)
40
+ Dir["#{cookbook_dir}/*"].each do |f|
41
+ File.delete(f)
42
+ end
40
43
  cookbooks.each do |name, options|
41
44
  if options[:path]
42
45
  target = options[:path]
@@ -46,7 +49,7 @@ module BerkshelfShims
46
49
  target = "#{berkshelf_path}/cookbooks/#{name}-#{options[:ref]}"
47
50
  end
48
51
  if target
49
- FileUtils.ln_s(target, "#{cookbook_dir}/#{name}", :force => true)
52
+ FileUtils.ln_s(target, "#{cookbook_dir}/#{name}")
50
53
  else
51
54
  raise UnknownCookbookReferenceError.new(name, options)
52
55
  end
@@ -1,5 +1,5 @@
1
1
  module WP
2
2
  module Cookbook
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
@@ -22,7 +22,7 @@ describe BerkshelfShims do
22
22
  let(:test_dir) {'tmp'}
23
23
  let(:lock_file) {"#{test_dir}/Berksfile.lock"}
24
24
  let(:cookbooks_dir) {"#{test_dir}/cookbooks"}
25
- let(:relative_target_dir) {'/Some/Directory'}
25
+ let(:relative_target_dir) {File.expand_path("#{test_dir}/relative")}
26
26
 
27
27
  before do
28
28
  FileUtils.rm_rf(test_dir)
@@ -35,22 +35,37 @@ describe BerkshelfShims do
35
35
  end
36
36
  context 'with a normal input' do
37
37
  let(:cookbook_entries) {[
38
- "cookbook 'relative', :path => '#{relative_target_dir}'",
39
- "cookbook 'versioned', :locked_version => '0.0.1'",
40
- "cookbook 'somegitrepo', :git => 'http://github.com/someuser/somegitrepo.git', :ref => '6ffb9cf5ddee65b8c208dec5c7b1ca9a4259b86a'"
41
- ]}
38
+ "cookbook 'relative', :path => '#{relative_target_dir}'",
39
+ "cookbook 'versioned', :locked_version => '0.0.1'",
40
+ "cookbook 'somegitrepo', :git => 'http://github.com/someuser/somegitrepo.git', :ref => '6ffb9cf5ddee65b8c208dec5c7b1ca9a4259b86a'"
41
+ ]}
42
42
 
43
43
  context 'with the default berkshelf path' do
44
44
  before do
45
+ Dir.mkdir(relative_target_dir)
45
46
  BerkshelfShims::create_shims('tmp')
46
47
  end
47
48
  it 'creates the links' do
48
49
  Dir.exists?(cookbooks_dir).should == true
49
50
  Dir["#{cookbooks_dir}/*"].sort.should == ["#{cookbooks_dir}/relative", "#{cookbooks_dir}/somegitrepo", "#{cookbooks_dir}/versioned"]
50
- File.readlink("#{cookbooks_dir}/relative").should == '/Some/Directory'
51
+ File.readlink("#{cookbooks_dir}/relative").should == relative_target_dir
51
52
  File.readlink("#{cookbooks_dir}/versioned").should == "#{BerkshelfShims.berkshelf_path}/cookbooks/versioned-0.0.1"
52
53
  File.readlink("#{cookbooks_dir}/somegitrepo").should == "#{BerkshelfShims.berkshelf_path}/cookbooks/somegitrepo-6ffb9cf5ddee65b8c208dec5c7b1ca9a4259b86a"
54
+ Dir["#{relative_target_dir}/*"].should == []
53
55
  end
56
+ context 'run a second time' do
57
+ before do
58
+ BerkshelfShims::create_shims('tmp')
59
+ end
60
+ it 'creates the links' do
61
+ Dir.exists?(cookbooks_dir).should == true
62
+ Dir["#{cookbooks_dir}/*"].sort.should == ["#{cookbooks_dir}/relative", "#{cookbooks_dir}/somegitrepo", "#{cookbooks_dir}/versioned"]
63
+ File.readlink("#{cookbooks_dir}/relative").should == relative_target_dir
64
+ File.readlink("#{cookbooks_dir}/versioned").should == "#{BerkshelfShims.berkshelf_path}/cookbooks/versioned-0.0.1"
65
+ File.readlink("#{cookbooks_dir}/somegitrepo").should == "#{BerkshelfShims.berkshelf_path}/cookbooks/somegitrepo-6ffb9cf5ddee65b8c208dec5c7b1ca9a4259b86a"
66
+ Dir["#{relative_target_dir}/*"].should == []
67
+ end
68
+ end
54
69
  end
55
70
 
56
71
  context 'with an explicit berkshelf path' do
@@ -60,7 +75,7 @@ describe BerkshelfShims do
60
75
  it 'creates the links' do
61
76
  Dir.exists?(cookbooks_dir).should == true
62
77
  Dir["#{cookbooks_dir}/*"].sort.should == ["#{cookbooks_dir}/relative", "#{cookbooks_dir}/somegitrepo", "#{cookbooks_dir}/versioned"]
63
- File.readlink("#{cookbooks_dir}/relative").should == '/Some/Directory'
78
+ File.readlink("#{cookbooks_dir}/relative").should == relative_target_dir
64
79
  File.readlink("#{cookbooks_dir}/versioned").should == "berkshelf/cookbooks/versioned-0.0.1"
65
80
  File.readlink("#{cookbooks_dir}/somegitrepo").should == "berkshelf/cookbooks/somegitrepo-6ffb9cf5ddee65b8c208dec5c7b1ca9a4259b86a"
66
81
  end
@@ -74,7 +89,7 @@ describe BerkshelfShims do
74
89
  it 'creates the links' do
75
90
  Dir.exists?(cookbooks_dir).should == true
76
91
  Dir["#{cookbooks_dir}/*"].sort.should == ["#{cookbooks_dir}/relative", "#{cookbooks_dir}/somegitrepo", "#{cookbooks_dir}/versioned"]
77
- File.readlink("#{cookbooks_dir}/relative").should == '/Some/Directory'
92
+ File.readlink("#{cookbooks_dir}/relative").should == relative_target_dir
78
93
  File.readlink("#{cookbooks_dir}/versioned").should == "/berkshelf_env/cookbooks/versioned-0.0.1"
79
94
  File.readlink("#{cookbooks_dir}/somegitrepo").should == "/berkshelf_env/cookbooks/somegitrepo-6ffb9cf5ddee65b8c208dec5c7b1ca9a4259b86a"
80
95
  end
@@ -83,8 +98,8 @@ describe BerkshelfShims do
83
98
 
84
99
  context 'with an unknown cookbook reference' do
85
100
  let(:cookbook_entries) {[
86
- "cookbook 'relative'"
87
- ]}
101
+ "cookbook 'relative'"
102
+ ]}
88
103
  it 'throws an error' do
89
104
  expect {BerkshelfShims::create_shims('tmp')}.to raise_error BerkshelfShims::UnknownCookbookReferenceError
90
105
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkshelf-shims
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-22 00:00:00.000000000 Z
12
+ date: 2013-07-16 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Shim functionality for Berkshelf
15
15
  email:
@@ -43,18 +43,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
- segments:
47
- - 0
48
- hash: 4057482081012609309
49
46
  required_rubygems_version: !ruby/object:Gem::Requirement
50
47
  none: false
51
48
  requirements:
52
49
  - - ! '>='
53
50
  - !ruby/object:Gem::Version
54
51
  version: '0'
55
- segments:
56
- - 0
57
- hash: 4057482081012609309
58
52
  requirements: []
59
53
  rubyforge_project:
60
54
  rubygems_version: 1.8.23