diff options
Diffstat (limited to 'acceptance')
73 files changed, 0 insertions, 1663 deletions
diff --git a/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml b/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml deleted file mode 100644 index d49d4b9cf0..0000000000 --- a/acceptance/.shared/kitchen_acceptance/.kitchen.digitalocean.yml +++ /dev/null @@ -1,33 +0,0 @@ -# Not quite ready yet - -driver: - name: digitalocean - digitalocean_access_token: <%= ENV['DIGITALOCEAN_API_TOKEN'] %> - region: <%= ENV['DIGITALOCEAN_REGION'] %> - size: 2gb - ssh_key_ids: <%= ENV['DIGITALOCEAN_SSH_KEYS'] %> - transport: - ssh_key: <%= ENV['DIGITALOCEAN_SSH_KEY_PATH'] %> - -provisioner: - name: chef_zero - product_name: chef - product_version: latest - channel: current - -# busser installation relies on this -<% if ENV["KITCHEN_CHEF_PRODUCT"] %> -verifier: - chef_omnibus_root: "/opt/<%= ENV["KITCHEN_CHEF_PRODUCT"] %>" -<% end %> - -platforms: -<% %w(centos-6.5 centos-7.0 - fedora-21 - debian-8.1 - ubuntu-12.04 ubuntu-14.04 ubuntu-15.10 -).each do |platform| %> - - name: #{platform} - driver_config: - image: <%= "#{platform.gsub('.', '-')}-x64" %> -<% end %> diff --git a/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml b/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml deleted file mode 100644 index 5f6cc7f104..0000000000 --- a/acceptance/.shared/kitchen_acceptance/.kitchen.ec2.yml +++ /dev/null @@ -1,272 +0,0 @@ -# Not quite ready yet - -<% -def file_if_exists(path) - path = File.expand_path(path) - File.exist?(path) ? path : nil -end -%> - -driver: - name: ec2 - tags: - X-Dept: Eng - X-Contact: product-team - X-Application: chef-ci-acceptance - aws_ssh_key_id: <%= ENV['AWS_SSH_KEY_ID'] || ENV['USER'] || ENV['USERNAME'] %> - # test-specific stuff - region: us-west-2 - subnet_id: subnet-19ac017c - security_group_ids: ["sg-e401eb83", "sg-96274af3"] - instance_type: m3.large - retryable_tries: 120 -# associate_public_ip: true # Don't enable public IP, as subnet specified is behind VPN - -# busser installation relies on this -<% if ENV["KITCHEN_CHEF_PRODUCT"] %> -verifier: - chef_omnibus_root: "/opt/<%= ENV["KITCHEN_CHEF_PRODUCT"] %>" -<% end %> - -transport: - ssh_key: <%= file_if_exists("~/.ssh/#{ENV['AWS_SSH_KEY_ID'] || ENV['USER'] || ENV['USERNAME']}.pem") || - file_if_exists("~/.ssh/#{ENV['AWS_SSH_KEY_ID'] || ENV['USER'] || ENV['USERNAME']}") || - file_if_exists("~/.ssh/id_rsa") %> - -provisioner: - name: chef_zero - product_name: <%= ENV["KITCHEN_CHEF_PRODUCT"] %> - product_version: <%= ENV["KITCHEN_CHEF_VERSION"] %> - channel: <%= ENV["KITCHEN_CHEF_CHANNEL"] %> - client_rb: - audit_mode: :enabled - attributes: - chef_acceptance: "true" - use_system_chef: "true" - -platforms: - # - # AIX - # - # - name: aix-6.1 - # - name: aix-7.1 - # - # Debian - # - - name: debian-8 - driver: - image_search: - name: debian-jessie-* - owner-id: "379101102735" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: admin - # - # Ubuntu - # - - name: ubuntu-15.10 - driver: - image_search: - name: ubuntu/images/*/ubuntu-*-15.10-amd64-server-* - owner-id: "099720109477" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: ubuntu - - name: ubuntu-14.04 - driver: - image_search: - name: ubuntu/images/*/ubuntu-*-14.04-*-server-* - owner-id: "099720109477" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: ubuntu - - name: ubuntu-12.04 - driver: - image_search: - name: ubuntu/images/*/ubuntu-*-12.04-*-server-* - owner-id: "099720109477" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: ubuntu - # - # Red Hat Enterprise Linux - # - - name: el-7 - driver: - image_search: - name: RHEL-7.* - owner-id: "309956199498" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: ec2-user - - name: el-6 - driver: - image_search: - name: RHEL-6.* - owner-id: "309956199498" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: ec2-user - - name: el-5 - driver: - image_search: - name: RHEL-5.* - owner-id: "309956199498" - architecture: x86_64 - virtualization-type: paravirtual - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: ec2-user - # - # FreeBSD - # - - name: freebsd-10 - driver: - image_search: - name: FreeBSD/EC2 10.*-RELEASE* - owner-id: "118940168514" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: ec2-user - - name: freebsd-9 - driver: - image_search: - name: FreeBSD/EC2 9.*-RELEASE* - owner-id: "118940168514" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: ec2-user - - name: freebsd-8 - driver: - image_search: - name: FreeBSD/EC2 8.*-RELEASE* - owner-id: "118940168514" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: standard - image-type: machine - transport: - username: ec2-user - # - # OS/X - # - # - name: mac_os_x-10.11 - # - name: mac_os_x-10.10 - # - name: mac_os_x-10.9 - # - name: mac_os_x-10.8 - # - # Nexus??? - # - # - name: nexus-7 - # - # Solaris - # - # - name: solaris-11 - # - name: solaris-10 - # - # Windows - # - - name: windows-2012r2 - provisioner: - architecture: <%= ENV["KITCHEN_CHEF_WIN_ARCHITECTURE"] %> - driver: - image_search: - name: Windows_Server-2012-R2*-English-*-Base-* - owner-alias: amazon - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - user_data: | - <powershell> - & netsh advfirewall firewall set rule name="Windows Remote Management (HTTP-In)" profile=public protocol=tcp localport=5985 remoteip=localsubnet new remoteip=any - #Set script execution to unrestricted - & Set-ExecutionPolicy Unrestricted -Force - </powershell> - transport: - username: administrator - - - name: windows-2012 - driver: - image_search: - name: Windows_Server-2012-RTM*-English-*-Base-* - owner-alias: amazon - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: administrator - - name: windows-2008r2 - driver: - image_search: - name: Windows_Server-2008-R2*-English-*-Base-* - owner-alias: amazon - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine - transport: - username: administrator - # - # Centos - # - - name: centos-7 - driver: - image_search: - name: CentOS Linux 7 * - owner-alias: aws-marketplace - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: standard - image-type: machine - transport: - username: root - - name: centos-6 - driver: - image_search: - name: CentOS-6.5-GA-* - owner-alias: aws-marketplace - architecture: x86_64 - virtualization-type: paravirtual - block-device-mapping.volume-type: standard - image-type: machine - transport: - username: root - # - # Fedora - # - - name: fedora-21 - driver: - image_search: - name: Fedora-Cloud-Base-21-* - owner-id: "125523088429" - architecture: x86_64 - virtualization-type: hvm - block-device-mapping.volume-type: gp2 - image-type: machine diff --git a/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml b/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml deleted file mode 100644 index 6b382cf417..0000000000 --- a/acceptance/.shared/kitchen_acceptance/.kitchen.vagrant.yml +++ /dev/null @@ -1,57 +0,0 @@ -driver: - name: vagrant - forward_agent: yes - customize: - cpus: 2 - memory: 1024 - -provisioner: - name: chef_zero - product_name: <%= ENV["KITCHEN_CHEF_PRODUCT"] %> - product_version: <%= ENV["KITCHEN_CHEF_VERSION"] %> - channel: <%= ENV["KITCHEN_CHEF_CHANNEL"] %> - client_rb: - audit_mode: :enabled - attributes: - chef_acceptance: "true" - use_system_chef: "true" - -# busser installation relies on this -<% if ENV["KITCHEN_CHEF_PRODUCT"] %> -verifier: - chef_omnibus_root: "/opt/<%= ENV["KITCHEN_CHEF_PRODUCT"] %>" -<% end %> - -platforms: -<% %w( -debian-8 -ubuntu-15.10 -ubuntu-14.04 -el-7 -el-6 -el-5 -freebsd-10 -freebsd-9 -fedora-21 -).each do |platform| %> - - name: <%= platform %> - driver: - box: opscode-<%= platform %> - box_url: http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_<%= platform %>_chef-provisionerless.box -<% end %> -# freebsd-8 -# ubuntu-12.04 -# centos-7 - - name: centos-6 - driver: - box: bento/centos-6.7 -<% %w( -2012r2 -2012 -2008r2 -).each do |version| %> - - name: windows-<%= version %> - driver: - box: chef/windows-server-<%= version %>-standard -# URL is atlas -<% end %> diff --git a/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb b/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb deleted file mode 100644 index cf0b4eda5d..0000000000 --- a/acceptance/.shared/kitchen_acceptance/libraries/kitchen.rb +++ /dev/null @@ -1,68 +0,0 @@ -require 'chef/mixin/shell_out' - -module KitchenAcceptance - class Kitchen < Chef::Resource - resource_name :kitchen - - property :command, String, name_property: true - property :driver, %w(ec2 vagrant), coerce: proc { |v| v.to_s }, default: lazy { ENV["KITCHEN_DRIVER"] || :ec2 } - property :instances, String, default: lazy { ENV["KITCHEN_INSTANCES"] ? ENV["KITCHEN_INSTANCES"] : "" } - property :kitchen_dir, String, default: Chef.node['chef-acceptance']['suite-dir'] - property :chef_product, String, default: lazy { - ENV["KITCHEN_CHEF_PRODUCT"] || begin - # Figure out if we're in chefdk or chef - if ::File.exist?(::File.expand_path("../../chef-dk.gemspec", node['chef-acceptance']['suite-dir'])) - "chefdk" - else - "chef" - end - end - } - property :chef_channel, String, default: lazy { - ENV["KITCHEN_CHEF_CHANNEL"] || - # Pick up current if we can't connect to artifactory - (ENV["ARTIFACTORY_USERNAME"] ? "unstable" : "current") - } - property :chef_version, String, default: lazy { - ENV["KITCHEN_CHEF_VERSION"] || - # If we're running the chef or chefdk projects in jenkins, pick up the project name. - (ENV["PROJECT_NAME"] == chef_product ? ENV["OMNIBUS_BUILD_VERSION"] : nil) || - "latest" - } - property :artifactory_username, String, default: lazy { ENV["ARTIFACTORY_USERNAME"] ? ENV["ARTIFACTORY_USERNAME"] : "" } - property :artifactory_password, String, default: lazy { ENV["ARTIFACTORY_PASSWORD"] ? ENV["ARTIFACTORY_PASSWORD"] : "" } - property :env, Hash, default: {} - property :kitchen_options, String, default: "-c" - - action :run do - - ruby_block "copy_kitchen_logs_to_data_path" do - block do - cmd_env = { - "KITCHEN_DRIVER" => driver, - "KITCHEN_INSTANCES" => instances, - "KITCHEN_LOCAL_YAML" => ::File.expand_path("../../.kitchen.#{driver}.yml", __FILE__), - "KITCHEN_CHEF_PRODUCT" => chef_product, - "KITCHEN_CHEF_CHANNEL" => chef_channel, - "KITCHEN_CHEF_VERSION" => chef_version, - "ARTIFACTORY_USERNAME" => artifactory_username, - "ARTIFACTORY_PASSWORD" => artifactory_password - }.merge(new_resource.env) - suite = kitchen_dir.split("/").last - kitchen_log_path = ENV["WORKSPACE"] ? "#{ENV["WORKSPACE"]}/chef-acceptance-data/logs" : "#{kitchen_dir}/../.acceptance_data/logs/" - - begin - shell_out!("bundle exec kitchen #{command}#{instances ? " #{instances}" : ""}#{kitchen_options ? " #{kitchen_options}" : ""}", - env: cmd_env, - timeout: 60 * 30, - live_stream: STDOUT, - cwd: kitchen_dir) - ensure - FileUtils.mkdir_p("#{kitchen_log_path}/#{suite}/#{command}") - FileUtils.cp_r("#{kitchen_dir}/.kitchen/logs/.", "#{kitchen_log_path}/#{suite}/#{command}") - end - end - end - end - end -end diff --git a/acceptance/.shared/kitchen_acceptance/metadata.rb b/acceptance/.shared/kitchen_acceptance/metadata.rb deleted file mode 100644 index 70dc342d09..0000000000 --- a/acceptance/.shared/kitchen_acceptance/metadata.rb +++ /dev/null @@ -1 +0,0 @@ -name "kitchen_acceptance" diff --git a/acceptance/Gemfile b/acceptance/Gemfile deleted file mode 100644 index 6384ae75d2..0000000000 --- a/acceptance/Gemfile +++ /dev/null @@ -1,19 +0,0 @@ -source "https://rubygems.org" - -gem "rake" # required to build some native extensions -gem "chef-acceptance", git: "https://github.com/chef/chef-acceptance.git" -gem "kitchen-ec2" -gem "inspec" -gem "kitchen-vagrant" -gem "windows_chef_zero" -gem "kitchen-inspec" -gem "test-kitchen" -gem "winrm-elevated" -gem "berkshelf" - -# Pin to 1.2.3 because current mixlib-install has a problem where unstable -# packages are not always immediately available via the omnitruck API. -gem "mixlib-install", "1.2.3" - -# for chef-14 development - pin to the released rubygems version -gem "chef-config", "< 14.0" diff --git a/acceptance/Gemfile.lock b/acceptance/Gemfile.lock deleted file mode 100644 index 80db23bc4f..0000000000 --- a/acceptance/Gemfile.lock +++ /dev/null @@ -1,266 +0,0 @@ -GIT - remote: https://github.com/chef/chef-acceptance.git - revision: 3877c344098021ac66134e8edb5eb805d14d4643 - specs: - chef-acceptance (0.2.0) - mixlib-shellout (~> 2.0) - thor (~> 0.19) - -GEM - remote: https://rubygems.org/ - specs: - addressable (2.5.1) - public_suffix (~> 2.0, >= 2.0.2) - artifactory (2.8.1) - aws-sdk (2.9.1) - aws-sdk-resources (= 2.9.1) - aws-sdk-core (2.9.1) - aws-sigv4 (~> 1.0) - jmespath (~> 1.0) - aws-sdk-resources (2.9.1) - aws-sdk-core (= 2.9.1) - aws-sigv4 (1.0.0) - berkshelf (5.6.4) - addressable (~> 2.3, >= 2.3.4) - berkshelf-api-client (>= 2.0.2, < 4.0) - buff-config (~> 2.0) - buff-extensions (~> 2.0) - buff-shell_out (~> 1.0) - cleanroom (~> 1.0) - faraday (~> 0.9) - httpclient (~> 2.7) - minitar (~> 0.5, >= 0.5.4) - mixlib-archive (~> 0.4) - octokit (~> 4.0) - retryable (~> 2.0) - ridley (~> 5.0) - solve (> 2.0, < 4.0) - thor (~> 0.19, < 0.19.2) - berkshelf-api-client (3.0.0) - faraday (~> 0.9) - httpclient (~> 2.7) - ridley (>= 4.5, < 6.0) - blankslate (2.1.2.4) - buff-config (2.0.0) - buff-extensions (~> 2.0) - varia_model (~> 0.6) - buff-extensions (2.0.0) - buff-ignore (1.2.0) - buff-ruby_engine (1.0.0) - buff-shell_out (1.1.0) - buff-ruby_engine (~> 1.0) - builder (3.2.3) - celluloid (0.16.0) - timers (~> 4.0.0) - celluloid-io (0.16.2) - celluloid (>= 0.16.0) - nio4r (>= 1.1.0) - chef-config (12.19.36) - addressable - fuzzyurl - mixlib-config (~> 2.0) - mixlib-shellout (~> 2.0) - cleanroom (1.0.0) - coderay (1.1.1) - diff-lcs (1.3) - docker-api (1.33.2) - excon (>= 0.38.0) - json - erubis (2.7.0) - excon (0.55.0) - faraday (0.9.2) - multipart-post (>= 1.2, < 3) - ffi (1.9.18) - fuzzyurl (0.9.0) - gssapi (1.2.0) - ffi (>= 1.0.1) - gyoku (1.3.1) - builder (>= 2.1.2) - hashie (3.5.5) - hitimes (1.2.4) - httpclient (2.8.3) - inspec (1.18.0) - addressable (~> 2.5) - faraday (>= 0.9.0) - hashie (~> 3.4) - json (>= 1.8, < 3.0) - method_source (~> 0.8) - mixlib-log - nokogiri (~> 1.6) - parallel (~> 1.9) - pry (~> 0) - rainbow (~> 2) - rspec (~> 3) - rspec-its (~> 1.2) - rubyzip (~> 1.1) - sslshake (~> 1) - thor (~> 0.19) - toml (~> 0.1) - train (>= 0.22.0, < 1.0) - jmespath (1.3.1) - json (2.0.3) - kitchen-ec2 (1.3.2) - aws-sdk (~> 2) - excon - multi_json - retryable (~> 2.0) - test-kitchen (~> 1.4, >= 1.4.1) - kitchen-inspec (0.17.0) - hashie (~> 3.4) - inspec (>= 0.34.0, < 2.0.0) - test-kitchen (~> 1.6) - kitchen-vagrant (1.0.2) - test-kitchen (~> 1.4) - little-plugger (1.1.4) - logging (2.2.0) - little-plugger (~> 1.1) - multi_json (~> 1.10) - method_source (0.8.2) - mini_portile2 (2.1.0) - minitar (0.6.1) - mixlib-archive (0.4.1) - mixlib-log - mixlib-authentication (1.4.1) - mixlib-log - mixlib-config (2.2.4) - mixlib-install (1.2.3) - artifactory - mixlib-shellout - mixlib-versioning - mixlib-log (1.7.1) - mixlib-shellout (2.3.2) - mixlib-versioning (1.1.0) - molinillo (0.5.7) - multi_json (1.12.1) - multipart-post (2.0.0) - net-scp (1.2.1) - net-ssh (>= 2.6.5) - net-ssh (4.1.0) - net-ssh-gateway (1.3.0) - net-ssh (>= 2.6.5) - nio4r (2.0.0) - nokogiri (1.7.1) - mini_portile2 (~> 2.1.0) - nori (2.6.0) - octokit (4.6.2) - sawyer (~> 0.8.0, >= 0.5.3) - parallel (1.11.1) - parslet (1.5.0) - blankslate (~> 2.0) - pry (0.10.4) - coderay (~> 1.1.0) - method_source (~> 0.8.1) - slop (~> 3.4) - public_suffix (2.0.5) - rainbow (2.2.1) - rake (12.0.0) - retryable (2.0.4) - ridley (5.1.0) - addressable - buff-config (~> 2.0) - buff-extensions (~> 2.0) - buff-ignore (~> 1.2) - buff-shell_out (~> 1.0) - celluloid (~> 0.16.0) - celluloid-io (~> 0.16.1) - chef-config (>= 12.5.0) - erubis - faraday (~> 0.9.0) - hashie (>= 2.0.2, < 4.0.0) - httpclient (~> 2.7) - json (>= 1.7.7) - mixlib-authentication (>= 1.3.0) - retryable (~> 2.0) - semverse (~> 2.0) - varia_model (~> 0.6) - rspec (3.5.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-core (3.5.4) - rspec-support (~> 3.5.0) - rspec-expectations (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-its (1.2.0) - rspec-core (>= 3.0.0) - rspec-expectations (>= 3.0.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - rubyntlm (0.6.1) - rubyzip (1.2.1) - safe_yaml (1.0.4) - sawyer (0.8.1) - addressable (>= 2.3.5, < 2.6) - faraday (~> 0.8, < 1.0) - semverse (2.0.0) - slop (3.6.0) - solve (3.1.0) - molinillo (>= 0.5) - semverse (>= 1.1, < 3.0) - sslshake (1.1.0) - test-kitchen (1.16.0) - mixlib-install (>= 1.2, < 3.0) - mixlib-shellout (>= 1.2, < 3.0) - net-scp (~> 1.1) - net-ssh (>= 2.9, < 5.0) - net-ssh-gateway (~> 1.2) - safe_yaml (~> 1.0) - thor (~> 0.19, < 0.19.2) - thor (0.19.1) - timers (4.0.4) - hitimes - toml (0.1.2) - parslet (~> 1.5.0) - train (0.23.0) - docker-api (~> 1.26) - json (>= 1.8, < 3.0) - mixlib-shellout (~> 2.0) - net-scp (~> 1.2) - net-ssh (>= 2.9, < 5.0) - winrm (~> 2.0) - winrm-fs (~> 1.0) - varia_model (0.6.0) - buff-extensions (~> 2.0) - hashie (>= 2.0.2, < 4.0.0) - windows_chef_zero (2.0.0) - test-kitchen (>= 1.2.1) - winrm (2.1.3) - builder (>= 2.1.2) - erubis (~> 2.7) - gssapi (~> 1.2) - gyoku (~> 1.0) - httpclient (~> 2.2, >= 2.2.0.2) - logging (>= 1.6.1, < 3.0) - nori (~> 2.0) - rubyntlm (~> 0.6.0, >= 0.6.1) - winrm-elevated (1.1.0) - winrm (~> 2.0) - winrm-fs (~> 1.0) - winrm-fs (1.0.1) - erubis (~> 2.7) - logging (>= 1.6.1, < 3.0) - rubyzip (~> 1.1) - winrm (~> 2.0) - -PLATFORMS - ruby - -DEPENDENCIES - berkshelf - chef-acceptance! - chef-config (< 13.0) - inspec - kitchen-ec2 - kitchen-inspec - kitchen-vagrant - mixlib-install (= 1.2.3) - rake - test-kitchen - windows_chef_zero - winrm-elevated - -BUNDLED WITH - 1.14.6 diff --git a/acceptance/README.md b/acceptance/README.md deleted file mode 100644 index 992129bf2b..0000000000 --- a/acceptance/README.md +++ /dev/null @@ -1,137 +0,0 @@ -# Acceptance Testing for Chef Client - -This folder contains acceptance tests that are required for Chef client release readiness. - -## Getting started - -The tests use the _chef-acceptance_ gem as the high level framework. All the gems needed to run these tests can be installed with Bundler from this directory. - -### Important Note! - -Before running chef-acceptance, you _MUST_ do the following on your current session: - -```shell -export APPBUNDLER_ALLOW_RVM=true -``` - -## Pre-requisites / One time set up - -### Set up for local VM (Vagrant) - -If you intend to run the acceptance tests on a local VM, the supported solution is to use Vagrant. Ensure that Vagrant is installed on the machine that tests will run from, along with a virtualization driver (E.g.: VirtualBox). - -Set up the KITCHEN_DRIVER environment variable appropriately (value should be "vagrant"). E.g.: - -```shell -export KITCHEN_DRIVER=vagrant -``` - -Add this to your shell profile or startup script as needed. - -### Set up for cloud VM (EC2) - -If you intend to run the acceptance tests on a cloud VM, the supported solution is to use EC2. - -The steps you will need to do are: - -1. Add your AWS credentials to the machine - e.g., to the ~/.aws/credentials directory. - - - The easiest way to do this is to download the aws command line (`brew install awscli` on OS/X) and run `aws configure`. - -2. Create or import a SSH key to AWS. (If you already have one, you can skip the import/create) - - - In the AWS console, click Key Pairs, then Create Key Pair or Import Key Pair. - -3. Copy or move the private key file (USERNAME.pem) to the SSH folder (e.g. `~/.ssh/USERNAME.pem`). - - - If you Created a key pair in step 2, download the private key and move it to `~/.ssh`. - - If you Importd a key pair in step 2, just ensure your private key is in `~/.ssh` and has the same name as the key pair (`~/.ssh/USERNAME` or `~/.ssh/USERNAME.pem`). - -4. Set AWS_SSH_KEY_ID to the SSH key name. - - - This is **optional** if your AWS SSH key name is your local username. - - You may want to set this in your shell `.profile`. - - ```shell - export AWS_SSH_KEY_ID=name-of-private-key - ``` - -5. Set the private key to only be readable by root - - ```shell - chmod 0400 ~/.ssh/USERNAME.pem - ``` - -6. Set up the KITCHEN_DRIVER environment variable appropriately (value should be "ec2"). (This is optional, as ec2 is the default.) E.g.: - - ```shell - export KITCHEN_DRIVER=ec2 - ``` - - Add this to your shell profile or startup script as needed. - -7. **Connect to Chef VPN**. The instances you create will not have public IPs! - -## Setting up and running a test suite - -To get started, do a bundle install from the acceptance directory: - -```shell -chef/acceptance$ bundle install --binstubs -``` - -To get some basic info and ensure chef-acceptance can be run, do: - -```shell -chef/acceptance$ bin/chef-acceptance info -``` - -To run a particular test suite, do the following: - -```shell -chef/acceptance$ bin/chef-acceptance test TEST_SUITE -``` - -To restrict which OS's will run, use the KITCHEN_INSTANCES environment variable: - -```shell -chef/acceptance$ export KITCHEN_INSTANCES=*-ubuntu-1404 -chef/acceptance$ bin/chef-acceptance test cookbook-git -``` - -If KITCHEN_INSTANCES is not specified, the default instances are default-ubuntu-1404 and default-windows-windows-2012r2\. All selected instances will be run in _parallel_ if the driver supports it (ec2 does, vagrant doesn't). - -## Optional Settings - -In addition to the environment settings above, there are a number of key values that are available to set for changing the way the acceptance tests are run. - -### KITCHEN_CHEF_CHANNEL - -Use this setting to specify which channel we will pull the chef build from. The default is to use the "current" channel, unless the ARTIFACTORY_USERNAME is set (which normally happens when running under Jenkins), in which case the default is changed to "unstable". - -```shell -export KITCHEN_CHEF_CHANNEL=name-of-channel -``` - -### KITCHEN_CHEF_VERSION - -Use this setting to override the version of the Chef client that is installed. The default is to get the latest version in the desired channel. - -```shell -export KITCHEN_CHEF_VERSION=version-of-chef-client -``` - -### ARTIFACTORY_USERNAME / ARTIFACTORY_PASSWORD - -If the desired channel to get the Chef client from is "unstable", the following settings need to be exported: - -```shell -export ARTIFACTORY_USERNAME=username -export ARTIFACTORY_PASSWORD=password -``` - -## Future Work - -Currently, there is no simple mechanism for chef-acceptance to build an Omnibus package of the developers local chef instance and run acceptance tests on it - the only packages that can be exercised are ones that come from one of the pipeline channels (unstable, current or stable). - -This is not an issue when adding acceptance tests for pre-existing functionality (as that functionality is presumed to already be in a build in one of the pipeline channels). diff --git a/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore b/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore deleted file mode 100644 index 041413b040..0000000000 --- a/acceptance/basics/.acceptance/acceptance-cookbook/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -nodes/ -tmp/ diff --git a/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb b/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb deleted file mode 100644 index 2b7547b70d..0000000000 --- a/acceptance/basics/.acceptance/acceptance-cookbook/metadata.rb +++ /dev/null @@ -1,3 +0,0 @@ -name 'acceptance-cookbook' - -depends "kitchen_acceptance" diff --git a/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb b/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb deleted file mode 100644 index e2d663ac2f..0000000000 --- a/acceptance/basics/.acceptance/acceptance-cookbook/recipes/destroy.rb +++ /dev/null @@ -1 +0,0 @@ -kitchen "destroy" diff --git a/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb b/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb deleted file mode 100644 index 5726c0e7b5..0000000000 --- a/acceptance/basics/.acceptance/acceptance-cookbook/recipes/provision.rb +++ /dev/null @@ -1 +0,0 @@ -kitchen "converge" diff --git a/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb b/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb deleted file mode 100644 index 05ac94ce66..0000000000 --- a/acceptance/basics/.acceptance/acceptance-cookbook/recipes/verify.rb +++ /dev/null @@ -1 +0,0 @@ -kitchen "verify" diff --git a/acceptance/basics/.kitchen.yml b/acceptance/basics/.kitchen.yml deleted file mode 100644 index 4b7a516396..0000000000 --- a/acceptance/basics/.kitchen.yml +++ /dev/null @@ -1,4 +0,0 @@ -suites: - - name: chef-current-install - includes: [ubuntu-14.04, windows-server-2012r2] - run_list: diff --git a/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb b/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb deleted file mode 100644 index 6c5a1d7f58..0000000000 --- a/acceptance/basics/test/integration/chef-current-install/serverspec/chef_client_spec.rb +++ /dev/null @@ -1,19 +0,0 @@ - -require "spec_helper" - -gem_path = "/opt/chef/embedded/bin/gem" -white_list = %w{addressable chef-config json minitest rake} - -describe "gem list" do - it "should not have non-whitelisted duplicate gems" do - gems = command("#{gem_path} list").stdout - - duplicate_gems = gems.lines().select { |l| l.include?(",") }.collect { |l| l.split(" ").first } - puts "Duplicate gems found: #{duplicate_gems}" if duplicate_gems.length > 0 - - non_whitelisted_duplicates = duplicate_gems.select { |l| !white_list.include?(l) } - puts "Non white listed duplicates: #{non_whitelisted_duplicates}" if non_whitelisted_duplicates.length > 0 - - (non_whitelisted_duplicates.length).should be == 0 - end -end diff --git a/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb b/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb deleted file mode 100644 index 7189ddb13b..0000000000 --- a/acceptance/basics/test/integration/chef-current-install/serverspec/spec_helper.rb +++ /dev/null @@ -1,6 +0,0 @@ -require "serverspec" -require "pathname" - -set :backend, :exec - -set :path, "/bin:/usr/local/bin:$PATH" diff --git a/acceptance/basics/test/integration/helpers/serverspec/Gemfile b/acceptance/basics/test/integration/helpers/serverspec/Gemfile deleted file mode 100644 index b56d1e1298..0000000000 --- a/acceptance/basics/test/integration/helpers/serverspec/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -source "https://rubygems.org" - -# Until https://github.com/test-kitchen/busser-serverspec/pull/42 is merged and -# released, we need to include rake and rspec-core in the Gemfile -gem "rake" -gem "rspec-core" -gem "busser-serverspec" -gem "serverspec" diff --git a/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore b/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore deleted file mode 100644 index 041413b040..0000000000 --- a/acceptance/data-collector/.acceptance/acceptance-cookbook/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -nodes/ -tmp/ diff --git a/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb b/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb deleted file mode 100644 index 68fc3af2dd..0000000000 --- a/acceptance/data-collector/.acceptance/acceptance-cookbook/metadata.rb +++ /dev/null @@ -1,3 +0,0 @@ -name 'acceptance-cookbook' -depends "kitchen_acceptance" -depends "data-collector-test" diff --git a/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb b/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb deleted file mode 100644 index 7f4be2c7f7..0000000000 --- a/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/destroy.rb +++ /dev/null @@ -1,2 +0,0 @@ -log "Running 'destroy' recipe from the acceptance-cookbook in directory '#{node['chef-acceptance']['suite-dir']}'" -kitchen "destroy" diff --git a/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb b/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb deleted file mode 100644 index c707e874f0..0000000000 --- a/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/provision.rb +++ /dev/null @@ -1,2 +0,0 @@ -log "Running 'provision' recipe from the acceptance-cookbook in directory '#{node['chef-acceptance']['suite-dir']}'" -kitchen "converge" diff --git a/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb b/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb deleted file mode 100644 index e4a547272b..0000000000 --- a/acceptance/data-collector/.acceptance/acceptance-cookbook/recipes/verify.rb +++ /dev/null @@ -1,2 +0,0 @@ -log "Running 'verify' recipe from the acceptance-cookbook in directory '#{node['chef-acceptance']['suite-dir']}'" -kitchen "verify" diff --git a/acceptance/data-collector/.acceptance/data-collector-test/.gitignore b/acceptance/data-collector/.acceptance/data-collector-test/.gitignore deleted file mode 100644 index f0c21602ee..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -.vagrant -Berksfile.lock -*~ -*# -.#* -\#*# -.*.sw[a-z] -*.un~ - -# Bundler -Gemfile.lock -bin/* -.bundle/* - -.kitchen/ -kitchen.local.yml diff --git a/acceptance/data-collector/.acceptance/data-collector-test/Berksfile b/acceptance/data-collector/.acceptance/data-collector-test/Berksfile deleted file mode 100644 index 34fea2166b..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/Berksfile +++ /dev/null @@ -1,3 +0,0 @@ -source 'https://supermarket.chef.io' - -metadata diff --git a/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb b/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb deleted file mode 100644 index fcfc704d29..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/files/default/api.rb +++ /dev/null @@ -1,101 +0,0 @@ -require "json" -require "sinatra" - -class Chef - class Node - # dummy class for JSON parsing - end -end - -module ApiHelpers - def self.payload_type(payload) - message_type = payload["message_type"] - status = payload["status"] - - message_type == "run_converge" ? "#{message_type}.#{status}" : message_type - end -end - -class Counter - class << self - attr_accessor :counters - - def counters - @counters ||= Hash.new { |h, k| h[k] = 0 } - end - - def reset - @counters = nil - end - - def increment(payload) - counter_name = ApiHelpers.payload_type(payload) - counters[counter_name] += 1 - end - - def to_json - counters.to_json - end - end -end - -class MessageCache - include ApiHelpers - - class << self - attr_accessor :message_cache - - def message_cache - @message_cache ||= {} - end - - def reset - @message_cache = nil - end - - def store(payload) - cache_key = ApiHelpers.payload_type(payload) - - message_cache[cache_key] = payload - end - - def fetch(cache_key) - message_cache[cache_key].to_json - end - end -end - -Counter.reset - -get "/" do - "Data Collector API server" -end - -get "/reset-counters" do - Counter.reset - "counters reset" -end - -get "/counters" do - Counter.to_json -end - -get "/cache/:key" do |cache_key| - MessageCache.fetch(cache_key) -end - -get "/reset-cache" do - MessageCache.reset - "cache reset" -end - -post "/data-collector/v0" do - body = request.body.read - payload = JSON.load(body) - - Counter.increment(payload) - MessageCache.store(payload) - - status 201 - "message received" -end diff --git a/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile b/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile deleted file mode 100644 index 94fc334d88..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/files/default/apigemfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://rubygems.org" - -gem "sinatra" diff --git a/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb b/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb deleted file mode 100644 index 89f3555be1..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-both-mode.rb +++ /dev/null @@ -1,4 +0,0 @@ -chef_server_url "http://localhost:8889" -node_name "data-collector-test" -data_collector.server_url "http://localhost:9292/data-collector/v0" -data_collector.mode :both diff --git a/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb b/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb deleted file mode 100644 index 8e3f0c4845..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-client-mode.rb +++ /dev/null @@ -1,4 +0,0 @@ -chef_server_url "http://localhost:8889" -node_name "data-collector-test" -data_collector.server_url "http://localhost:9292/data-collector/v0" -data_collector.mode :client diff --git a/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb b/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb deleted file mode 100644 index f8374107ea..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-no-endpoint.rb +++ /dev/null @@ -1,2 +0,0 @@ -chef_server_url "http://localhost:8889" -node_name "data-collector-test" diff --git a/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb b/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb deleted file mode 100644 index 904e952e85..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/files/default/client-rb-solo-mode.rb +++ /dev/null @@ -1,4 +0,0 @@ -chef_server_url "http://localhost:8889" -node_name "data-collector-test" -data_collector.server_url "http://localhost:9292/data-collector/v0" -data_collector.mode :solo diff --git a/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru b/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru deleted file mode 100644 index 81cf29d9fb..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/files/default/config.ru +++ /dev/null @@ -1,2 +0,0 @@ -require_relative "./api" -run Sinatra::Application diff --git a/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb b/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb deleted file mode 100644 index 34402c8af1..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/metadata.rb +++ /dev/null @@ -1,7 +0,0 @@ -name 'data-collector-test' -maintainer 'Adam Leff' -maintainer_email 'adamleff@chef.io' -license 'Apache-2.0' -description 'Installs/Configures data-collector-test' -long_description 'Installs/Configures data-collector-test' -version '0.1.0' diff --git a/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb b/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb deleted file mode 100644 index 61915c54b7..0000000000 --- a/acceptance/data-collector/.acceptance/data-collector-test/recipes/default.rb +++ /dev/null @@ -1,44 +0,0 @@ - -embedded_path = "/opt/chef/embedded/bin:#{ENV["PATH"]}" - -api_root_dir = "/var/opt/data_collector_api" - -directory api_root_dir do - recursive true -end - -cookbook_file ::File.join(api_root_dir, "Gemfile") do - source "apigemfile" -end - -cookbook_file ::File.join(api_root_dir, "config.ru") - -cookbook_file ::File.join(api_root_dir, "api.rb") - -execute "bundle install --binstubs" do - cwd api_root_dir - environment({ "PATH" => embedded_path }) -end - -pid_file = "/var/run/api.pid" -running_pid = ::File.exist?(pid_file) ? ::File.read(pid_file).strip : nil - -execute "kill existing API process" do - command "kill #{running_pid}" - environment({ "PATH" => embedded_path }) - not_if { running_pid.nil? } -end - -execute "start API" do - command "bin/rackup -D -P #{pid_file}" - environment({ "PATH" => embedded_path }) - cwd api_root_dir -end - -directory "/etc/chef" - -["both-mode", "client-mode", "no-endpoint", "solo-mode"].each do |config_file| - cookbook_file "/etc/chef/#{config_file}.rb" do - source "client-rb-#{config_file}.rb" - end -end diff --git a/acceptance/data-collector/.kitchen.yml b/acceptance/data-collector/.kitchen.yml deleted file mode 100644 index f719e3ea69..0000000000 --- a/acceptance/data-collector/.kitchen.yml +++ /dev/null @@ -1,9 +0,0 @@ -verifier: - name: busser - -suites: - - name: default - includes: - - ubuntu-14.04 - run_list: - - recipe[data-collector-test::default] diff --git a/acceptance/data-collector/Berksfile b/acceptance/data-collector/Berksfile deleted file mode 100644 index b8f003071b..0000000000 --- a/acceptance/data-collector/Berksfile +++ /dev/null @@ -1,3 +0,0 @@ -source "https://supermarket.chef.io" - -cookbook "data-collector-test", path: File.join(File.expand_path(File.dirname(__FILE__)), ".acceptance", "data-collector-test") diff --git a/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb b/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb deleted file mode 100644 index 040fbcbcca..0000000000 --- a/acceptance/data-collector/test/integration/default/serverspec/default_spec.rb +++ /dev/null @@ -1,208 +0,0 @@ -# -# Author:: Adam Leff (<adamleff@chef.io) -# -# Copyright:: Copyright 2012-2016, Chef Software Inc. -# License:: Apache License, Version 2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require "json" -require "serverspec" - -set :backend, :exec - -class Chef - class Node - # dummy class for parsing JSON action messages - end -end - -shared_examples_for "reset counters" do - it "resets the counters" do - expect(command("curl http://localhost:9292/reset-counters").exit_status).to eq(0) - end -end - -shared_examples_for "reset cache" do - it "resets the message cache" do - expect(command("curl http://localhost:9292/reset-cache").exit_status).to eq(0) - end -end - -shared_examples_for "successful chef run" do |cmd| - include_examples "reset counters" - include_examples "reset cache" - - it "runs chef and expects a zero exit status" do - expect(command(cmd).exit_status).to eq(0) - end -end - -shared_examples_for "unsuccessful chef run" do |cmd| - include_examples "reset counters" - include_examples "reset cache" - - it "runs chef and expects a non-zero exit status" do - expect(command(cmd).exit_status).not_to eq(0) - end -end - -shared_examples_for "counter checks" do |counters_to_check| - counters_to_check.each do |counter, value| - it "counter #{counter} should equal #{value.inspect}" do - counter_values = JSON.load(command("curl http://localhost:9292/counters").stdout) - expect(counter_values[counter]).to eq(value) - end - end -end - -shared_examples_for "run_start payload check" do - describe "run_start message" do - let(:required_fields) do - %w{ - chef_server_fqdn - entity_uuid - id - message_version - message_type - node_name - organization_name - run_id - source - start_time - } - end - let(:optional_fields) { [] } - - it "is not missing any required fields" do - payload = JSON.load(command("curl http://localhost:9292/cache/run_start").stdout) - missing_fields = required_fields.select { |key| !payload.key?(key) } - expect(missing_fields).to eq([]) - end - - end -end - -shared_examples_for "run_converge.success payload check" do - describe "run_converge success message" do - let(:required_fields) do - %w{ - chef_server_fqdn - entity_uuid - id - end_time - expanded_run_list - message_type - message_version - node - node_name - organization_name - policy_name - policy_group - resources - run_id - run_list - source - start_time - status - total_resource_count - updated_resource_count - deprecations - } - end - let(:optional_fields) { [] } - - it "is not missing any required fields" do - payload = JSON.load(command("curl http://localhost:9292/cache/run_converge.success").stdout) - missing_fields = required_fields.select { |key| !payload.key?(key) } - expect(missing_fields).to eq([]) - end - - end -end - -shared_examples_for "run_converge.failure payload check" do - describe "run_converge failure message" do - let(:required_fields) do - %w{ - chef_server_fqdn - entity_uuid - error - id - end_time - expanded_run_list - message_type - message_version - node - node_name - organization_name - policy_name - policy_group - resources - run_id - run_list - source - start_time - status - total_resource_count - updated_resource_count - deprecations - } - end - let(:optional_fields) { [] } - - it "is not missing any required fields" do - payload = JSON.load(command("curl http://localhost:9292/cache/run_converge.failure").stdout) - missing_fields = required_fields.select { |key| !payload.key?(key) } - expect(missing_fields).to eq([]) - end - - it "does not have any extra fields" do - payload = JSON.load(command("curl http://localhost:9292/cache/run_converge.failure").stdout) - extra_fields = payload.keys.select { |key| !required_fields.include?(key) && !optional_fields.include?(key) } - expect(extra_fields).to eq([]) - end - end -end - -describe "CCR with no data collector URL configured" do - include_examples "successful chef run", "chef-client -z -c /etc/chef/no-endpoint.rb" - include_examples "counter checks", { "run_start" => nil, "run_converge.success" => nil, "run_converge.failure" => nil } -end - -describe "CCR, local mode, config in solo mode" do - include_examples "successful chef run", "chef-client -z -c /etc/chef/solo-mode.rb" - include_examples "counter checks", { "run_start" => 1, "run_converge.success" => 1, "run_converge.failure" => nil } - include_examples "run_start payload check" - include_examples "run_converge.success payload check" -end - -describe "CCR, local mode, config in client mode" do - include_examples "successful chef run", "chef-client -z -c /etc/chef/client-mode.rb" - include_examples "counter checks", { "run_start" => nil, "run_converge.success" => nil, "run_converge.failure" => nil } -end - -describe "CCR, local mode, config in both mode" do - include_examples "successful chef run", "chef-client -z -c /etc/chef/both-mode.rb" - include_examples "counter checks", { "run_start" => 1, "run_converge.success" => 1, "run_converge.failure" => nil } - include_examples "run_start payload check" - include_examples "run_converge.success payload check" -end - -describe "CCR, local mode, config in solo mode, failed run" do - include_examples "unsuccessful chef run", "chef-client -z -c /etc/chef/solo-mode.rb -r 'recipe[cookbook-that-does-not-exist::default]'" - include_examples "counter checks", { "run_start" => 1, "run_converge.success" => nil, "run_converge.failure" => 1 } - include_examples "run_start payload check" - include_examples "run_converge.failure payload check" -end diff --git a/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile b/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile deleted file mode 100644 index b56d1e1298..0000000000 --- a/acceptance/data-collector/test/integration/helpers/serverspec/Gemfile +++ /dev/null @@ -1,8 +0,0 @@ -source "https://rubygems.org" - -# Until https://github.com/test-kitchen/busser-serverspec/pull/42 is merged and -# released, we need to include rake and rspec-core in the Gemfile -gem "rake" -gem "rspec-core" -gem "busser-serverspec" -gem "serverspec" diff --git a/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore b/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore deleted file mode 100644 index 041413b040..0000000000 --- a/acceptance/omnitruck/.acceptance/acceptance-cookbook/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -nodes/ -tmp/ diff --git a/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb b/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb deleted file mode 100644 index 4c7c42d9bd..0000000000 --- a/acceptance/omnitruck/.acceptance/acceptance-cookbook/metadata.rb +++ /dev/null @@ -1 +0,0 @@ -name 'acceptance-cookbook' diff --git a/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb b/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb deleted file mode 100644 index f890b597fe..0000000000 --- a/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/destroy.rb +++ /dev/null @@ -1 +0,0 @@ -log "NOOP 'destroy' recipe from the acceptance-cookbook in directory '#{node['chef-acceptance']['suite-dir']}'" diff --git a/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb b/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb deleted file mode 100644 index 64ef7581ac..0000000000 --- a/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/provision.rb +++ /dev/null @@ -1 +0,0 @@ -log "NOOP 'provision' recipe from the acceptance-cookbook in directory '#{node['chef-acceptance']['suite-dir']}'" diff --git a/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb b/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb deleted file mode 100644 index 7db51450e1..0000000000 --- a/acceptance/omnitruck/.acceptance/acceptance-cookbook/recipes/verify.rb +++ /dev/null @@ -1,61 +0,0 @@ -control_group "omnitruck" do - require 'chef/http' - require 'chef/json_compat' - - # We do this to be able to reference 'rest' both inside and outside example - # blocks - rest = Chef::HTTP.new("https://omnitruck.chef.io/chef/metadata", headers: {"Accept" => "application/json"}) - let(:rest) { rest } - - def request(url) - Chef::JSONCompat.parse(rest.get(url))["sha256"] - end - - shared_examples "32 matches 64" do |version| - it "only returns 32-bit packages" do - sha32 = request("?p=windows&pv=2012r2&v=#{version}&m=i386") - sha64 = request("?p=windows&pv=2012r2&v=#{version}&m=x86_64") - expect(sha32).to eq(sha64) - end - end - - context "from the current channel" do - it "returns both 32-bit and 64-bit packages" do - # We cannot verify from the returned URL if the package is 64 or 32 bit because - # it is often lying, so we just make sure they are different. - # The current channel is often cleaned so only the latest builds are in - # it, so we just request the latest version instead of trying to check - # old versions - sha32 = request("?p=windows&pv=2012r2&m=i386&prerelease=true") - sha64 = request("?p=windows&pv=2012r2&m=x86_64&prerelease=true") - expect(sha32).to_not eq(sha64) - end - end - - context "from the stable channel" do - %w{11 12.3 12.4.2 12.6.0 12.8.1}.each do |version| - describe "with version #{version}" do - include_examples "32 matches 64", version - end - end - - begin - rest.get("?p=windows&pv=2012r2&v=12.9") - describe "with version 12.9" do - it "returns both 32-bit and 64-bit packages" do - sha32 = request("?p=windows&pv=2012r2&v=12.9&m=i386") - sha64 = request("?p=windows&pv=2012r2&v=12.9&m=x86_64") - expect(sha32).to_not eq(sha64) - end - end - rescue Net::HTTPServerException => e - # Once 12.9 is released this will stop 404ing and the example - # will be executed - unless e.response.code == "404" - raise - end - end - - end - -end diff --git a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore b/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore deleted file mode 100644 index 041413b040..0000000000 --- a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -nodes/ -tmp/ diff --git a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb b/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb deleted file mode 100644 index 5d851a6ac6..0000000000 --- a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/cookbook_kitchen.rb +++ /dev/null @@ -1,43 +0,0 @@ -class CookbookKitchen < KitchenAcceptance::Kitchen - resource_name :cookbook_kitchen - - property :command, default: lazy { name.split(" ")[0] } - property :kitchen_dir, default: lazy { ::File.join(repository_root, cookbook_relative_dir) } - property :test_cookbook, String, default: lazy { name.split(" ")[1] } - property :repository, String, default: lazy { "chef-cookbooks/#{test_cookbook}" }, - coerce: proc { |v| - # chef-cookbooks/runit -> https://github.com/chef-cookbooks/runit.git - if !v.include?(':') - "https://github.com/#{v}.git" - else - v - end - } - property :repository_root, String, default: lazy { ::File.join(Chef.node["chef-acceptance"]["suite-dir"], "test_run", test_cookbook) } - property :branch, String, default: "master" - property :cookbook_relative_dir, String, default: "" - property :env, default: lazy { - { - "BUNDLE_GEMFILE" => ::File.expand_path("../Gemfile", Chef.node["chef-acceptance"]["suite-dir"]), -# "KITCHEN_GLOBAL_YAML" => ::File.join(kitchen_dir, ".kitchen.yml"), - "KITCHEN_YAML" => ::File.join(node["chef-acceptance"]["suite-dir"], ".kitchen.#{test_cookbook}.yml") - } - } - - action :run do - # Ensure the parent directory exists - directory ::File.expand_path("..", repository_root) do - recursive true - end - - # Grab the cookbook - # TODO Grab the source URL from supermarket - # TODO get git to include its kitchen tests in the cookbook. - git repository_root do - repository new_resource.repository - branch new_resource.branch - end - - super() - end -end diff --git a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb b/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb deleted file mode 100644 index dec292567c..0000000000 --- a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/libraries/top_cookbooks.rb +++ /dev/null @@ -1,41 +0,0 @@ -class TopCookbooks < Chef::Resource - resource_name :top_cookbooks - - property :command, String, name_property: true - - # Disabling all windows tests until winrm issue is properly settled. - # - action :run do - - # FIXME: waiting for https://github.com/learn-chef/learn-chef-acceptance/pull/23 - # cookbook_kitchen "#{command} learn-the-basics-ubuntu" do - # repository "learn-chef/learn-chef-acceptance" - # cookbook_relative_dir "cookbooks/learn-the-basics-ubuntu" - # end - - # cookbook_kitchen "#{command} learn-the-basics-windows" do - # repository "learn-chef/learn-chef-acceptance" - # cookbook_relative_dir "cookbooks/learn-the-basics-windows" - # end - - cookbook_kitchen "#{command} powershell" do - end - - cookbook_kitchen "#{command} iis" do - end - - cookbook_kitchen "#{command} sql_server" do - end - - cookbook_kitchen "#{command} winbox" do - repository "adamedx/winbox" - end - - # cookbook_kitchen "#{command} windows" do - # end - - # cookbook_kitchen "#{command} chocolatey" do - # repository "chocolatey/chocolatey-cookbook" - # end - end -end diff --git a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb b/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb deleted file mode 100644 index 26cdab4e99..0000000000 --- a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/metadata.rb +++ /dev/null @@ -1,3 +0,0 @@ -name "acceptance-cookbook" - -depends "kitchen_acceptance" diff --git a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb b/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb deleted file mode 100644 index 63d10e86e4..0000000000 --- a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/destroy.rb +++ /dev/null @@ -1 +0,0 @@ -top_cookbooks "destroy" diff --git a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb b/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb deleted file mode 100644 index 7b16f8e66f..0000000000 --- a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/provision.rb +++ /dev/null @@ -1 +0,0 @@ -top_cookbooks "converge" diff --git a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb b/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb deleted file mode 100644 index 8d00a2e301..0000000000 --- a/acceptance/top-cookbooks/.acceptance/acceptance-cookbook/recipes/verify.rb +++ /dev/null @@ -1 +0,0 @@ -top_cookbooks "verify" diff --git a/acceptance/top-cookbooks/.gitignore b/acceptance/top-cookbooks/.gitignore deleted file mode 100644 index 306f0cce57..0000000000 --- a/acceptance/top-cookbooks/.gitignore +++ /dev/null @@ -1 +0,0 @@ -test_run/ diff --git a/acceptance/top-cookbooks/.kitchen.chocolatey.yml b/acceptance/top-cookbooks/.kitchen.chocolatey.yml deleted file mode 100644 index 7d7529d69f..0000000000 --- a/acceptance/top-cookbooks/.kitchen.chocolatey.yml +++ /dev/null @@ -1,6 +0,0 @@ -suites: - - name: default - run_list: - - recipe[chocolatey::default] - - recipe[chocolatey_test::default] - includes: [windows-2012r2] diff --git a/acceptance/top-cookbooks/.kitchen.iis.yml b/acceptance/top-cookbooks/.kitchen.iis.yml deleted file mode 100644 index ffbc23caba..0000000000 --- a/acceptance/top-cookbooks/.kitchen.iis.yml +++ /dev/null @@ -1,4 +0,0 @@ -suites: - - name: iis - run_list: ["recipe[iis::default]"] - includes: [windows-2012r2] diff --git a/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml b/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml deleted file mode 100644 index 6cbf1b50fa..0000000000 --- a/acceptance/top-cookbooks/.kitchen.learn-the-basics-rhel.yml +++ /dev/null @@ -1,7 +0,0 @@ -suites: - - name: learn-the-basics-rhel-default - run_list: - - recipe[learn-the-basics-rhel::setup] - - recipe[learn-the-basics-rhel::lesson1] - - recipe[learn-the-basics-rhel::lesson2] - includes: [el-6] diff --git a/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml b/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml deleted file mode 100644 index 8d54ff94cb..0000000000 --- a/acceptance/top-cookbooks/.kitchen.learn-the-basics-ubuntu.yml +++ /dev/null @@ -1,7 +0,0 @@ -suites: - - name: learn-the-basics-ubuntu-default - run_list: - - recipe[learn-the-basics-ubuntu::setup] - - recipe[learn-the-basics-ubuntu::lesson1] - - recipe[learn-the-basics-ubuntu::lesson2] - includes: [ubuntu-14.04] diff --git a/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml b/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml deleted file mode 100644 index 2704577537..0000000000 --- a/acceptance/top-cookbooks/.kitchen.learn-the-basics-windows.yml +++ /dev/null @@ -1,7 +0,0 @@ -suites: - - name: learn-the-basics-windows-default - run_list: - - recipe[learn-the-basics-windows::setup] - - recipe[learn-the-basics-windows::lesson1] - - recipe[learn-the-basics-windows::lesson2] - includes: [windows-2012r2] diff --git a/acceptance/top-cookbooks/.kitchen.powershell.yml b/acceptance/top-cookbooks/.kitchen.powershell.yml deleted file mode 100644 index 6fad2364bb..0000000000 --- a/acceptance/top-cookbooks/.kitchen.powershell.yml +++ /dev/null @@ -1,4 +0,0 @@ -suites: - - name: powershell - run_list: ["recipe[powershell::powershell2]"] - includes: [windows-2012r2] diff --git a/acceptance/top-cookbooks/.kitchen.sql_server.yml b/acceptance/top-cookbooks/.kitchen.sql_server.yml deleted file mode 100644 index 51a6bd6616..0000000000 --- a/acceptance/top-cookbooks/.kitchen.sql_server.yml +++ /dev/null @@ -1,5 +0,0 @@ -suites: - - name: sql_server - run_list: ["recipe[sql_server::default]"] - attributes: { sql_server: { accept_eula: true } } - includes: [windows-2012r2] diff --git a/acceptance/top-cookbooks/.kitchen.winbox.yml b/acceptance/top-cookbooks/.kitchen.winbox.yml deleted file mode 100644 index 9cf39a0d5b..0000000000 --- a/acceptance/top-cookbooks/.kitchen.winbox.yml +++ /dev/null @@ -1,8 +0,0 @@ -suites: - - name: default - run_list: - - recipe[winbox::default] - includes: [windows-2012r2] - -verifier: - name: dummy diff --git a/acceptance/top-cookbooks/.kitchen.windows.yml b/acceptance/top-cookbooks/.kitchen.windows.yml deleted file mode 100644 index 38c86ff322..0000000000 --- a/acceptance/top-cookbooks/.kitchen.windows.yml +++ /dev/null @@ -1,38 +0,0 @@ -suites: - # Waiting on https://github.com/chef-cookbooks/windows/pull/350 - # - name: tasks - # run_list: - # - recipe[windows::default] - # - recipe[minimal::tasks] - # includes: [windows-2012r2] - - name: path - run_list: - - recipe[windows::default] - - recipe[minimal::path] - includes: [windows-2012r2] - - name: certificate - run_list: - - recipe[windows::default] - - recipe[minimal::certificate] - includes: [windows-2012r2] - # Package is deprecated - # - name: package - # run_list: - # - recipe[windows::default] - # - recipe[minimal::package] - # includes: [windows-2012r2] - - name: feature - run_list: - - recipe[windows::default] - - recipe[minimal::feature] - includes: [windows-2012r2] - - name: http_acl - run_list: - - recipe[windows::default] - - recipe[minimal::http_acl] - includes: [windows-2012r2] - - name: font - run_list: - - recipe[windows::default] - - recipe[minimal::font] - includes: [windows-2012r2] diff --git a/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore b/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore deleted file mode 100644 index 041413b040..0000000000 --- a/acceptance/trivial/.acceptance/acceptance-cookbook/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -nodes/ -tmp/ diff --git a/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb b/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb deleted file mode 100644 index 6c754560f0..0000000000 --- a/acceptance/trivial/.acceptance/acceptance-cookbook/metadata.rb +++ /dev/null @@ -1,2 +0,0 @@ -name "acceptance-cookbook" -depends "kitchen_acceptance" diff --git a/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb b/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb deleted file mode 100644 index e2d663ac2f..0000000000 --- a/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/destroy.rb +++ /dev/null @@ -1 +0,0 @@ -kitchen "destroy" diff --git a/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb b/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb deleted file mode 100644 index a6f148f7ad..0000000000 --- a/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/provision.rb +++ /dev/null @@ -1 +0,0 @@ -kitchen "setup" diff --git a/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb b/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb deleted file mode 100644 index 05ac94ce66..0000000000 --- a/acceptance/trivial/.acceptance/acceptance-cookbook/recipes/verify.rb +++ /dev/null @@ -1 +0,0 @@ -kitchen "verify" diff --git a/acceptance/trivial/.kitchen.yml b/acceptance/trivial/.kitchen.yml deleted file mode 100644 index 0db67c468f..0000000000 --- a/acceptance/trivial/.kitchen.yml +++ /dev/null @@ -1,7 +0,0 @@ -verifier: - name: inspec - -suites: - - name: chef-current-install - includes: [ubuntu-14.04, windows-server-2012r2] - run_list: diff --git a/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb b/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb deleted file mode 100644 index 05c1331744..0000000000 --- a/acceptance/trivial/test/integration/chef-current-install/inspec/chef_client_spec.rb +++ /dev/null @@ -1,5 +0,0 @@ -chef_version = ENV["KITCHEN_CHEF_VERSION"].split("+")[0] -describe command("chef-client -v") do - its("exit_status") { should eq 0 } - its(:stdout) { should match /Chef: #{chef_version}/ } if chef_version != "latest" -end diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore b/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore deleted file mode 100644 index 041413b040..0000000000 --- a/acceptance/windows-service/.acceptance/acceptance-cookbook/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -nodes/ -tmp/ diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb b/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb deleted file mode 100644 index 6c754560f0..0000000000 --- a/acceptance/windows-service/.acceptance/acceptance-cookbook/metadata.rb +++ /dev/null @@ -1,2 +0,0 @@ -name "acceptance-cookbook" -depends "kitchen_acceptance" diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb deleted file mode 100644 index e12f938cf3..0000000000 --- a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/destroy.rb +++ /dev/null @@ -1 +0,0 @@ -#kitchen "destroy" diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb deleted file mode 100644 index cec9de4e5d..0000000000 --- a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/provision.rb +++ /dev/null @@ -1 +0,0 @@ -#kitchen "converge" diff --git a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb b/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb deleted file mode 100644 index 52e3560cf6..0000000000 --- a/acceptance/windows-service/.acceptance/acceptance-cookbook/recipes/verify.rb +++ /dev/null @@ -1 +0,0 @@ -#kitchen "verify" diff --git a/acceptance/windows-service/.kitchen.yml b/acceptance/windows-service/.kitchen.yml deleted file mode 100644 index 5270e81487..0000000000 --- a/acceptance/windows-service/.kitchen.yml +++ /dev/null @@ -1,7 +0,0 @@ -verifier: - name: inspec - -suites: - - name: chef-windows-service - includes: [windows-2012r2] - run_list: diff --git a/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb b/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb deleted file mode 100644 index 75383b69bf..0000000000 --- a/acceptance/windows-service/test/integration/chef-windows-service/inspec/chef_windows_service_spec.rb +++ /dev/null @@ -1,58 +0,0 @@ -only_if do - os["family"] == "windows" -end - -describe command("chef-service-manager") do - it { should exist } - its("exit_status") { should eq 0 } -end - -describe service("chef-client") do - it { should_not be_enabled } - it { should_not be_installed } - it { should_not be_running } -end - -describe command("/opscode/chef/bin/chef-service-manager.bat -a install") do - its("exit_status") { should eq 0 } - its(:stdout) { should match /Service 'chef-client' has successfully been installed./ } -end - -describe service("chef-client") do - it { should be_enabled } - it { should be_installed } - it { should_not be_running } -end - -describe command("/opscode/chef/bin/chef-service-manager.bat -a start") do - its("exit_status") { should eq 0 } - its(:stdout) { should match /Service 'chef-client' is now 'running'/ } -end - -describe service("chef-client") do - it { should be_enabled } - it { should be_installed } - it { should be_running } -end - -describe command("/opscode/chef/bin/chef-service-manager.bat -a stop") do - its("exit_status") { should eq 0 } - its(:stdout) { should match /Service 'chef-client' is now 'stopped'/ } -end - -describe service("chef-client") do - it { should be_enabled } - it { should be_installed } - it { should_not be_running } -end - -describe command("/opscode/chef/bin/chef-service-manager.bat -a uninstall") do - its("exit_status") { should eq 0 } - its(:stdout) { should match /Service chef-client deleted/ } -end - -describe service("chef-client") do - it { should_not be_enabled } - it { should_not be_installed } - it { should_not be_running } -end |