chefspec 4.0.0 → 4.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/CHANGELOG.md +8 -0
- data/README.md +1 -4
- data/features/server.feature +2 -2
- data/lib/chefspec/berkshelf.rb +1 -1
- data/lib/chefspec/librarian.rb +2 -2
- data/lib/chefspec/matchers/resource_matcher.rb +7 -3
- data/lib/chefspec/renderer.rb +1 -1
- data/lib/chefspec/rspec.rb +0 -1
- data/lib/chefspec/runner.rb +1 -1
- data/lib/chefspec/server.rb +6 -27
- data/lib/chefspec/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 4b356cb25522616e55756a68cffb0fee6bbac9bb
         | 
| 4 | 
            +
              data.tar.gz: 587c6da791e7fdac91ba470e47ba9ec182858874
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: bc83045236dca71e9627037bda4fb8288326daaaccae04d08ba09dfc30b02af46d2026b86cd7160752ad5c1f3968daa28455d6bdc5f0b732f526690e1e78b43b
         | 
| 7 | 
            +
              data.tar.gz: 511164cffb5fa1e6b7f0f6ca1f3b2a24badd219448f4034e3b9b8c8f22d0b68d8c195a6d60084038ea92e4341e01c05d5e0bd31469a8ca28ca1fe3938006a114
         | 
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,6 +1,14 @@ | |
| 1 1 | 
             
            CHANGELOG for ChefSpec
         | 
| 2 2 | 
             
            ======================
         | 
| 3 3 |  | 
| 4 | 
            +
            ## 4.0.1 (June 27, 2014)
         | 
| 5 | 
            +
            Bugfixes:
         | 
| 6 | 
            +
              - Fix class comparisons
         | 
| 7 | 
            +
              - Update ChefZero API to work again
         | 
| 8 | 
            +
              - Use proper cookbook in the template_finder
         | 
| 9 | 
            +
              - Fix Ruby deprecations
         | 
| 10 | 
            +
              - Various documentation updates
         | 
| 11 | 
            +
             | 
| 4 12 | 
             
            ## 4.0.0 (June 2, 2014)
         | 
| 5 13 | 
             
            Breaking Changes:
         | 
| 6 14 | 
             
              - **Upgraded to RSpec 3!** RSpec 3 brings many new API changes and syntaxes
         | 
    
        data/README.md
    CHANGED
    
    | @@ -90,9 +90,6 @@ RSpec.configure do |config| | |
| 90 90 | 
             
              # the location of the calling spec file])
         | 
| 91 91 | 
             
              config.cookbook_path = '/var/cookbooks'
         | 
| 92 92 |  | 
| 93 | 
            -
              # Set the organization for Chef Zero (default: 'chefspec')
         | 
| 94 | 
            -
              config.organization = 'sweetsauce'
         | 
| 95 | 
            -
             | 
| 96 93 | 
             
              # Specify the path for Chef Solo to find roles (default: [ascending search])
         | 
| 97 94 | 
             
              config.role_path = '/var/roles'
         | 
| 98 95 |  | 
| @@ -488,7 +485,7 @@ data_bag('users').each do |user| | |
| 488 485 | 
             
            end
         | 
| 489 486 | 
             
            ```
         | 
| 490 487 |  | 
| 491 | 
            -
            ChefSpec will  | 
| 488 | 
            +
            ChefSpec will raise an error like:
         | 
| 492 489 |  | 
| 493 490 | 
             
            ```text
         | 
| 494 491 | 
             
            Real data_bags are disabled. Unregistered data_bag: data_bag(:users)
         | 
    
        data/features/server.feature
    CHANGED
    
    | @@ -6,10 +6,10 @@ Feature: The ChefSpec server | |
| 6 6 | 
             
                * I am using the "server" cookbook
         | 
| 7 7 |  | 
| 8 8 | 
             
              Scenario Outline: Running specs
         | 
| 9 | 
            -
                * I successfully run `rspec spec/< | 
| 9 | 
            +
                * I successfully run `rspec spec/<Component>_spec.rb`
         | 
| 10 10 | 
             
                * the output should contain "0 failures"
         | 
| 11 11 | 
             
              Examples:
         | 
| 12 | 
            -
                |  | 
| 12 | 
            +
                | Component          |
         | 
| 13 13 | 
             
                | client             |
         | 
| 14 14 | 
             
                | data_bag           |
         | 
| 15 15 | 
             
                | environment        |
         | 
    
        data/lib/chefspec/berkshelf.rb
    CHANGED
    
    
    
        data/lib/chefspec/librarian.rb
    CHANGED
    
    | @@ -38,8 +38,8 @@ module ChefSpec | |
| 38 38 | 
             
                def teardown!
         | 
| 39 39 | 
             
                  env = ::Librarian::Chef::Environment.new(project_path: Dir.pwd)
         | 
| 40 40 | 
             
                  env.config_db.local['path'] = @originalpath
         | 
| 41 | 
            -
             | 
| 42 | 
            -
                  FileUtils.rm_rf(@tmpdir) if File. | 
| 41 | 
            +
             | 
| 42 | 
            +
                  FileUtils.rm_rf(@tmpdir) if File.exist?(@tmpdir)
         | 
| 43 43 | 
             
                end
         | 
| 44 44 | 
             
              end
         | 
| 45 45 | 
             
            end
         | 
| @@ -111,11 +111,15 @@ module ChefSpec::Matchers | |
| 111 111 | 
             
                end
         | 
| 112 112 |  | 
| 113 113 | 
             
                def matches_parameter?(parameter, expected)
         | 
| 114 | 
            -
                   | 
| 114 | 
            +
                  value = safe_send(parameter)
         | 
| 115 115 | 
             
                  if parameter == :source
         | 
| 116 | 
            -
                     | 
| 116 | 
            +
                    # Chef 11+ stores the source parameter internally as an Array
         | 
| 117 | 
            +
                    Array(expected) == Array(value)
         | 
| 118 | 
            +
                  elsif expected.kind_of?(Class)
         | 
| 119 | 
            +
                    # Ruby can't compare classes with ===
         | 
| 120 | 
            +
                    expected == value
         | 
| 117 121 | 
             
                  else
         | 
| 118 | 
            -
                    expected ===  | 
| 122 | 
            +
                    expected === value
         | 
| 119 123 | 
             
                  end
         | 
| 120 124 | 
             
                end
         | 
| 121 125 |  | 
    
        data/lib/chefspec/renderer.rb
    CHANGED
    
    | @@ -68,7 +68,7 @@ module ChefSpec | |
| 68 68 | 
             
                    template_context = Chef::Mixin::Template::TemplateContext.new([])
         | 
| 69 69 | 
             
                    template_context.update({
         | 
| 70 70 | 
             
                      :node => chef_run.node,
         | 
| 71 | 
            -
                      :template_finder => template_finder(chef_run, cookbook_name),
         | 
| 71 | 
            +
                      :template_finder => template_finder(chef_run, template.cookbook_name),
         | 
| 72 72 | 
             
                    }.merge(template.variables))
         | 
| 73 73 | 
             
                    if template.respond_to?(:helper_modules) # Chef 11.4+
         | 
| 74 74 | 
             
                      template.helper_modules.each do |helper_module|
         | 
    
        data/lib/chefspec/rspec.rb
    CHANGED
    
    
    
        data/lib/chefspec/runner.rb
    CHANGED
    
    
    
        data/lib/chefspec/server.rb
    CHANGED
    
    | @@ -152,8 +152,7 @@ module ChefSpec | |
| 152 152 |  | 
| 153 153 | 
             
                #
         | 
| 154 154 | 
             
                # Create a new instance of the +ChefSpec::Server+ singleton. This method
         | 
| 155 | 
            -
                # also starts the Chef Zero server in the background | 
| 156 | 
            -
                # "chefspec".
         | 
| 155 | 
            +
                # also starts the Chef Zero server in the background.
         | 
| 157 156 | 
             
                #
         | 
| 158 157 | 
             
                def initialize
         | 
| 159 158 | 
             
                  @server = ChefZero::Server.new(
         | 
| @@ -233,12 +232,12 @@ module ChefSpec | |
| 233 232 | 
             
                end
         | 
| 234 233 |  | 
| 235 234 | 
             
                #
         | 
| 236 | 
            -
                # The URL where ChefZero is listening | 
| 235 | 
            +
                # The URL where ChefZero is listening.
         | 
| 237 236 | 
             
                #
         | 
| 238 237 | 
             
                # @return [String]
         | 
| 239 238 | 
             
                #
         | 
| 240 239 | 
             
                def chef_server_url
         | 
| 241 | 
            -
                  @chef_server_url ||= File.join(@server.url | 
| 240 | 
            +
                  @chef_server_url ||= File.join(@server.url)
         | 
| 242 241 | 
             
                end
         | 
| 243 242 |  | 
| 244 243 | 
             
                #
         | 
| @@ -257,7 +256,6 @@ module ChefSpec | |
| 257 256 | 
             
                #
         | 
| 258 257 | 
             
                def reset!
         | 
| 259 258 | 
             
                  @server.clear_data
         | 
| 260 | 
            -
                  @server.data_store.create_dir(['organizations'], organization)
         | 
| 261 259 | 
             
                end
         | 
| 262 260 |  | 
| 263 261 | 
             
                #
         | 
| @@ -271,15 +269,6 @@ module ChefSpec | |
| 271 269 |  | 
| 272 270 | 
             
                private
         | 
| 273 271 |  | 
| 274 | 
            -
                #
         | 
| 275 | 
            -
                # The name of the Chef organization.
         | 
| 276 | 
            -
                #
         | 
| 277 | 
            -
                # @return [String]
         | 
| 278 | 
            -
                #
         | 
| 279 | 
            -
                def organization
         | 
| 280 | 
            -
                  RSpec.configuration.organization
         | 
| 281 | 
            -
                end
         | 
| 282 | 
            -
             | 
| 283 272 | 
             
                #
         | 
| 284 273 | 
             
                # The directory where any cache information (such as private keys) should
         | 
| 285 274 | 
             
                # be stored. This cache is destroyed at the end of the run.
         | 
| @@ -303,7 +292,7 @@ module ChefSpec | |
| 303 292 | 
             
                #   to the server
         | 
| 304 293 | 
             
                #
         | 
| 305 294 | 
             
                def load_data(name, key, data = {})
         | 
| 306 | 
            -
                  @server.load_data({ key => { name => data } } | 
| 295 | 
            +
                  @server.load_data({ key => { name => data } })
         | 
| 307 296 | 
             
                end
         | 
| 308 297 |  | 
| 309 298 | 
             
                #
         | 
| @@ -311,22 +300,12 @@ module ChefSpec | |
| 311 300 | 
             
                #
         | 
| 312 301 | 
             
                def get(*args)
         | 
| 313 302 | 
             
                  if args.size == 1
         | 
| 314 | 
            -
                    @server.data_store.list( | 
| 303 | 
            +
                    @server.data_store.list(args)
         | 
| 315 304 | 
             
                  else
         | 
| 316 | 
            -
                    @server.data_store.get( | 
| 305 | 
            +
                    @server.data_store.get(args)
         | 
| 317 306 | 
             
                  end
         | 
| 318 307 | 
             
                end
         | 
| 319 308 |  | 
| 320 | 
            -
                #
         | 
| 321 | 
            -
                # Prefix the given args with the organization. This is used by the data
         | 
| 322 | 
            -
                # store to fetch elements.
         | 
| 323 | 
            -
                #
         | 
| 324 | 
            -
                # @return [Array<String>]
         | 
| 325 | 
            -
                #
         | 
| 326 | 
            -
                def with_organization(*args)
         | 
| 327 | 
            -
                  ['organizations', organization, *args]
         | 
| 328 | 
            -
                end
         | 
| 329 | 
            -
             | 
| 330 309 | 
             
                #
         | 
| 331 310 | 
             
                # A randomly assigned, open port for run the Chef Zero server.
         | 
| 332 311 | 
             
                #
         | 
    
        data/lib/chefspec/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: chefspec
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 4.0. | 
| 4 | 
            +
              version: 4.0.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Andrew Crump
         | 
| @@ -9,7 +9,7 @@ authors: | |
| 9 9 | 
             
            autorequire: 
         | 
| 10 10 | 
             
            bindir: bin
         | 
| 11 11 | 
             
            cert_chain: []
         | 
| 12 | 
            -
            date: 2014-06- | 
| 12 | 
            +
            date: 2014-06-27 00:00:00.000000000 Z
         | 
| 13 13 | 
             
            dependencies:
         | 
| 14 14 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 15 15 | 
             
              name: chef
         |