berkshelf 7.0.7 → 7.0.8

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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/berkshelf.gemspec +8 -9
  4. data/bin/berks +5 -0
  5. data/lib/berkshelf/cached_cookbook.rb +1 -1
  6. data/lib/berkshelf/chef_config_compat.rb +1 -0
  7. data/lib/berkshelf/chef_repo_universe.rb +2 -2
  8. data/lib/berkshelf/formatters/json.rb +3 -3
  9. data/lib/berkshelf/lockfile.rb +3 -3
  10. data/lib/berkshelf/uploader.rb +3 -3
  11. data/lib/berkshelf/version.rb +1 -1
  12. metadata +32 -186
  13. data/.github/lock.yml +0 -1
  14. data/.gitignore +0 -30
  15. data/.rubocop.yml +0 -12
  16. data/.travis.yml +0 -73
  17. data/CHANGELOG.legacy.md +0 -307
  18. data/CHANGELOG.md +0 -1589
  19. data/CONTRIBUTING.md +0 -68
  20. data/Gemfile.lock +0 -292
  21. data/PLUGINS.md +0 -25
  22. data/README.md +0 -72
  23. data/Thorfile +0 -61
  24. data/appveyor.yml +0 -31
  25. data/docs/berkshelf_for_newcomers.md +0 -64
  26. data/features/artifactory.feature +0 -70
  27. data/features/berksfile.feature +0 -46
  28. data/features/commands/apply.feature +0 -41
  29. data/features/commands/contingent.feature +0 -47
  30. data/features/commands/info.feature +0 -141
  31. data/features/commands/install.feature +0 -646
  32. data/features/commands/list.feature +0 -78
  33. data/features/commands/outdated.feature +0 -176
  34. data/features/commands/package.feature +0 -17
  35. data/features/commands/search.feature +0 -17
  36. data/features/commands/shelf/list.feature +0 -32
  37. data/features/commands/shelf/show.feature +0 -113
  38. data/features/commands/shelf/uninstall.feature +0 -96
  39. data/features/commands/show.feature +0 -83
  40. data/features/commands/update.feature +0 -142
  41. data/features/commands/upload.feature +0 -499
  42. data/features/commands/vendor.feature +0 -154
  43. data/features/commands/verify.feature +0 -29
  44. data/features/commands/viz.feature +0 -66
  45. data/features/community_site.feature +0 -37
  46. data/features/help.feature +0 -11
  47. data/features/json_formatter.feature +0 -158
  48. data/features/lifecycle.feature +0 -378
  49. data/features/lockfile.feature +0 -378
  50. data/features/step_definitions/berksfile_steps.rb +0 -54
  51. data/features/step_definitions/chef/config_steps.rb +0 -12
  52. data/features/step_definitions/chef_server_steps.rb +0 -60
  53. data/features/step_definitions/cli_steps.rb +0 -18
  54. data/features/step_definitions/config_steps.rb +0 -46
  55. data/features/step_definitions/environment_steps.rb +0 -11
  56. data/features/step_definitions/filesystem_steps.rb +0 -286
  57. data/features/step_definitions/gem_steps.rb +0 -13
  58. data/features/step_definitions/json_steps.rb +0 -29
  59. data/features/step_definitions/utility_steps.rb +0 -11
  60. data/features/support/aruba.rb +0 -12
  61. data/features/support/env.rb +0 -77
  62. data/spec/fixtures/cookbooks/example_cookbook/.gitignore +0 -2
  63. data/spec/fixtures/cookbooks/example_cookbook/.kitchen.yml +0 -26
@@ -1,13 +0,0 @@
1
- Given /^the gem "(.*)" is not installed$/ do |gem_name|
2
- allow(Gem::Specification).to receive(:find_by_name)
3
- .with(gem_name)
4
- .and_raise(Gem::LoadError)
5
- end
6
-
7
- Then /^the output should contain a warning to suggest supporting the option "(.*?)" by installing "(.*?)"$/ do |option, gem_name|
8
- step "the output should contain \"This cookbook was generated with --#{option}, however, #{gem_name} is not installed.\nTo make use of --#{option}: gem install #{gem_name}\""
9
- end
10
-
11
- Then /^the output should contain a warning to suggest supporting the default for "(.*?)" by installing "(.*?)"$/ do |option, gem_name|
12
- step "the output should contain \"By default, this cookbook was generated to support #{gem_name}, however, #{gem_name} is not installed.\nTo skip support for #{gem_name}, use --no-#{option}\"\nTo install #{gem_name}: gem install #{gem_name}"
13
- end
@@ -1,29 +0,0 @@
1
- class Hash
2
- def sort_by_key(&block)
3
- keys.sort(&block).reduce({}) do |seed, key|
4
- seed[key] = self[key]
5
- if seed[key].is_a?(Hash)
6
- seed[key] = seed[key].sort_by_key(&block)
7
- elsif seed[key].is_a?(Array)
8
- seed[key] = seed[key].map do |i|
9
- i.respond_to?(:sort_by_key) ? i.sort_by_key(&block) : i
10
- end
11
- end
12
- seed
13
- end
14
- end
15
- end
16
-
17
- # Pending Ridley allowing newer Faraday and Celluloid.
18
- def clean_json_output(output)
19
- output.gsub(/^.+warning: constant ::Fixnum is deprecated$/, "") \
20
- .gsub(/^.*forwarding to private method Celluloid::PoolManager#url_prefix$/, "")
21
- end
22
-
23
- Then /^the output should contain JSON:$/ do |data|
24
- parsed = ERB.new(data).result
25
- target = JSON.pretty_generate(JSON.parse(parsed).sort_by_key)
26
- actual = JSON.pretty_generate(JSON.parse(all_commands.map { |c| clean_json_output(c.output) }.join("\n")).sort_by_key)
27
-
28
- expect(actual).to eq(target)
29
- end
@@ -1,11 +0,0 @@
1
- Given /^skip\s+"([^\"]+)"$/ do |msg|
2
- skip
3
- end
4
-
5
- Then /the output from \`(.+)\` should be the same as \`(.+)\`/ do |actual, expected|
6
- run(actual)
7
- actual_output = last_command_started.stdout
8
- run(expected)
9
- expected_output = last_command_started.stdout
10
- expect(actual_output).to eql(expected_output)
11
- end
@@ -1,12 +0,0 @@
1
- module Aruba
2
- # Force Aruba to behave like the SpawnProcess Aruba class.
3
- class InProcess
4
- def stdin
5
- @stdin
6
- end
7
-
8
- def output
9
- stdout + stderr
10
- end
11
- end
12
- end
@@ -1,77 +0,0 @@
1
- def windows?
2
- !!(RUBY_PLATFORM =~ /mswin|mingw|windows/)
3
- end
4
-
5
- require "aruba/cucumber"
6
- require "aruba/in_process"
7
- require "aruba/spawn_process"
8
- require "cucumber/rspec/doubles"
9
-
10
- Dir["spec/support/**/*.rb"].each { |f| require File.expand_path(f) }
11
-
12
- World(Berkshelf::RSpec::PathHelpers)
13
-
14
- # these tests used to start a chef-zero server on one port, and a berks-api server on another port
15
- # they now start a chef-zero server that supports the universe endpoint on one port.
16
- #
17
- # if there becomes a need to integration test talking to a supermarket/universe endpoint and then
18
- # talking to a separate chef-server, then these features could be split back up again, but the
19
- # Berkshelf::RSpec::ChefServer helper class would need to support managing multiple chef-zero servers.
20
- CHEF_SERVER_PORT = 26310
21
- BERKS_API_PORT = 26310
22
-
23
- at_exit do
24
- Berkshelf::RSpec::ChefServer.stop
25
- end
26
-
27
- Before do
28
-
29
- # Legacy ENV variables until we can move over to all InProcess
30
- Berkshelf.instance_variable_set(:@berkshelf_path, nil)
31
- ENV["BERKSHELF_PATH"] = berkshelf_path.to_s
32
- ENV["BERKSHELF_CONFIG"] = Berkshelf.config.path.to_s
33
- ENV["BERKSHELF_CHEF_CONFIG"] = chef_config_path.to_s
34
-
35
- aruba.config.command_launcher = :in_process
36
- aruba.config.main_class = Berkshelf::Cli::Runner
37
- @dirs = ["spec/tmp/aruba"] # set aruba's temporary directory
38
-
39
- clean_tmp_path
40
- Berkshelf.initialize_filesystem
41
- Berkshelf::CookbookStore.instance.initialize_filesystem
42
- reload_configs
43
- Berkshelf::CachedCookbook.instance_variable_set(:@loaded_cookbooks, nil)
44
-
45
- # This appears to be dead code
46
- # endpoints = [
47
- # {
48
- # type: "chef_server",
49
- # options: {
50
- # url: "http://localhost:#{CHEF_SERVER_PORT}",
51
- # client_name: "reset",
52
- # client_key: File.expand_path("spec/config/berkshelf.pem"),
53
- # },
54
- # },
55
- # ]
56
-
57
- Berkshelf::RSpec::ChefServer.start(port: CHEF_SERVER_PORT)
58
-
59
- aruba.config.io_wait_timeout = Cucumber::JRUBY ? 7 : 5
60
- @aruba_timeout_seconds = Cucumber::JRUBY ? 35 : 15
61
- end
62
-
63
- Before("@spawn") do
64
- aruba.config.command_launcher = :spawn
65
-
66
- Berkshelf.instance_variable_set(:@berkshelf_path, nil)
67
- set_environment_variable("BERKSHELF_PATH", berkshelf_path.to_s)
68
- set_environment_variable("BERKSHELF_CONFIG", Berkshelf.config.path.to_s)
69
- set_environment_variable("BERKSHELF_CHEF_CONFIG", chef_config_path.to_s)
70
- end
71
-
72
- Before("@slow_process") do
73
- aruba.config.io_wait_timeout = Cucumber::JRUBY ? 70 : 30
74
- @aruba_timeout_seconds = Cucumber::JRUBY ? 140 : 60
75
- end
76
-
77
- require "berkshelf/cli"
@@ -1,2 +0,0 @@
1
- .kitchen/
2
- .kitchen.local.yml
@@ -1,26 +0,0 @@
1
- ---
2
- driver_plugin: vagrant
3
-
4
- platforms:
5
- - name: ubuntu-12.04
6
- driver_config:
7
- box: canonical-ubuntu-12.04
8
- box_url: http://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box
9
- require_chef_omnibus: true
10
- - name: ubuntu-10.04
11
- driver_config:
12
- box: opscode-ubuntu-10.04
13
- box_url: http://opscode-vm.s3.amazonaws.com/vagrant/opscode_ubuntu-10.04_chef-11.2.0.box
14
- - name: centos-6.3
15
- driver_config:
16
- box: opscode-centos-6.3
17
- box_url: http://opscode-vm.s3.amazonaws.com/vagrant/opscode_centos-6.3_chef-11.2.0.box
18
- - name: centos-5.8
19
- driver_config:
20
- box: opscode-centos-5.8
21
- box_url: http://opscode-vm.s3.amazonaws.com/vagrant/opscode_centos-5.8_chef-11.2.0.box
22
-
23
- suites:
24
- - name: default
25
- run_list: []
26
- attributes: {}