Class: Praegustator::Setup

Inherits:
Object
  • Object
show all
Defined in:
lib/praegustator/setup.rb

Instance Method Summary collapse

Instance Method Details

#create_recepie(dir) ⇒ Object



23
24
25
26
27
28
29
30
31
# 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) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# 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) ⇒ Object



56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 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) ⇒ Object



5
6
7
8
9
10
# 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) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# 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