Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(maint) test fixes #185

Merged
merged 2 commits into from
Jun 13, 2019
Merged

(maint) test fixes #185

merged 2 commits into from
Jun 13, 2019

Commits on Jun 13, 2019

  1. (maint) reset provider cache between tests

    Without this the `provider` mock would leak between tests.
    DavidS committed Jun 13, 2019
    Configuration menu
    Copy the full SHA
    31fe0b1 View commit details
    Browse the repository at this point in the history
  2. (maint) have the #inject_device test clean up after itself

    Before the fix:
    ```
    david@davids:~/git/puppet-resource_api$ SPEC_OPTS="--exclude-pattern spec/\{fixtures/\*\*/\*.rb,fixtures/modules/\*/\*\*/\*.rb\}" bundle exec rspec ./spec/puppet/resource_api/transport_spec.rb[1:4:2:1] ./spec/puppet/resource_api_spec.rb[1:16:2:1] --seed 40589 -fd
    Run options: include {:ids=>{"./spec/puppet/resource_api/transport_spec.rb"=>["1:4:2:1"], "./spec/puppet/resource_api_spec.rb"=>["1:16:2:1"]}}
    
    Randomized with seed 40589
    
    Puppet::ResourceApi::Transport
      #inject_device(name, transport)
        when puppet does not have set_device
          wraps the transport and sets it as current in NetworkDevice
    
    Puppet::ResourceApi
      #load_provider
        when loading a provider that doesn't create the correct class
          should raise Puppet::DevError with message matching /provider class Puppet::Provider::NoClass::NoClass not found/ (FAILED - 1)
    
    Failures:
    
      1) Puppet::ResourceApi#load_provider when loading a provider that doesn't create the correct class should raise Puppet::DevError with message matching /provider class Puppet::Provider::NoClass::NoClass not found/
         Failure/Error: it { expect { described_class.load_provider('no_class') }.to raise_error Puppet::DevError, %r{provider class Puppet::Provider::NoClass::NoClass not found} }
    
           expected Puppet::DevError with message matching /provider class Puppet::Provider::NoClass::NoClass not found/, got #<Puppet::DevError: Found neither the device-specific provider class Puppet::Provider::NoClass::Mocks... the generic provider class Puppet::Provider::NoClass::NoClass in puppet/provider/no_class/no_class> with backtrace:
             # ./lib/puppet/resource_api.rb:437:in `rescue in load_provider'
             # ./lib/puppet/resource_api.rb:416:in `load_provider'
             # ./spec/puppet/resource_api_spec.rb:1202:in `block (5 levels) in <top (required)>'
             # ./spec/puppet/resource_api_spec.rb:1202:in `block (4 levels) in <top (required)>'
         # ./spec/puppet/resource_api_spec.rb:1202:in `block (4 levels) in <top (required)>'
    
    Finished in 0.05427 seconds (files took 0.94482 seconds to load)
    2 examples, 1 failure
    
    Failed examples:
    
    rspec ./spec/puppet/resource_api_spec.rb:1202 # Puppet::ResourceApi#load_provider when loading a provider that doesn't create the correct class should raise Puppet::DevError with message matching /provider class Puppet::Provider::NoClass::NoClass not found/
    
    Randomized with seed 40589
    
    david@davids:~/git/puppet-resource_api$
    ```
    
    After the fix:
    ```
    david@davids:~/git/puppet-resource_api$ SPEC_OPTS="--exclude-pattern spec/\{fixtures/\*\*/\*.rb,fixtures/modules/\*/\*\*/\*.rb\}" bundle exec rspec ./spec/puppet/resource_api/transport_spec.rb[1:4:2:1] ./spec/puppet/resource_api_spec.rb[1:16:2:1] --seed 40589 -fd
    Run options: include {:ids=>{"./spec/puppet/resource_api/transport_spec.rb"=>["1:4:2:1"], "./spec/puppet/resource_api_spec.rb"=>["1:16:2:1"]}}
    
    Randomized with seed 40589
    
    Puppet::ResourceApi::Transport
      #inject_device(name, transport)
        when puppet does not have set_device
          wraps the transport and sets it as current in NetworkDevice
    
    Puppet::ResourceApi
      #load_provider
        when loading a provider that doesn't create the correct class
          should raise Puppet::DevError with message matching /provider class Puppet::Provider::NoClass::NoClass not found/
    
    Finished in 0.03734 seconds (files took 0.95637 seconds to load)
    2 examples, 0 failures
    
    Randomized with seed 40589
    
    david@davids:~/git/puppet-resource_api$
    
    ```
    DavidS committed Jun 13, 2019
    Configuration menu
    Copy the full SHA
    45e0365 View commit details
    Browse the repository at this point in the history