diff options
| author | mo khan <mo@mokhan.ca> | 2015-11-11 13:35:25 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2015-11-11 13:35:25 -0700 |
| commit | 948586298f0991d652ecd2dede61e1bfb7b3aed1 (patch) | |
| tree | 1ae4a93774dbea45fbdd67b17650ab20ef3ee219 /spec | |
| parent | 7e3566c3ec36cc5f575e46635a69ccf281a0120a (diff) | |
fix broken unit tests.
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/aws_spec.rb | 14 | ||||
| -rw-r--r-- | spec/default_spec.rb | 39 | ||||
| -rw-r--r-- | spec/nginx_spec.rb | 68 | ||||
| -rw-r--r-- | spec/spec_helper.rb | 85 | ||||
| -rw-r--r-- | spec/user_spec.rb | 4 |
5 files changed, 42 insertions, 168 deletions
diff --git a/spec/aws_spec.rb b/spec/aws_spec.rb index 16bee50..49c7a67 100644 --- a/spec/aws_spec.rb +++ b/spec/aws_spec.rb @@ -1,25 +1,25 @@ describe "stronglifters::aws" do subject do ChefSpec::SoloRunner.new do |node| - node.set['aws']['username'] = username + node.set["stronglifters"]["username"] = username end.converge(described_recipe) end let(:username) { FFaker::Internet.user_name } - it 'installs python-ip' do - expect(subject).to install_package('python-pip') + it "installs python-ip" do + expect(subject).to install_package("python-pip") end - it 'installs awscli' do - expect(subject).to run_execute('pip install awscli') + it "installs awscli" do + expect(subject).to run_execute("pip install awscli") end - it 'installs the config file' do + it "installs the config file" do expect(subject).to create_template("/home/#{username}/.aws/config") end - it 'installs the credentials file' do + it "installs the credentials file" do expect(subject).to create_template("/home/#{username}/.aws/credentials") end end diff --git a/spec/default_spec.rb b/spec/default_spec.rb index 1ac048a..de3e098 100644 --- a/spec/default_spec.rb +++ b/spec/default_spec.rb @@ -1,42 +1,13 @@ -describe 'stronglifters::default' do +describe "stronglifters::default" do subject do ChefSpec::SoloRunner.new do |node| + node.set["stronglifters"]["packages"] = packages end.converge(described_recipe) end - let(:packages) do - [ - "curl", - "libcurl3", - "libcurl3-gnutls", - "libcurl4-openssl-dev", - "git-core", - "python-software-properties", - "build-essential", - "tklib", - "zlib1g-dev", - "libssl-dev", - "libxml2", - "libxml2-dev", - "libxslt1-dev", - "gawk", - "libreadline6-dev", - "libyaml-dev", - "autoconf", - "libgdbm-dev", - "libncurses5-dev", - "automake", - "libtool", - "bison", - "pkg-config", - "libffi-dev", - "vim", - ] - end + let(:packages) { [ "vim" ] } - it 'installs the base packages' do - packages.each do |package| - expect(subject).to install_package(package) - end + it "installs the base packages" do + expect(subject).to install_package(packages) end end diff --git a/spec/nginx_spec.rb b/spec/nginx_spec.rb index 91972dd..c2fe3dd 100644 --- a/spec/nginx_spec.rb +++ b/spec/nginx_spec.rb @@ -1,69 +1,49 @@ -describe 'stronglifters::nginx' do +describe "stronglifters::nginx" do let(:domain) { "www.example.com" } - let(:chef_run) do + subject do ChefSpec::SoloRunner.new do |node| - node.set['nginx']['domain'] = domain - node.set['lsb']['codename'] = 'trusty' + node.set["nginx"]["domain"] = domain end.converge(described_recipe) end - it 'installs nginx' do - expect(chef_run).to install_package("nginx") + it "installs nginx" do + expect(subject).to install_package("nginx") end - it 'creates a directory for the ssl certificates' do - expect(chef_run).to create_directory('/etc/nginx/ssl') - .with_owner('root') - .with_group('root') - .with_mode('0644') + it "creates a directory for the ssl certificates" do + expect(subject).to create_directory("/etc/nginx/ssl") end - it 'copies the ssl certificate' do - expect(chef_run).to create_template("/etc/nginx/ssl/#{domain}.crt") - .with_mode("0644") + it "copies the ssl certificate" do + expect(subject).to create_template("/etc/nginx/ssl/#{domain}.crt") end - it 'copies the ssl private key' do - expect(chef_run).to create_template("/etc/nginx/ssl/#{domain}.key") - .with_mode("0644") + it "copies the ssl private key" do + expect(subject).to create_template("/etc/nginx/ssl/#{domain}.key") end - it 'copies over the blacklist file' do - expect(chef_run).to create_cookbook_file("/etc/nginx/conf.d/blacklist.conf") - .with_mode("0644") + it "adds the configuration for the website" do + expect(subject).to create_template("/etc/nginx/nginx.conf") end - it 'adds the configuration for the website' do - expect(chef_run).to create_template("/etc/nginx/sites-available/#{domain}") - .with_mode("0644") + it "restarts nginx" do + resource = subject.template("/etc/nginx/nginx.conf") + expect(resource).to notify("service[nginx]").to(:restart).delayed end - it 'restarts nginxj' do - resource = chef_run.template("/etc/nginx/sites-available/#{domain}") - expect(resource).to notify('service[nginx]').to(:restart).delayed + it "starts nginx" do + expect(subject).to start_service("nginx") end - it 'starts nginx' do - expect(chef_run).to start_service('nginx') + it "installs logrotate" do + expect(subject).to install_package("logrotate") end - it 'creates a symlink to the sites-enabled directory' do - expect(chef_run).to create_link("/etc/nginx/sites-enabled/#{domain}") + it "creates the log directory for nginx" do + expect(subject).to create_directory("/var/log/nginx") end - it 'deletes the default website' do - expect(chef_run).to delete_file("/etc/nginx/sites-enabled/default") - end - - it 'installs logrotate' do - expect(chef_run).to install_package('logrotate') - end - - it 'creates the log directory for nginx' do - expect(chef_run).to create_directory('/var/log/nginx').with_mode('0755') - end - - it 'adds the logrotate config for rotating nginx logs' do - expect(chef_run).to create_template("/etc/logrotate.d/nginx") + it "adds the logrotate config for rotating nginx logs" do + expect(subject).to create_template("/etc/logrotate.d/nginx") end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index a849feb..2ff6e50 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,94 +1,17 @@ -# This file was generated by the `rspec --init` command. Conventionally, all -# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`. -# The generated `.rspec` file contains `--require spec_helper` which will cause -# this file to always be loaded, without a need to explicitly require it in any -# files. -# -# Given that it is always loaded, you are encouraged to keep this file as -# light-weight as possible. Requiring heavyweight dependencies from this file -# will add to the boot time of your test suite on EVERY test run, even for an -# individual file that may not need all of that loaded. Instead, consider making -# a separate helper file that requires the additional dependencies and performs -# the additional setup, and require it from the spec files that actually need -# it. -require 'chefspec' -require 'chefspec/berkshelf' -require 'ffaker' +require "chefspec" +require "chefspec/berkshelf" +require "ffaker" -# The `.rspec` file also contains a few flags that are not defaults but that -# users commonly want. -# -# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration RSpec.configure do |config| - # rspec-expectations config goes here. You can use an alternate - # assertion/expectation library such as wrong or the stdlib/minitest - # assertions if you prefer. config.expect_with :rspec do |expectations| - # This option will default to `true` in RSpec 4. It makes the `description` - # and `failure_message` of custom matchers include text for helper methods - # defined using `chain`, e.g.: - # be_bigger_than(2).and_smaller_than(4).description - # # => "be bigger than 2 and smaller than 4" - # ...rather than: - # # => "be bigger than 2" expectations.include_chain_clauses_in_custom_matcher_descriptions = true end - - # rspec-mocks config goes here. You can use an alternate test double - # library (such as bogus or mocha) by changing the `mock_with` option here. config.mock_with :rspec do |mocks| - # Prevents you from mocking or stubbing a method that does not exist on - # a real object. This is generally recommended, and will default to - # `true` in RSpec 4. mocks.verify_partial_doubles = true end - -# The settings below are suggested to provide a good initial experience -# with RSpec, but feel free to customize to your heart's content. -=begin - # These two settings work together to allow you to limit a spec run - # to individual examples or groups you care about by tagging them with - # `:focus` metadata. When nothing is tagged with `:focus`, all examples - # get run. config.filter_run :focus config.run_all_when_everything_filtered = true - - # Limits the available syntax to the non-monkey patched syntax that is - # recommended. For more details, see: - # - http://myronmars.to/n/dev-blog/2012/06/rspecs-new-expectation-syntax - # - http://teaisaweso.me/blog/2013/05/27/rspecs-new-message-expectation-syntax/ - # - http://myronmars.to/n/dev-blog/2014/05/notable-changes-in-rspec-3#new__config_option_to_disable_rspeccore_monkey_patching - config.disable_monkey_patching! - - # This setting enables warnings. It's recommended, but in some cases may - # be too noisy due to issues in dependencies. - config.warnings = true - - # Many RSpec users commonly either run the entire suite or an individual - # file, and it's useful to allow more verbose output when running an - # individual spec file. - if config.files_to_run.one? - # Use the documentation formatter for detailed output, - # unless a formatter has already been configured - # (e.g. via a command-line flag). - config.default_formatter = 'doc' - end - - # Print the 10 slowest examples and example groups at the - # end of the spec run, to help surface which specs are running - # particularly slow. - config.profile_examples = 10 - - # Run specs in random order to surface order dependencies. If you find an - # order dependency and want to debug it, you can fix the order by providing - # the seed, which is printed after each run. - # --seed 1234 + config.warnings = false config.order = :random - - # Seed global randomization in this process using the `--seed` CLI option. - # Setting this allows you to use `--seed` to deterministically reproduce - # test failures related to randomization by passing the same `--seed` value - # as the one that triggered the failure. Kernel.srand config.seed -=end end diff --git a/spec/user_spec.rb b/spec/user_spec.rb index bd22d72..4dc8d83 100644 --- a/spec/user_spec.rb +++ b/spec/user_spec.rb @@ -1,13 +1,13 @@ describe "stronglifters::user" do subject do ChefSpec::SoloRunner.new do |node| - node.set['user']['username'] = username + node.set["stronglifters"]["username"] = username end.converge(described_recipe) end let(:username) { FFaker::Internet.user_name } - it 'creates the rails user' do + it "creates the rails user" do expect(subject).to create_user(username) end end |
