summaryrefslogtreecommitdiff
path: root/spec/run_pedant.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/run_pedant.rb')
-rw-r--r--spec/run_pedant.rb103
1 files changed, 0 insertions, 103 deletions
diff --git a/spec/run_pedant.rb b/spec/run_pedant.rb
deleted file mode 100644
index 30ffa2d..0000000
--- a/spec/run_pedant.rb
+++ /dev/null
@@ -1,103 +0,0 @@
-#!/usr/bin/env ruby
-require 'bundler'
-require 'bundler/setup'
-
-require 'chef_zero/server'
-require 'rspec/core'
-
-tmpdir = nil
-
-def start_local_server(chef_repo_path)
- Dir.mkdir(chef_repo_path) if !File.exists?(chef_repo_path)
-
- # 11.6 and below had a bug where it couldn't create the repo children automatically
- if Chef::VERSION.to_f < 11.8
- %w(clients cookbooks data_bags environments nodes roles users).each do |child|
- Dir.mkdir("#{chef_repo_path}/#{child}") if !File.exists?("#{chef_repo_path}/#{child}")
- end
- end
-
- # Start the new server
- Chef::Config.repo_mode = 'everything'
- Chef::Config.chef_repo_path = chef_repo_path
- Chef::Config.versioned_cookbooks = true
- chef_fs = Chef::ChefFS::Config.new.local_fs
- data_store = Chef::ChefFS::ChefFSDataStore.new(chef_fs)
- server = ChefZero::Server.new(:port => 8889, :data_store => data_store)
- ENV['SINGLE_ORG'] = 'true'
- server.start_background
- server
-end
-
-begin
- if ENV['CHEF_FS']
- require 'chef/chef_fs/chef_fs_data_store'
- require 'chef/chef_fs/config'
- require 'tmpdir'
- require 'fileutils'
- require 'chef/version'
- require 'chef_zero/data_store/v1_to_v2_adapter'
-
- # Create chef repository
- tmpdir = Dir.mktmpdir
- chef_repo_path = "#{tmpdir}/repo"
-
- # Capture setup data into master_chef_repo_path
- server = start_local_server(chef_repo_path)
-
- elsif ENV['SINGLE_ORG']
- server = ChefZero::Server.new(:port => 8889, :single_org => 'chef')
- server.start_background
-
- elsif ENV['FILE_STORE']
- require 'tmpdir'
- require 'chef_zero/data_store/raw_file_store'
- tmpdir = Dir.mktmpdir
- data_store = ChefZero::DataStore::RawFileStore.new(tmpdir, true)
- data_store = ChefZero::DataStore::DefaultFacade.new(data_store, true, false)
- server = ChefZero::Server.new(:port => 8889, :single_org => 'chef', :data_store => data_store)
- server.start_background
-
- else
- server = ChefZero::Server.new(:port => 8889, :single_org => false, :osc_compat => true)
- server.data_store.create_dir([ 'organizations' ], 'pedant')
- server.start_background
- end
-
- unless ENV['SKIP_PEDANT']
- require 'pedant'
- require 'pedant/opensource'
-
- #Pedant::Config.rerun = true
-
- Pedant.config.suite = 'api'
- Pedant.config[:config_file] = 'spec/support/pedant.rb'
-
- Pedant.setup([
- '--skip-knife',
- '--skip-validation',
- '--skip-authentication',
- '--skip-authorization',
- '--skip-keys',
- '--skip-omnibus',
- '--skip-cookbook_artifacts'
- ])
-
- result = RSpec::Core::Runner.run(Pedant.config.rspec_args)
- else
- require 'net/http'
- response = Net::HTTP.new('127.0.0.1', 8889).get("/environments", { 'Accept' => 'application/json'}).body
- if response =~ /_default/
- result = 0
- else
- puts "GET /environments returned #{response}. Expected _default!"
- result = 1
- end
- end
-
- server.stop if server.running?
-ensure
- FileUtils.remove_entry_secure(tmpdir) if tmpdir
-end
-
-exit(result)