chef-sugar-ng 4.2.2 → 5.0.1
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.
- checksums.yaml +4 -4
 - data/lib/chef/sugar/init.rb +1 -2
 - data/lib/chef/sugar/version.rb +1 -1
 - data/lib/chef/sugar/virtualization.rb +1 -1
 - metadata +8 -68
 - data/.github/lock.yml +0 -3
 - data/.github/reaction.yml +0 -1
 - data/.gitignore +0 -26
 - data/.kitchen.yml +0 -16
 - data/.travis.yml +0 -17
 - data/CHANGELOG.md +0 -261
 - data/CONTRIBUTING.md +0 -20
 - data/Gemfile +0 -2
 - data/README.md +0 -540
 - data/Rakefile +0 -11
 - data/chef-sugar-ng.gemspec +0 -33
 - data/libraries/chef-sugar.rb +0 -1
 - data/metadata.rb +0 -24
 - data/recipes/default.rb +0 -20
 - data/spec/spec_helper.rb +0 -25
 - data/spec/support/shared_examples.rb +0 -20
 - data/spec/unit/chef/sugar/architecture_spec.rb +0 -129
 - data/spec/unit/chef/sugar/cloud_spec.rb +0 -149
 - data/spec/unit/chef/sugar/constraints_spec.rb +0 -45
 - data/spec/unit/chef/sugar/core_extensions/array_spec.rb +0 -10
 - data/spec/unit/chef/sugar/core_extensions/object_spec.rb +0 -62
 - data/spec/unit/chef/sugar/core_extensions/string_spec.rb +0 -48
 - data/spec/unit/chef/sugar/data_bag_spec.rb +0 -118
 - data/spec/unit/chef/sugar/docker_spec.rb +0 -39
 - data/spec/unit/chef/sugar/init_spec.rb +0 -74
 - data/spec/unit/chef/sugar/ip_spec.rb +0 -53
 - data/spec/unit/chef/sugar/kernel_spec.rb +0 -16
 - data/spec/unit/chef/sugar/kitchen_spec.rb +0 -18
 - data/spec/unit/chef/sugar/node_spec.rb +0 -172
 - data/spec/unit/chef/sugar/platform_family_spec.rb +0 -166
 - data/spec/unit/chef/sugar/platform_spec.rb +0 -342
 - data/spec/unit/chef/sugar/ruby_spec.rb +0 -39
 - data/spec/unit/chef/sugar/run_context_spec.rb +0 -19
 - data/spec/unit/chef/sugar/shell_spec.rb +0 -104
 - data/spec/unit/chef/sugar/vagrant_spec.rb +0 -37
 - data/spec/unit/chef/sugar/virtualization_spec.rb +0 -135
 - data/spec/unit/recipes/default_spec.rb +0 -9
 
| 
         @@ -1,62 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'chef/sugar/core_extensions'
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            describe Object do
         
     | 
| 
       5 
     | 
    
         
            -
              describe '#blank?' do
         
     | 
| 
       6 
     | 
    
         
            -
                it 'includes the method' do
         
     | 
| 
       7 
     | 
    
         
            -
                  expect(described_class).to be_method_defined(:blank?)
         
     | 
| 
       8 
     | 
    
         
            -
                end
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
                it 'returns true for nil' do
         
     | 
| 
       11 
     | 
    
         
            -
                  expect(nil).to be_blank
         
     | 
| 
       12 
     | 
    
         
            -
                end
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                it 'returns true for false' do
         
     | 
| 
       15 
     | 
    
         
            -
                  expect(false).to be_blank
         
     | 
| 
       16 
     | 
    
         
            -
                end
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
                it 'returns true for the empty string' do
         
     | 
| 
       19 
     | 
    
         
            -
                  expect('').to be_blank
         
     | 
| 
       20 
     | 
    
         
            -
                end
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
                it 'returns true for the empty array' do
         
     | 
| 
       23 
     | 
    
         
            -
                  expect([]).to be_blank
         
     | 
| 
       24 
     | 
    
         
            -
                end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                it 'returns true for the empty hash' do
         
     | 
| 
       27 
     | 
    
         
            -
                  expect({}).to be_blank
         
     | 
| 
       28 
     | 
    
         
            -
                end
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
                it 'returns false for a non-empty string' do
         
     | 
| 
       31 
     | 
    
         
            -
                  expect('  ').to_not be_blank
         
     | 
| 
       32 
     | 
    
         
            -
                end
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
                it 'returns false for a non-empty string with unicode' do
         
     | 
| 
       35 
     | 
    
         
            -
                  expect("\u00a0").to_not be_blank
         
     | 
| 
       36 
     | 
    
         
            -
                end
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
                it 'returns false for a non-empty string with special characters' do
         
     | 
| 
       39 
     | 
    
         
            -
                  expect("\n\t").to_not be_blank
         
     | 
| 
       40 
     | 
    
         
            -
                end
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
                it 'returns false for any object' do
         
     | 
| 
       43 
     | 
    
         
            -
                  expect(Object.new).to_not be_blank
         
     | 
| 
       44 
     | 
    
         
            -
                end
         
     | 
| 
       45 
     | 
    
         
            -
             
     | 
| 
       46 
     | 
    
         
            -
                it 'returns false for true' do
         
     | 
| 
       47 
     | 
    
         
            -
                  expect(true).to_not be_blank
         
     | 
| 
       48 
     | 
    
         
            -
                end
         
     | 
| 
       49 
     | 
    
         
            -
             
     | 
| 
       50 
     | 
    
         
            -
                it 'returns false for a fixnum' do
         
     | 
| 
       51 
     | 
    
         
            -
                  expect(1).to_not be_blank
         
     | 
| 
       52 
     | 
    
         
            -
                end
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
                it 'returns false for an array with items' do
         
     | 
| 
       55 
     | 
    
         
            -
                  expect(['foo']).to_not be_blank
         
     | 
| 
       56 
     | 
    
         
            -
                end
         
     | 
| 
       57 
     | 
    
         
            -
             
     | 
| 
       58 
     | 
    
         
            -
                it 'returns false for an array with items' do
         
     | 
| 
       59 
     | 
    
         
            -
                  expect({'foo' => 'bar'}).to_not be_blank
         
     | 
| 
       60 
     | 
    
         
            -
                end
         
     | 
| 
       61 
     | 
    
         
            -
              end
         
     | 
| 
       62 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,48 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
            require 'chef/sugar/core_extensions'
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
       4 
     | 
    
         
            -
            describe String do
         
     | 
| 
       5 
     | 
    
         
            -
              describe '#satisfies?' do
         
     | 
| 
       6 
     | 
    
         
            -
                it 'includes the method' do
         
     | 
| 
       7 
     | 
    
         
            -
                  expect(described_class).to be_method_defined(:satisfies?)
         
     | 
| 
       8 
     | 
    
         
            -
                end
         
     | 
| 
       9 
     | 
    
         
            -
              end
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
              describe '#satisfied_by?' do
         
     | 
| 
       12 
     | 
    
         
            -
                it 'includes the method' do
         
     | 
| 
       13 
     | 
    
         
            -
                  expect(described_class).to be_method_defined(:satisfied_by?)
         
     | 
| 
       14 
     | 
    
         
            -
                end
         
     | 
| 
       15 
     | 
    
         
            -
              end
         
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
              describe '#flush' do
         
     | 
| 
       18 
     | 
    
         
            -
                context 'when given a single-line string' do
         
     | 
| 
       19 
     | 
    
         
            -
                  it 'strips trailing whitespace' do
         
     | 
| 
       20 
     | 
    
         
            -
                    string = <<-EOH
         
     | 
| 
       21 
     | 
    
         
            -
                      This is a string
         
     | 
| 
       22 
     | 
    
         
            -
                    EOH
         
     | 
| 
       23 
     | 
    
         
            -
                    expect(string.flush).to eq('This is a string')
         
     | 
| 
       24 
     | 
    
         
            -
                  end
         
     | 
| 
       25 
     | 
    
         
            -
                end
         
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
                context 'when given a multi-line string' do
         
     | 
| 
       28 
     | 
    
         
            -
                  it 'removes the leading number of whitespaces' do
         
     | 
| 
       29 
     | 
    
         
            -
                    string = <<-EOH
         
     | 
| 
       30 
     | 
    
         
            -
                      def method
         
     | 
| 
       31 
     | 
    
         
            -
                        "This is a string!"
         
     | 
| 
       32 
     | 
    
         
            -
                      end
         
     | 
| 
       33 
     | 
    
         
            -
                    EOH
         
     | 
| 
       34 
     | 
    
         
            -
                    expect(string.flush).to eq(%Q(def method\n  "This is a string!"\nend))
         
     | 
| 
       35 
     | 
    
         
            -
                  end
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
                  it 'leaves a newline when given' do
         
     | 
| 
       38 
     | 
    
         
            -
                    string = <<-EOH
         
     | 
| 
       39 
     | 
    
         
            -
                      def method
         
     | 
| 
       40 
     | 
    
         
            -
                        "This is a string!"
         
     | 
| 
       41 
     | 
    
         
            -
                      end
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
                    EOH
         
     | 
| 
       44 
     | 
    
         
            -
                    expect(string.flush).to eq(%Q(def method\n  "This is a string!"\nend\n))
         
     | 
| 
       45 
     | 
    
         
            -
                  end
         
     | 
| 
       46 
     | 
    
         
            -
                end
         
     | 
| 
       47 
     | 
    
         
            -
              end
         
     | 
| 
       48 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,118 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            describe Chef::Sugar::DataBag do
         
     | 
| 
       4 
     | 
    
         
            -
              describe '#encrypted_data_bag_item' do
         
     | 
| 
       5 
     | 
    
         
            -
                before { allow(Chef::EncryptedDataBagItem).to receive(:load) }
         
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
                it 'loads the encrypted data bag item' do
         
     | 
| 
       8 
     | 
    
         
            -
                  expect(Chef::EncryptedDataBagItem).to receive(:load)
         
     | 
| 
       9 
     | 
    
         
            -
                    .with('accounts', 'github', 'secret_key')
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                  described_class.encrypted_data_bag_item('accounts', 'github', 'secret_key')
         
     | 
| 
       12 
     | 
    
         
            -
                end
         
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
                context 'when Chef::Config is set' do
         
     | 
| 
       15 
     | 
    
         
            -
                  it 'loads the secret key from the Chef::Config' do
         
     | 
| 
       16 
     | 
    
         
            -
                    allow(Chef::Config).to receive(:[]).with(:encrypted_data_bag_secret).and_return('/data/path')
         
     | 
| 
       17 
     | 
    
         
            -
                    allow(File).to receive(:read).with('/data/path').and_return('B@c0n')
         
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
                    expect(Chef::EncryptedDataBagItem).to receive(:load)
         
     | 
| 
       20 
     | 
    
         
            -
                      .with('accounts', 'github', 'B@c0n')
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
                    described_class.encrypted_data_bag_item('accounts', 'github')
         
     | 
| 
       23 
     | 
    
         
            -
                  end
         
     | 
| 
       24 
     | 
    
         
            -
                end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
                context 'when Chef::Config is not set and no value is given' do
         
     | 
| 
       27 
     | 
    
         
            -
                  it 'raises an exception' do
         
     | 
| 
       28 
     | 
    
         
            -
                    expect {
         
     | 
| 
       29 
     | 
    
         
            -
                      described_class.encrypted_data_bag_item('accounts', 'github')
         
     | 
| 
       30 
     | 
    
         
            -
                    }.to raise_error(Chef::Sugar::DataBag::EncryptedDataBagSecretNotGiven)
         
     | 
| 
       31 
     | 
    
         
            -
                  end
         
     | 
| 
       32 
     | 
    
         
            -
                end
         
     | 
| 
       33 
     | 
    
         
            -
              end
         
     | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
       35 
     | 
    
         
            -
              describe '#encrypted_data_bag_item_for_environment' do
         
     | 
| 
       36 
     | 
    
         
            -
                let(:node) { double(:node, chef_environment: 'production') }
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
                context 'when the environment exists' do
         
     | 
| 
       39 
     | 
    
         
            -
                  it 'loads the data from the environment' do
         
     | 
| 
       40 
     | 
    
         
            -
                    allow(Chef::EncryptedDataBagItem).to receive(:load).and_return(
         
     | 
| 
       41 
     | 
    
         
            -
                      'production' => {
         
     | 
| 
       42 
     | 
    
         
            -
                        'username' => 'sethvargo',
         
     | 
| 
       43 
     | 
    
         
            -
                        'password' => 'bacon',
         
     | 
| 
       44 
     | 
    
         
            -
                      }
         
     | 
| 
       45 
     | 
    
         
            -
                    )
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
                    expect(described_class.encrypted_data_bag_item_for_environment(node, 'accounts', 'github', 'secret_key')).to eq(
         
     | 
| 
       48 
     | 
    
         
            -
                      'password' => 'bacon',
         
     | 
| 
       49 
     | 
    
         
            -
                      'username' => 'sethvargo',
         
     | 
| 
       50 
     | 
    
         
            -
                    )
         
     | 
| 
       51 
     | 
    
         
            -
                  end
         
     | 
| 
       52 
     | 
    
         
            -
                end
         
     | 
| 
       53 
     | 
    
         
            -
             
     | 
| 
       54 
     | 
    
         
            -
                context 'when the environment does not exist' do
         
     | 
| 
       55 
     | 
    
         
            -
                  it 'loads the data from the default bucket' do
         
     | 
| 
       56 
     | 
    
         
            -
                    allow(Chef::EncryptedDataBagItem).to receive(:load).and_return(
         
     | 
| 
       57 
     | 
    
         
            -
                      'staging' => {
         
     | 
| 
       58 
     | 
    
         
            -
                        'username' => 'sethvargo',
         
     | 
| 
       59 
     | 
    
         
            -
                        'password' => 'bacon',
         
     | 
| 
       60 
     | 
    
         
            -
                      },
         
     | 
| 
       61 
     | 
    
         
            -
                      'default' => {
         
     | 
| 
       62 
     | 
    
         
            -
                        'username' => 'schisamo',
         
     | 
| 
       63 
     | 
    
         
            -
                        'password' => 'ham',
         
     | 
| 
       64 
     | 
    
         
            -
                      }
         
     | 
| 
       65 
     | 
    
         
            -
                    )
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
       67 
     | 
    
         
            -
                    expect(described_class.encrypted_data_bag_item_for_environment(node, 'accounts', 'github', 'secret_key')).to eq(
         
     | 
| 
       68 
     | 
    
         
            -
                      'password' => 'ham',
         
     | 
| 
       69 
     | 
    
         
            -
                      'username' => 'schisamo',
         
     | 
| 
       70 
     | 
    
         
            -
                    )
         
     | 
| 
       71 
     | 
    
         
            -
                  end
         
     | 
| 
       72 
     | 
    
         
            -
                end
         
     | 
| 
       73 
     | 
    
         
            -
              end
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
              describe '#data_bag_item_for_environment' do
         
     | 
| 
       76 
     | 
    
         
            -
                let(:node) { double(:node, chef_environment: 'production') }
         
     | 
| 
       77 
     | 
    
         
            -
             
     | 
| 
       78 
     | 
    
         
            -
                context 'when the environment exists' do
         
     | 
| 
       79 
     | 
    
         
            -
                  it 'loads the data from the environment' do
         
     | 
| 
       80 
     | 
    
         
            -
                    allow(Chef::DataBagItem).to receive(:load).and_return(
         
     | 
| 
       81 
     | 
    
         
            -
                      'production' => {
         
     | 
| 
       82 
     | 
    
         
            -
                        'username' => 'sethvargo',
         
     | 
| 
       83 
     | 
    
         
            -
                        'comment' => 'loves bacon',
         
     | 
| 
       84 
     | 
    
         
            -
                      },
         
     | 
| 
       85 
     | 
    
         
            -
                      'default' => {
         
     | 
| 
       86 
     | 
    
         
            -
                        'username' => 'schisamo',
         
     | 
| 
       87 
     | 
    
         
            -
                        'comment' => 'more of a ham guy',
         
     | 
| 
       88 
     | 
    
         
            -
                      }
         
     | 
| 
       89 
     | 
    
         
            -
                    )
         
     | 
| 
       90 
     | 
    
         
            -
             
     | 
| 
       91 
     | 
    
         
            -
                    expect(described_class.data_bag_item_for_environment(node, 'accounts', 'github')).to eq(
         
     | 
| 
       92 
     | 
    
         
            -
                      'comment' => 'loves bacon',
         
     | 
| 
       93 
     | 
    
         
            -
                      'username' => 'sethvargo',
         
     | 
| 
       94 
     | 
    
         
            -
                    )
         
     | 
| 
       95 
     | 
    
         
            -
                  end
         
     | 
| 
       96 
     | 
    
         
            -
                end
         
     | 
| 
       97 
     | 
    
         
            -
             
     | 
| 
       98 
     | 
    
         
            -
                context 'when the environment does not exist' do
         
     | 
| 
       99 
     | 
    
         
            -
                  it 'loads the data from the default bucket' do
         
     | 
| 
       100 
     | 
    
         
            -
                    allow(Chef::DataBagItem).to receive(:load).and_return(
         
     | 
| 
       101 
     | 
    
         
            -
                      'staging' => {
         
     | 
| 
       102 
     | 
    
         
            -
                        'username' => 'sethvargo',
         
     | 
| 
       103 
     | 
    
         
            -
                        'comment' => 'loves bacon',
         
     | 
| 
       104 
     | 
    
         
            -
                      },
         
     | 
| 
       105 
     | 
    
         
            -
                      'default' => {
         
     | 
| 
       106 
     | 
    
         
            -
                        'username' => 'schisamo',
         
     | 
| 
       107 
     | 
    
         
            -
                        'comment' => 'more of a ham guy',
         
     | 
| 
       108 
     | 
    
         
            -
                      }
         
     | 
| 
       109 
     | 
    
         
            -
                    )
         
     | 
| 
       110 
     | 
    
         
            -
             
     | 
| 
       111 
     | 
    
         
            -
                    expect(described_class.data_bag_item_for_environment(node, 'accounts', 'github')).to eq(
         
     | 
| 
       112 
     | 
    
         
            -
                      'comment' => 'more of a ham guy',
         
     | 
| 
       113 
     | 
    
         
            -
                      'username' => 'schisamo',
         
     | 
| 
       114 
     | 
    
         
            -
                    )
         
     | 
| 
       115 
     | 
    
         
            -
                  end
         
     | 
| 
       116 
     | 
    
         
            -
                end
         
     | 
| 
       117 
     | 
    
         
            -
              end
         
     | 
| 
       118 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,39 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            describe Chef::Sugar::Docker do
         
     | 
| 
       4 
     | 
    
         
            -
              it_behaves_like 'a chef sugar'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              before(:each) do
         
     | 
| 
       7 
     | 
    
         
            -
                allow(File).to receive(:exist?)
         
     | 
| 
       8 
     | 
    
         
            -
                  .with("/.dockerenv")
         
     | 
| 
       9 
     | 
    
         
            -
                  .and_return(false)
         
     | 
| 
       10 
     | 
    
         
            -
                allow(File).to receive(:exist?)
         
     | 
| 
       11 
     | 
    
         
            -
                  .with("/.dockerinit")
         
     | 
| 
       12 
     | 
    
         
            -
                  .and_return(false)
         
     | 
| 
       13 
     | 
    
         
            -
              end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              describe '#docker?' do
         
     | 
| 
       16 
     | 
    
         
            -
                it 'is true when the file /.dockerenv is present' do
         
     | 
| 
       17 
     | 
    
         
            -
                  allow(File).to receive(:exist?)
         
     | 
| 
       18 
     | 
    
         
            -
                    .with("/.dockerenv")
         
     | 
| 
       19 
     | 
    
         
            -
                    .and_return(true)
         
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
                  node = { 'docker' => nil }
         
     | 
| 
       22 
     | 
    
         
            -
                  expect(described_class.docker?(node)).to be true
         
     | 
| 
       23 
     | 
    
         
            -
                end
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                it 'is true when the file /.dockerinit is present' do
         
     | 
| 
       26 
     | 
    
         
            -
                  allow(File).to receive(:exist?)
         
     | 
| 
       27 
     | 
    
         
            -
                    .with("/.dockerinit")
         
     | 
| 
       28 
     | 
    
         
            -
                    .and_return(true)
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
                  node = { 'docker' => nil }
         
     | 
| 
       31 
     | 
    
         
            -
                  expect(described_class.docker?(node)).to be true
         
     | 
| 
       32 
     | 
    
         
            -
                end
         
     | 
| 
       33 
     | 
    
         
            -
             
     | 
| 
       34 
     | 
    
         
            -
                it 'is false when the node is not on cloud' do
         
     | 
| 
       35 
     | 
    
         
            -
                  node = { 'docker' => nil }
         
     | 
| 
       36 
     | 
    
         
            -
                  expect(described_class.docker?(node)).to be false
         
     | 
| 
       37 
     | 
    
         
            -
                end
         
     | 
| 
       38 
     | 
    
         
            -
              end
         
     | 
| 
       39 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,74 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            describe Chef::Sugar::Init do
         
     | 
| 
       4 
     | 
    
         
            -
              it_behaves_like 'a chef sugar'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              before(:each) do
         
     | 
| 
       7 
     | 
    
         
            -
                allow(IO).to receive(:read)
         
     | 
| 
       8 
     | 
    
         
            -
                  .with("/proc/1/comm")
         
     | 
| 
       9 
     | 
    
         
            -
                  .and_return("init")
         
     | 
| 
       10 
     | 
    
         
            -
                allow(File).to receive(:executable?)
         
     | 
| 
       11 
     | 
    
         
            -
                  .with("/sbin/initctl")
         
     | 
| 
       12 
     | 
    
         
            -
                  .and_return(false)
         
     | 
| 
       13 
     | 
    
         
            -
                allow(File).to receive(:executable?)
         
     | 
| 
       14 
     | 
    
         
            -
                  .with("/sbin/runit-init")
         
     | 
| 
       15 
     | 
    
         
            -
                  .and_return(false)
         
     | 
| 
       16 
     | 
    
         
            -
              end
         
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
              describe '#systemd?' do
         
     | 
| 
       19 
     | 
    
         
            -
                it 'is true when /proc/1/comm is systemd' do
         
     | 
| 
       20 
     | 
    
         
            -
                  allow(IO).to receive(:read)
         
     | 
| 
       21 
     | 
    
         
            -
                    .with("/proc/1/comm")
         
     | 
| 
       22 
     | 
    
         
            -
                    .and_return("systemd")
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       25 
     | 
    
         
            -
                  expect(described_class.systemd?(node)).to be true
         
     | 
| 
       26 
     | 
    
         
            -
                end
         
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
                it 'is false when /proc/1/comm is not systemd' do
         
     | 
| 
       29 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       30 
     | 
    
         
            -
                  expect(described_class.systemd?(node)).to be false
         
     | 
| 
       31 
     | 
    
         
            -
                end
         
     | 
| 
       32 
     | 
    
         
            -
             
     | 
| 
       33 
     | 
    
         
            -
                it 'is false when /proc/1/comm does not exist' do
         
     | 
| 
       34 
     | 
    
         
            -
                  allow(File).to receive(:exist?)
         
     | 
| 
       35 
     | 
    
         
            -
                    .with("/proc/1/comm")
         
     | 
| 
       36 
     | 
    
         
            -
                    .and_return(false)
         
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
       38 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       39 
     | 
    
         
            -
                  expect(described_class.systemd?(node)).to be false
         
     | 
| 
       40 
     | 
    
         
            -
                end
         
     | 
| 
       41 
     | 
    
         
            -
              end
         
     | 
| 
       42 
     | 
    
         
            -
             
     | 
| 
       43 
     | 
    
         
            -
              describe '#upstart?' do
         
     | 
| 
       44 
     | 
    
         
            -
                it 'is true when /sbin/initctl is executable' do
         
     | 
| 
       45 
     | 
    
         
            -
                  allow(File).to receive(:executable?)
         
     | 
| 
       46 
     | 
    
         
            -
                    .with("/sbin/initctl")
         
     | 
| 
       47 
     | 
    
         
            -
                    .and_return(true)
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       50 
     | 
    
         
            -
                  expect(described_class.upstart?(node)).to be true
         
     | 
| 
       51 
     | 
    
         
            -
                end
         
     | 
| 
       52 
     | 
    
         
            -
             
     | 
| 
       53 
     | 
    
         
            -
                it 'is false when /sbin/initctl is not executable' do
         
     | 
| 
       54 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       55 
     | 
    
         
            -
                  expect(described_class.upstart?(node)).to be false
         
     | 
| 
       56 
     | 
    
         
            -
                end
         
     | 
| 
       57 
     | 
    
         
            -
              end
         
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
       59 
     | 
    
         
            -
              describe '#runit?' do
         
     | 
| 
       60 
     | 
    
         
            -
                it 'is true when /sbin/runit-init is executable' do
         
     | 
| 
       61 
     | 
    
         
            -
                  allow(File).to receive(:executable?)
         
     | 
| 
       62 
     | 
    
         
            -
                    .with("/sbin/runit-init")
         
     | 
| 
       63 
     | 
    
         
            -
                    .and_return(true)
         
     | 
| 
       64 
     | 
    
         
            -
             
     | 
| 
       65 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       66 
     | 
    
         
            -
                  expect(described_class.runit?(node)).to be true
         
     | 
| 
       67 
     | 
    
         
            -
                end
         
     | 
| 
       68 
     | 
    
         
            -
             
     | 
| 
       69 
     | 
    
         
            -
                it 'is false when /sbin/runit-init is not executable' do
         
     | 
| 
       70 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       71 
     | 
    
         
            -
                  expect(described_class.runit?(node)).to be false
         
     | 
| 
       72 
     | 
    
         
            -
                end
         
     | 
| 
       73 
     | 
    
         
            -
              end
         
     | 
| 
       74 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,53 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            describe Chef::Sugar::IP do
         
     | 
| 
       4 
     | 
    
         
            -
              it_behaves_like 'a chef sugar'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              let(:node)  { { 'ipaddress' => '1.2.3.4' } }
         
     | 
| 
       7 
     | 
    
         
            -
              let(:other) { { 'ipaddress' => '5.6.7.8' } }
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
              context 'when not on a cloud' do
         
     | 
| 
       10 
     | 
    
         
            -
                it 'returns the default IP address' do
         
     | 
| 
       11 
     | 
    
         
            -
                  expect(described_class.best_ip_for(node, other)).to eq(other['ipaddress'])
         
     | 
| 
       12 
     | 
    
         
            -
                end
         
     | 
| 
       13 
     | 
    
         
            -
              end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
              context 'when the target is on the cloud' do
         
     | 
| 
       16 
     | 
    
         
            -
                before do
         
     | 
| 
       17 
     | 
    
         
            -
                  other['cloud'] = {}
         
     | 
| 
       18 
     | 
    
         
            -
                  other['cloud']['provider']    = 'ec2'
         
     | 
| 
       19 
     | 
    
         
            -
                  other['cloud']['local_ipv4']  = '9.10.11.12'
         
     | 
| 
       20 
     | 
    
         
            -
                  other['cloud']['public_ipv4'] = '13.14.15.16'
         
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
                  node['cloud'] = nil
         
     | 
| 
       23 
     | 
    
         
            -
                end
         
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
                context 'when the current node is not on the cloud' do
         
     | 
| 
       26 
     | 
    
         
            -
                  it 'uses the public ipv4' do
         
     | 
| 
       27 
     | 
    
         
            -
                    expect(described_class.best_ip_for(node, other)).to eq('13.14.15.16')
         
     | 
| 
       28 
     | 
    
         
            -
                  end
         
     | 
| 
       29 
     | 
    
         
            -
                end
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
     | 
    
         
            -
                context 'when the current node is on a different cloud' do
         
     | 
| 
       32 
     | 
    
         
            -
                  before do
         
     | 
| 
       33 
     | 
    
         
            -
                    node['cloud'] = {}
         
     | 
| 
       34 
     | 
    
         
            -
                    node['cloud']['provider'] = 'rackspace'
         
     | 
| 
       35 
     | 
    
         
            -
                  end
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
                  it 'uses the public ipv4' do
         
     | 
| 
       38 
     | 
    
         
            -
                    expect(described_class.best_ip_for(node, other)).to eq('13.14.15.16')
         
     | 
| 
       39 
     | 
    
         
            -
                  end
         
     | 
| 
       40 
     | 
    
         
            -
                end
         
     | 
| 
       41 
     | 
    
         
            -
             
     | 
| 
       42 
     | 
    
         
            -
                context 'when the current node is on the same cloud' do
         
     | 
| 
       43 
     | 
    
         
            -
                  before do
         
     | 
| 
       44 
     | 
    
         
            -
                    node['cloud'] = {}
         
     | 
| 
       45 
     | 
    
         
            -
                    node['cloud']['provider'] = 'ec2'
         
     | 
| 
       46 
     | 
    
         
            -
                  end
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
       48 
     | 
    
         
            -
                  it 'uses the local ipv4' do
         
     | 
| 
       49 
     | 
    
         
            -
                    expect(described_class.best_ip_for(node, other)).to eq('9.10.11.12')
         
     | 
| 
       50 
     | 
    
         
            -
                  end
         
     | 
| 
       51 
     | 
    
         
            -
                end
         
     | 
| 
       52 
     | 
    
         
            -
              end
         
     | 
| 
       53 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,16 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            describe Chef::Sugar::Kernel do
         
     | 
| 
       4 
     | 
    
         
            -
              describe '.require_chef_gem' do
         
     | 
| 
       5 
     | 
    
         
            -
                it 'raises an exception when the gem is not installed' do
         
     | 
| 
       6 
     | 
    
         
            -
                  expect {
         
     | 
| 
       7 
     | 
    
         
            -
                    described_class.require_chef_gem('bacon')
         
     | 
| 
       8 
     | 
    
         
            -
                  }.to raise_error(Chef::Sugar::Kernel::ChefGemLoadError)
         
     | 
| 
       9 
     | 
    
         
            -
                end
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
                it 'loads the gem' do
         
     | 
| 
       12 
     | 
    
         
            -
                  allow(Chef::Sugar::Kernel).to receive(:require).and_return(true)
         
     | 
| 
       13 
     | 
    
         
            -
                  expect(described_class.require_chef_gem('bacon')).to be true
         
     | 
| 
       14 
     | 
    
         
            -
                end
         
     | 
| 
       15 
     | 
    
         
            -
              end
         
     | 
| 
       16 
     | 
    
         
            -
            end
         
     | 
| 
         @@ -1,18 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            require 'spec_helper'
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            describe Chef::Sugar::Kitchen do
         
     | 
| 
       4 
     | 
    
         
            -
              it_behaves_like 'a chef sugar'
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
              describe '#kitchen?' do
         
     | 
| 
       7 
     | 
    
         
            -
                it 'is true when the TEST_KITCHEN environment variable is set' do
         
     | 
| 
       8 
     | 
    
         
            -
                  allow(ENV).to receive(:[]).with('TEST_KITCHEN').and_return('1')
         
     | 
| 
       9 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       10 
     | 
    
         
            -
                  expect(described_class.kitchen?(node)).to be true
         
     | 
| 
       11 
     | 
    
         
            -
                end
         
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
                it 'is false when the TEST_KITCHEN environment variable is unset' do
         
     | 
| 
       14 
     | 
    
         
            -
                  node = {}
         
     | 
| 
       15 
     | 
    
         
            -
                  expect(described_class.kitchen?(node)).to be false
         
     | 
| 
       16 
     | 
    
         
            -
                end
         
     | 
| 
       17 
     | 
    
         
            -
              end
         
     | 
| 
       18 
     | 
    
         
            -
            end
         
     |