class Praegustator::Setup

Public Instance Methods

create_recepie(dir) click to toggle source
# File lib/praegustator/setup.rb, line 23
    def create_recepie dir
      content = <<-EOF
role("*")do
  check "basic_commands"
  properties :user => "root"
end
      EOF
      create_file "#{dir}/test_recipe.rb",content
    end
create_settings(dir) click to toggle source
# File lib/praegustator/setup.rb, line 33
    def create_settings dir
      puts "please enter knife's location (default ~/.chef/knife.rb) : "
      knife_location = $stdin.gets.chomp
      knife_location = '~/.chef/knife.rb' if knife_location == ''

      content = <<-EOF
spec:
  recipes_dir:  "#{dir}/"
  checks_dir:   "#{dir}/checks/"
chef:
  knife_location: "#{knife_location}"
#ssh:
#  user: "root"
#  pasword: nil
#  keys: [ "~/.ssh/id_rsa" ]
report:
  show_summary: true
  show_passed:  true
  show_failed:  true
EOF
      create_file ".praegustator.yml",content
    end
create_spec(dir) click to toggle source
# File lib/praegustator/setup.rb, line 56
    def create_spec dir
      content = <<-EOF
user = property[:user]
describe command('whoami') do
  it { should return_stdout user }
end

describe command('cat /etc/resolv.conf') do
  it { should return_stdout /8\.8\.8\.8/ }
end

describe command('ls /foo') do
  it { should return_stderr /No such file or directory/ }
end
      EOF
      create_file "#{dir}/checks/basic_commands.rb",content
    end
init(spec_dir) click to toggle source
# File lib/praegustator/setup.rb, line 5
def init(spec_dir)
  create_settings  spec_dir
  mkdir(spec_dir)
  create_spec spec_dir
  create_recepie  spec_dir
end
mkdir(dir) click to toggle source
# File lib/praegustator/setup.rb, line 12
def mkdir dir
  if File.exists? dir
    $stderr.puts "!! #{dir} already exists"
  else
    FileUtils.mkdir dir
    puts " + #{dir}/"
    FileUtils.mkdir "#{dir}/checks"
    puts " + #{dir}/checks"
  end
end

Private Instance Methods

create_file(file, content) click to toggle source
# File lib/praegustator/setup.rb, line 75
def create_file file, content
  if File.exists? file
    $stderr.puts "!! #{file} exists"
  else
    File.open("#{file}", 'w') do |f|
      f.puts content
    end
    puts " + #{file}"
  end
end