puppetlabs_spec_helper 1.1.1 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.rubocop.yml +504 -0
- data/.travis.yml +17 -6
- data/CHANGELOG.md +47 -3
- data/CONTRIBUTING.md +5 -46
- data/Gemfile +15 -9
- data/{README.markdown → README.md} +185 -64
- data/Rakefile +5 -40
- data/lib/puppetlabs_spec_helper/module_spec_helper.rb +2 -8
- data/lib/puppetlabs_spec_helper/puppetlabs_spec/puppet_internals.rb +2 -0
- data/lib/puppetlabs_spec_helper/rake_tasks.rb +153 -22
- data/lib/puppetlabs_spec_helper/version.rb +4 -1
- data/puppetlabs_spec_helper.gemspec +27 -83
- metadata +69 -58
- data/spec/lib/puppet/type/spechelper.rb +0 -6
- data/spec/spec_helper.rb +0 -2
- data/spec/unit/puppetlabs_spec_helper/puppetlabs_spec/puppet_internals_spec.rb +0 -91
- data/spec/watchr.rb +0 -79
data/spec/spec_helper.rb
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'puppetlabs_spec_helper/puppet_spec_helper'
|
3
|
-
require 'puppetlabs_spec_helper/puppetlabs_spec/puppet_internals'
|
4
|
-
|
5
|
-
describe PuppetlabsSpec::PuppetInternals do
|
6
|
-
before(:all) do
|
7
|
-
Puppet.initialize_settings
|
8
|
-
end
|
9
|
-
describe ".scope" do
|
10
|
-
it "should return a Puppet::Parser::Scope instance" do
|
11
|
-
subject.scope.should be_a_kind_of Puppet::Parser::Scope
|
12
|
-
end
|
13
|
-
|
14
|
-
xit "should be suitable for function testing" do
|
15
|
-
# split is now a puppet 4x core function
|
16
|
-
subject.scope.function_split(["one;two", ";"]).should == [ 'one', 'two' ]
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should accept a compiler" do
|
20
|
-
compiler = subject.compiler
|
21
|
-
scope = subject.scope(:compiler => compiler)
|
22
|
-
scope.compiler.should == compiler
|
23
|
-
end
|
24
|
-
|
25
|
-
it "should have a source set" do
|
26
|
-
scope = subject.scope
|
27
|
-
scope.source.should_not be_nil
|
28
|
-
scope.source.name.should eq('foo')
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
describe ".resource" do
|
33
|
-
it "can have a defined type" do
|
34
|
-
subject.resource(:type => :node).type.should == :node
|
35
|
-
end
|
36
|
-
|
37
|
-
it "defaults to a type of hostclass" do
|
38
|
-
subject.resource.type.should == :hostclass
|
39
|
-
end
|
40
|
-
|
41
|
-
it "can have a defined name" do
|
42
|
-
subject.resource(:name => "testingrsrc").name.should == "testingrsrc"
|
43
|
-
end
|
44
|
-
|
45
|
-
it "defaults to a name of testing" do
|
46
|
-
subject.resource.name.should == "testing"
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
describe ".compiler" do
|
51
|
-
let(:node) { subject.node }
|
52
|
-
|
53
|
-
it "can have a defined node" do
|
54
|
-
subject.compiler(:node => node).node.should be node
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
describe ".node" do
|
59
|
-
it "can have a defined name" do
|
60
|
-
subject.node(:name => "mine").name.should == "mine"
|
61
|
-
end
|
62
|
-
|
63
|
-
it "can have a defined environment" do
|
64
|
-
subject.node(:environment => "mine").environment.name.should == :mine
|
65
|
-
end
|
66
|
-
|
67
|
-
it "defaults to a name of testinghost" do
|
68
|
-
subject.node.name.should == "testinghost"
|
69
|
-
end
|
70
|
-
|
71
|
-
it "accepts facts via options for rspec-puppet" do
|
72
|
-
fact_values = { 'fqdn' => "jeff.puppetlabs.com" }
|
73
|
-
node = subject.node(:options => { :parameters => fact_values })
|
74
|
-
node.parameters.should == fact_values
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
describe ".function_method" do
|
79
|
-
it "accepts an injected scope" do
|
80
|
-
Puppet::Parser::Functions.expects(:function).with("my_func").returns(true)
|
81
|
-
scope = mock()
|
82
|
-
scope.expects(:method).with(:function_my_func).returns(:fake_method)
|
83
|
-
subject.function_method("my_func", :scope => scope).should == :fake_method
|
84
|
-
end
|
85
|
-
it "returns nil if the function doesn't exist" do
|
86
|
-
Puppet::Parser::Functions.expects(:function).with("my_func").returns(false)
|
87
|
-
scope = mock()
|
88
|
-
subject.function_method("my_func", :scope => scope).should be_nil
|
89
|
-
end
|
90
|
-
end
|
91
|
-
end
|
data/spec/watchr.rb
DELETED
@@ -1,79 +0,0 @@
|
|
1
|
-
ENV['FOG_MOCK'] ||= 'true'
|
2
|
-
ENV['AUTOTEST'] = 'true'
|
3
|
-
ENV['WATCHR'] = '1'
|
4
|
-
|
5
|
-
system 'clear'
|
6
|
-
|
7
|
-
def growl(message)
|
8
|
-
growlnotify = `which growlnotify`.chomp
|
9
|
-
title = "Watchr Test Results"
|
10
|
-
image = case message
|
11
|
-
when /(\d+)\s+?(failure|error)/i
|
12
|
-
($1.to_i == 0) ? "~/.watchr_images/passed.png" : "~/.watchr_images/failed.png"
|
13
|
-
else
|
14
|
-
'~/.watchr_images/unknown.png'
|
15
|
-
end
|
16
|
-
options = "-w -n Watchr --image '#{File.expand_path(image)}' -m '#{message}' '#{title}'"
|
17
|
-
system %(#{growlnotify} #{options} &)
|
18
|
-
end
|
19
|
-
|
20
|
-
def run(cmd)
|
21
|
-
puts(cmd)
|
22
|
-
`#{cmd}`
|
23
|
-
end
|
24
|
-
|
25
|
-
def run_spec_test(file)
|
26
|
-
if File.exist? file
|
27
|
-
result = run "rspec --format p --color #{file}"
|
28
|
-
growl result.split("\n").last
|
29
|
-
puts result
|
30
|
-
else
|
31
|
-
puts "FIXME: No test #{file} [#{Time.now}]"
|
32
|
-
end
|
33
|
-
end
|
34
|
-
|
35
|
-
def filter_rspec(data)
|
36
|
-
data.split("\n").find_all do |l|
|
37
|
-
l =~ /^(\d+)\s+exampl\w+.*?(\d+).*?failur\w+.*?(\d+).*?pending/
|
38
|
-
end.join("\n")
|
39
|
-
end
|
40
|
-
|
41
|
-
def run_all_tests
|
42
|
-
system('clear')
|
43
|
-
files = Dir.glob("spec/**/*_spec.rb").join(" ")
|
44
|
-
result = run "rspec #{files}"
|
45
|
-
growl_results = filter_rspec result
|
46
|
-
growl growl_results
|
47
|
-
puts result
|
48
|
-
puts "GROWL: #{growl_results}"
|
49
|
-
end
|
50
|
-
|
51
|
-
# Ctrl-\
|
52
|
-
Signal.trap 'QUIT' do
|
53
|
-
puts " --- Running all tests ---\n\n"
|
54
|
-
run_all_tests
|
55
|
-
end
|
56
|
-
|
57
|
-
@interrupted = false
|
58
|
-
|
59
|
-
# Ctrl-C
|
60
|
-
Signal.trap 'INT' do
|
61
|
-
if @interrupted then
|
62
|
-
@wants_to_quit = true
|
63
|
-
abort("\n")
|
64
|
-
else
|
65
|
-
puts "Interrupt a second time to quit"
|
66
|
-
@interrupted = true
|
67
|
-
Kernel.sleep 1.5
|
68
|
-
# raise Interrupt, nil # let the run loop catch it
|
69
|
-
run_suite
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
watch( 'spec/.*_spec\.rb' ) do |md|
|
74
|
-
run_all_tests
|
75
|
-
end
|
76
|
-
|
77
|
-
watch( 'lib/.*\.rb' ) do |md|
|
78
|
-
run_all_tests
|
79
|
-
end
|