foodcritic 15.0.0 → 15.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/chef_dsl_metadata/{chef_14.7.17.json → chef_14.8.12.json} +61 -1
- data/foodcritic.gemspec +1 -3
- data/lib/foodcritic/linter.rb +1 -1
- data/lib/foodcritic/version.rb +1 -1
- metadata +5 -232
- data/Rakefile +0 -73
- data/features/002_check_string_interpolation.feature +0 -50
- data/features/005_check_for_resource_repetition.feature +0 -64
- data/features/006_check_file_mode.feature +0 -36
- data/features/009_check_for_unrecognised_resource_attributes.feature +0 -55
- data/features/014_check_for_long_ruby_blocks.feature +0 -30
- data/features/018_check_for_old_lwrp_notification_syntax.feature +0 -25
- data/features/019_check_for_consistent_node_access.feature +0 -108
- data/features/021_check_for_dodgy_lwrp_conditions.feature +0 -28
- data/features/022_check_for_dodgy_conditions_within_loop.feature +0 -43
- data/features/024_check_for_missing_platforms.feature +0 -43
- data/features/027_check_for_internal_attribute_use.feature +0 -22
- data/features/030_check_for_debugger_breakpoints.feature +0 -25
- data/features/032_check_for_invalid_notification_timing.feature +0 -24
- data/features/033_check_for_missing_template.feature +0 -39
- data/features/034_check_for_unused_template_variables.feature +0 -80
- data/features/037_check_for_invalid_notification_action.feature +0 -34
- data/features/038_check_for_invalid_action.feature +0 -39
- data/features/039_check_for_key_access_to_node_methods.feature +0 -33
- data/features/044_check_for_bare_attribute_keys.feature +0 -53
- data/features/046_check_for_assign_unless_nil_attributes.feature +0 -21
- data/features/047_check_for_attribute_assignment_without_precedence.feature +0 -49
- data/features/051_check_for_template_partial_loops.feature +0 -40
- data/features/build_framework_support.feature +0 -109
- data/features/checking_all_types_of_file.feature +0 -40
- data/features/choose_rules_to_apply.feature +0 -47
- data/features/command_line_help.feature +0 -58
- data/features/continuous_integration_support.feature +0 -33
- data/features/exclude_paths_to_lint.feature +0 -12
- data/features/ignore_via_line_comments.feature +0 -69
- data/features/include_custom_rules.feature +0 -29
- data/features/individual_file.feature +0 -28
- data/features/limit_rules_to_specific_versions.feature +0 -65
- data/features/multiple_paths.feature +0 -35
- data/features/show_lines_matched.feature +0 -20
- data/features/sort_warnings.feature +0 -10
- data/features/specify_search_grammar.feature +0 -25
- data/features/step_definitions/cookbook_steps.rb +0 -1826
- data/features/support/command_helpers.rb +0 -418
- data/features/support/cookbook_helpers.rb +0 -599
- data/features/support/env.rb +0 -19
- data/man/foodcritic.1.ronn +0 -76
- data/spec/functional/fc001_spec.rb +0 -72
- data/spec/functional/fc004_spec.rb +0 -84
- data/spec/functional/fc007_spec.rb +0 -127
- data/spec/functional/fc008_spec.rb +0 -33
- data/spec/functional/fc009_spec.rb +0 -37
- data/spec/functional/fc010_spec.rb +0 -32
- data/spec/functional/fc011_spec.rb +0 -20
- data/spec/functional/fc013_spec.rb +0 -39
- data/spec/functional/fc015_spec.rb +0 -19
- data/spec/functional/fc016_spec.rb +0 -57
- data/spec/functional/fc025_spec.rb +0 -60
- data/spec/functional/fc026_spec.rb +0 -66
- data/spec/functional/fc028_spec.rb +0 -93
- data/spec/functional/fc029_spec.rb +0 -33
- data/spec/functional/fc031_spec.rb +0 -14
- data/spec/functional/fc037_spec.rb +0 -75
- data/spec/functional/fc038_spec.rb +0 -28
- data/spec/functional/fc040_spec.rb +0 -156
- data/spec/functional/fc041_spec.rb +0 -121
- data/spec/functional/fc042_spec.rb +0 -13
- data/spec/functional/fc043_spec.rb +0 -28
- data/spec/functional/fc045_spec.rb +0 -18
- data/spec/functional/fc048_spec.rb +0 -67
- data/spec/functional/fc049_spec.rb +0 -56
- data/spec/functional/fc050_spec.rb +0 -85
- data/spec/functional/fc052_spec.rb +0 -13
- data/spec/functional/fc053_spec.rb +0 -13
- data/spec/functional/fc055_spec.rb +0 -18
- data/spec/functional/fc056_spec.rb +0 -18
- data/spec/functional/fc058_spec.rb +0 -102
- data/spec/functional/fc060_spec.rb +0 -45
- data/spec/functional/fc061_spec.rb +0 -48
- data/spec/functional/fc062_spec.rb +0 -13
- data/spec/functional/fc063_spec.rb +0 -18
- data/spec/functional/fc064_spec.rb +0 -13
- data/spec/functional/fc065_spec.rb +0 -13
- data/spec/functional/fc066_spec.rb +0 -33
- data/spec/functional/fc067_spec.rb +0 -13
- data/spec/functional/fc068_spec.rb +0 -13
- data/spec/functional/fc069_spec.rb +0 -38
- data/spec/functional/fc070_spec.rb +0 -65
- data/spec/functional/fc071_spec.rb +0 -36
- data/spec/functional/fc072_spec.rb +0 -13
- data/spec/functional/fc073_spec.rb +0 -56
- data/spec/functional/fc074_spec.rb +0 -39
- data/spec/functional/fc075_spec.rb +0 -41
- data/spec/functional/fc076_spec.rb +0 -13
- data/spec/functional/fc077_spec.rb +0 -13
- data/spec/functional/fc078_spec.rb +0 -35
- data/spec/functional/fc079_spec.rb +0 -21
- data/spec/functional/fc080_spec.rb +0 -68
- data/spec/functional/fc081_spec.rb +0 -25
- data/spec/functional/fc082_spec.rb +0 -23
- data/spec/functional/fc083_spec.rb +0 -34
- data/spec/functional/fc084_spec.rb +0 -49
- data/spec/functional/fc085_spec.rb +0 -77
- data/spec/functional/fc086_spec.rb +0 -45
- data/spec/functional/fc087_spec.rb +0 -43
- data/spec/functional/fc088_spec.rb +0 -18
- data/spec/functional/fc089_spec.rb +0 -23
- data/spec/functional/fc091_spec.rb +0 -38
- data/spec/functional/fc092_spec.rb +0 -31
- data/spec/functional/fc093_spec.rb +0 -27
- data/spec/functional/fc094_spec.rb +0 -18
- data/spec/functional/fc095_spec.rb +0 -18
- data/spec/functional/fc096_spec.rb +0 -18
- data/spec/functional/fc097_spec.rb +0 -18
- data/spec/functional/fc098_spec.rb +0 -18
- data/spec/functional/fc099_spec.rb +0 -18
- data/spec/functional/fc100_spec.rb +0 -18
- data/spec/functional/fc101_spec.rb +0 -23
- data/spec/functional/fc102_spec.rb +0 -18
- data/spec/functional/fc103_spec.rb +0 -30
- data/spec/functional/fc104_spec.rb +0 -54
- data/spec/functional/fc105_spec.rb +0 -36
- data/spec/functional/fc106_spec.rb +0 -21
- data/spec/functional/fc107_spec.rb +0 -22
- data/spec/functional/fc108_spec.rb +0 -43
- data/spec/functional/fc109_spec.rb +0 -22
- data/spec/functional/fc110_spec.rb +0 -21
- data/spec/functional/fc111_spec.rb +0 -17
- data/spec/functional/fc112_spec.rb +0 -17
- data/spec/functional/fc113_spec.rb +0 -98
- data/spec/functional/fc114_spec.rb +0 -31
- data/spec/functional/fc115_spec.rb +0 -24
- data/spec/functional/fc116_spec.rb +0 -18
- data/spec/functional/fc117_spec.rb +0 -23
- data/spec/functional/fc118_spec.rb +0 -17
- data/spec/functional/fc119_spec.rb +0 -27
- data/spec/functional/fc120_spec.rb +0 -21
- data/spec/functional/fc121_spec.rb +0 -45
- data/spec/functional/fc122_spec.rb +0 -18
- data/spec/functional/root_aliases_spec.rb +0 -13
- data/spec/regression/cookbooks.txt +0 -83
- data/spec/regression/expected/activemq.txt +0 -6
- data/spec/regression/expected/aix.txt +0 -27
- data/spec/regression/expected/apparmor.txt +0 -9
- data/spec/regression/expected/apt.txt +0 -14
- data/spec/regression/expected/ark.txt +0 -3
- data/spec/regression/expected/auditd.txt +0 -2
- data/spec/regression/expected/aws.txt +0 -16
- data/spec/regression/expected/bluepill.txt +0 -12
- data/spec/regression/expected/boost.txt +0 -8
- data/spec/regression/expected/build-essential.txt +0 -8
- data/spec/regression/expected/chef-client.txt +0 -17
- data/spec/regression/expected/chef-ingredient.txt +0 -6
- data/spec/regression/expected/chef-server.txt +0 -13
- data/spec/regression/expected/chef-vault.txt +0 -7
- data/spec/regression/expected/chef.txt +0 -104
- data/spec/regression/expected/chef_client_updater.txt +0 -2
- data/spec/regression/expected/chef_handler.txt +0 -7
- data/spec/regression/expected/chef_hostname.txt +0 -3
- data/spec/regression/expected/chef_nginx.txt +0 -4
- data/spec/regression/expected/cron.txt +0 -7
- data/spec/regression/expected/database.txt +0 -42
- data/spec/regression/expected/dmg.txt +0 -11
- data/spec/regression/expected/docker.txt +0 -4
- data/spec/regression/expected/drbd.txt +0 -29
- data/spec/regression/expected/dynect.txt +0 -33
- data/spec/regression/expected/erlang.txt +0 -6
- data/spec/regression/expected/fail2ban.txt +0 -5
- data/spec/regression/expected/firewall.txt +0 -11
- data/spec/regression/expected/gecode.txt +0 -10
- data/spec/regression/expected/gems.txt +0 -32
- data/spec/regression/expected/gunicorn.txt +0 -11
- data/spec/regression/expected/heartbeat.txt +0 -8
- data/spec/regression/expected/homebrew.txt +0 -7
- data/spec/regression/expected/iis.txt +0 -22
- data/spec/regression/expected/iptables.txt +0 -9
- data/spec/regression/expected/jetty.txt +0 -13
- data/spec/regression/expected/jpackage.txt +0 -9
- data/spec/regression/expected/keepalived.txt +0 -3
- data/spec/regression/expected/kickstart.txt +0 -15
- data/spec/regression/expected/libarchive.txt +0 -6
- data/spec/regression/expected/logwatch.txt +0 -5
- data/spec/regression/expected/lvm.txt +0 -14
- data/spec/regression/expected/maradns.txt +0 -14
- data/spec/regression/expected/maven.txt +0 -8
- data/spec/regression/expected/memcached.txt +0 -31
- data/spec/regression/expected/motd-tail.txt +0 -5
- data/spec/regression/expected/mysql.txt +0 -19
- data/spec/regression/expected/ohai.txt +0 -9
- data/spec/regression/expected/openldap.txt +0 -12
- data/spec/regression/expected/openssh.txt +0 -6
- data/spec/regression/expected/openssl.txt +0 -6
- data/spec/regression/expected/partial_search.txt +0 -7
- data/spec/regression/expected/passenger_apache2.txt +0 -31
- data/spec/regression/expected/perl.txt +0 -14
- data/spec/regression/expected/php.txt +0 -6
- data/spec/regression/expected/postfix.txt +0 -8
- data/spec/regression/expected/powershell.txt +0 -8
- data/spec/regression/expected/resolver.txt +0 -7
- data/spec/regression/expected/rsync.txt +0 -9
- data/spec/regression/expected/rsyslog.txt +0 -11
- data/spec/regression/expected/runit.txt +0 -4
- data/spec/regression/expected/smokeping.txt +0 -6
- data/spec/regression/expected/sql_server.txt +0 -7
- data/spec/regression/expected/ssh_known_hosts.txt +0 -6
- data/spec/regression/expected/stompserver.txt +0 -6
- data/spec/regression/expected/subversion.txt +0 -6
- data/spec/regression/expected/sudo.txt +0 -10
- data/spec/regression/expected/tar.txt +0 -10
- data/spec/regression/expected/tftp.txt +0 -6
- data/spec/regression/expected/tomcat.txt +0 -18
- data/spec/regression/expected/transmission.txt +0 -13
- data/spec/regression/expected/ubuntu.txt +0 -5
- data/spec/regression/expected/ufw.txt +0 -12
- data/spec/regression/expected/unicorn.txt +0 -7
- data/spec/regression/expected/users.txt +0 -12
- data/spec/regression/expected/vcruntime.txt +0 -8
- data/spec/regression/expected/vim.txt +0 -7
- data/spec/regression/expected/webpi.txt +0 -7
- data/spec/regression/expected/whitelist-node-attrs.txt +0 -7
- data/spec/regression/expected/windows.txt +0 -35
- data/spec/regression/expected/wix.txt +0 -5
- data/spec/regression/expected/xml.txt +0 -7
- data/spec/regression/expected/yum.txt +0 -15
- data/spec/regression/regression_spec.rb +0 -23
- data/spec/spec_helper.rb +0 -132
- data/spec/unit/api_spec.rb +0 -1939
- data/spec/unit/chef_spec.rb +0 -66
- data/spec/unit/command_line_spec.rb +0 -136
- data/spec/unit/domain_spec.rb +0 -78
- data/spec/unit/linter_spec.rb +0 -107
- data/spec/unit/template_spec.rb +0 -53
@@ -1,28 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "FC038" do
|
4
|
-
|
5
|
-
context "on chef 12.6.4 with a cookbook that locks an apt_package" do
|
6
|
-
foodcritic_command("--chef-version", "13.6.4 ", "--no-progress", ".")
|
7
|
-
recipe_file <<-EOH
|
8
|
-
apt_package 'foo' do
|
9
|
-
action :lock
|
10
|
-
end
|
11
|
-
EOH
|
12
|
-
it { is_expected.not_to violate_rule }
|
13
|
-
end
|
14
|
-
|
15
|
-
# todo: update this when we introduce a new action
|
16
|
-
# we can't actually test this since we haven't introduced any new actions
|
17
|
-
# in the chef 13 cycle
|
18
|
-
|
19
|
-
# context "on chef 12.15.19 with a cookbook that locks an apt_package" do
|
20
|
-
# foodcritic_command("--chef-version", "12.15.19", "--no-progress", ".")
|
21
|
-
# recipe_file <<-EOH
|
22
|
-
# apt_package 'foo' do
|
23
|
-
# action :lock
|
24
|
-
# end
|
25
|
-
# EOH
|
26
|
-
# it { is_expected.to violate_rule }
|
27
|
-
# end
|
28
|
-
end
|
@@ -1,156 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "FC040" do
|
4
|
-
context "with a recipe that contains an execute resource named 'git pull'" do
|
5
|
-
recipe_file <<-EOH
|
6
|
-
execute 'git pull' do
|
7
|
-
action :run
|
8
|
-
end
|
9
|
-
EOH
|
10
|
-
it { is_expected.to violate_rule }
|
11
|
-
end
|
12
|
-
|
13
|
-
context "with a recipe that contains an execute resource named 'git clone'" do
|
14
|
-
recipe_file <<-EOH
|
15
|
-
execute 'git clone' do
|
16
|
-
action :run
|
17
|
-
end
|
18
|
-
EOH
|
19
|
-
it { is_expected.to violate_rule }
|
20
|
-
end
|
21
|
-
|
22
|
-
context "with a recipe that contains an execute resource named 'git fetch'" do
|
23
|
-
recipe_file <<-EOH
|
24
|
-
execute 'git fetch' do
|
25
|
-
action :run
|
26
|
-
end
|
27
|
-
EOH
|
28
|
-
it { is_expected.to violate_rule }
|
29
|
-
end
|
30
|
-
|
31
|
-
context "with a recipe that contains an execute resource named 'git checkout'" do
|
32
|
-
recipe_file <<-EOH
|
33
|
-
execute 'git checkout' do
|
34
|
-
action :run
|
35
|
-
end
|
36
|
-
EOH
|
37
|
-
it { is_expected.to violate_rule }
|
38
|
-
end
|
39
|
-
|
40
|
-
context "with a recipe that contains an execute resource named 'git reset --hard'" do
|
41
|
-
recipe_file <<-EOH
|
42
|
-
execute 'git reset --hard' do
|
43
|
-
action :run
|
44
|
-
end
|
45
|
-
EOH
|
46
|
-
it { is_expected.to violate_rule }
|
47
|
-
end
|
48
|
-
|
49
|
-
context "with a recipe that contains an execute resource named 'git show'" do
|
50
|
-
recipe_file <<-EOH
|
51
|
-
execute 'git show' do
|
52
|
-
action :run
|
53
|
-
end
|
54
|
-
EOH
|
55
|
-
it { is_expected.to_not violate_rule }
|
56
|
-
end
|
57
|
-
|
58
|
-
context "with a recipe that contains an execute resource named 'echo 'bob' && git show'" do
|
59
|
-
recipe_file <<-EOH
|
60
|
-
execute "echo 'bob' && git show" do
|
61
|
-
action :run
|
62
|
-
end
|
63
|
-
EOH
|
64
|
-
it { is_expected.to_not violate_rule }
|
65
|
-
end
|
66
|
-
|
67
|
-
context "with a recipe that contains an execute resource to run 'git clone https://github.com/git/git.git'" do
|
68
|
-
recipe_file <<-EOH
|
69
|
-
execute "a git command" do
|
70
|
-
command 'git clone https://github.com/git/git.git'
|
71
|
-
action :run
|
72
|
-
end
|
73
|
-
EOH
|
74
|
-
it { is_expected.to violate_rule }
|
75
|
-
end
|
76
|
-
|
77
|
-
context "with a recipe that contains an execute resource to run 'git clone --depth 10 https://github.com/git/git.git'" do
|
78
|
-
recipe_file <<-EOH
|
79
|
-
execute "a git command" do
|
80
|
-
command 'git clone --depth 10 https://github.com/git/git.git'
|
81
|
-
action :run
|
82
|
-
end
|
83
|
-
EOH
|
84
|
-
it { is_expected.to violate_rule }
|
85
|
-
end
|
86
|
-
|
87
|
-
context "with a recipe that contains an execute resource to run 'get checkout master'" do
|
88
|
-
recipe_file <<-EOH
|
89
|
-
execute "a git command" do
|
90
|
-
command 'git checkout master'
|
91
|
-
action :run
|
92
|
-
end
|
93
|
-
EOH
|
94
|
-
it { is_expected.to violate_rule }
|
95
|
-
end
|
96
|
-
|
97
|
-
context "with a recipe that contains an execute resource to run 'git reset --hard'" do
|
98
|
-
recipe_file <<-EOH
|
99
|
-
execute "a git command" do
|
100
|
-
command 'git reset hard'
|
101
|
-
action :run
|
102
|
-
end
|
103
|
-
EOH
|
104
|
-
it { is_expected.to violate_rule }
|
105
|
-
end
|
106
|
-
|
107
|
-
context "with a recipe that contains an execute resource to run 'git pull" do
|
108
|
-
recipe_file <<-EOH
|
109
|
-
execute "a git command" do
|
110
|
-
command 'git pull'
|
111
|
-
action :run
|
112
|
-
end
|
113
|
-
EOH
|
114
|
-
it { is_expected.to violate_rule }
|
115
|
-
end
|
116
|
-
|
117
|
-
context "with a recipe that contains an execute resource to run 'git fetch origin'" do
|
118
|
-
recipe_file <<-EOH
|
119
|
-
execute "a git command" do
|
120
|
-
command 'git fetch origin'
|
121
|
-
action :run
|
122
|
-
end
|
123
|
-
EOH
|
124
|
-
it { is_expected.to violate_rule }
|
125
|
-
end
|
126
|
-
|
127
|
-
context "with a recipe that contains an execute resource to run 'git status && git pull '" do
|
128
|
-
recipe_file <<-EOH
|
129
|
-
execute "a git command" do
|
130
|
-
command 'git status && git pull'
|
131
|
-
action :run
|
132
|
-
end
|
133
|
-
EOH
|
134
|
-
it { is_expected.to violate_rule }
|
135
|
-
end
|
136
|
-
|
137
|
-
context "with a recipe that contains an execute resource to run 'git show'" do
|
138
|
-
recipe_file <<-EOH
|
139
|
-
execute "a git command" do
|
140
|
-
command 'git show'
|
141
|
-
action :run
|
142
|
-
end
|
143
|
-
EOH
|
144
|
-
it { is_expected.to_not violate_rule }
|
145
|
-
end
|
146
|
-
|
147
|
-
context "with a recipe that contains an execute resource to run 'curl http://github.com/ '" do
|
148
|
-
recipe_file <<-EOH
|
149
|
-
execute "a git command" do
|
150
|
-
command 'curl http://github.com/ '
|
151
|
-
action :run
|
152
|
-
end
|
153
|
-
EOH
|
154
|
-
it { is_expected.to_not violate_rule }
|
155
|
-
end
|
156
|
-
end
|
@@ -1,121 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "FC041" do
|
4
|
-
context "with a recipe that contains an execute resource to run curl" do
|
5
|
-
recipe_file <<-EOH
|
6
|
-
execute 'curl "http://www.chef.io/"' do
|
7
|
-
action :run
|
8
|
-
end
|
9
|
-
EOH
|
10
|
-
it { is_expected.to_not violate_rule }
|
11
|
-
end
|
12
|
-
|
13
|
-
context "with a recipe that contains an execute resource to run which curl" do
|
14
|
-
recipe_file <<-EOH
|
15
|
-
execute 'which curl' do
|
16
|
-
action :run
|
17
|
-
end
|
18
|
-
EOH
|
19
|
-
it { is_expected.to_not violate_rule }
|
20
|
-
end
|
21
|
-
|
22
|
-
context "with a recipe that contains an execute resource to run wget" do
|
23
|
-
recipe_file <<-EOH
|
24
|
-
execute 'wget "http://www.chef.io/"' do
|
25
|
-
action :run
|
26
|
-
end
|
27
|
-
EOH
|
28
|
-
it { is_expected.to violate_rule }
|
29
|
-
end
|
30
|
-
|
31
|
-
context "with a recipe that contains an execute resource to run sudo wget" do
|
32
|
-
recipe_file <<-EOH
|
33
|
-
execute 'sudo wget "http://www.chef.io/"' do
|
34
|
-
action :run
|
35
|
-
end
|
36
|
-
EOH
|
37
|
-
it { is_expected.to violate_rule }
|
38
|
-
end
|
39
|
-
|
40
|
-
context "with a recipe that contains an execute resource to curl with -o" do
|
41
|
-
recipe_file <<-EOH
|
42
|
-
execute "curl 'http://example.org/' -o foo" do
|
43
|
-
action :run
|
44
|
-
end
|
45
|
-
EOH
|
46
|
-
it { is_expected.to violate_rule }
|
47
|
-
end
|
48
|
-
|
49
|
-
context "with a recipe that contains an execute resource to curl with a post request" do
|
50
|
-
recipe_file <<-EOH
|
51
|
-
execute "curl -X POST 'http://example.org/'" do
|
52
|
-
action :run
|
53
|
-
end
|
54
|
-
EOH
|
55
|
-
it { is_expected.to_not violate_rule }
|
56
|
-
end
|
57
|
-
|
58
|
-
context "with a recipe that contains an execute resource to curl with --output" do
|
59
|
-
recipe_file <<-EOH
|
60
|
-
execute "curl 'http://example.org/' --output foo" do
|
61
|
-
action :run
|
62
|
-
end
|
63
|
-
EOH
|
64
|
-
it { is_expected.to violate_rule }
|
65
|
-
end
|
66
|
-
|
67
|
-
context "with a recipe that contains an execute resource to curl with --output" do
|
68
|
-
recipe_file <<-EOH
|
69
|
-
execute "curl 'http://example.org/' --output foo" do
|
70
|
-
action :run
|
71
|
-
end
|
72
|
-
EOH
|
73
|
-
it { is_expected.to violate_rule }
|
74
|
-
end
|
75
|
-
|
76
|
-
context "with a recipe that contains an execute resource to curl then redirect stdout" do
|
77
|
-
recipe_file <<-EOH
|
78
|
-
execute "curl 'http://example.org/' > foo" do
|
79
|
-
action :run
|
80
|
-
end
|
81
|
-
EOH
|
82
|
-
it { is_expected.to violate_rule }
|
83
|
-
end
|
84
|
-
|
85
|
-
context "with a recipe that contains an execute resource to curl then redirect stdout/stderr" do
|
86
|
-
recipe_file <<-EOH
|
87
|
-
execute "curl 'http://example.org/' &> foo" do
|
88
|
-
action :run
|
89
|
-
end
|
90
|
-
EOH
|
91
|
-
it { is_expected.to violate_rule }
|
92
|
-
end
|
93
|
-
|
94
|
-
context "with a recipe that contains an execute resource to run something & wget" do
|
95
|
-
recipe_file <<-EOH
|
96
|
-
execute "mkdir bob && wget 'http://example.org/'" do
|
97
|
-
action :run
|
98
|
-
end
|
99
|
-
EOH
|
100
|
-
it { is_expected.to violate_rule }
|
101
|
-
end
|
102
|
-
|
103
|
-
context "with a recipe that contains an execute resource with command run sudo wget" do
|
104
|
-
recipe_file <<-EOH
|
105
|
-
execute 'my command' do
|
106
|
-
command 'sudo wget "http://www.chef.io/"'
|
107
|
-
action :run
|
108
|
-
end
|
109
|
-
EOH
|
110
|
-
it { is_expected.to violate_rule }
|
111
|
-
end
|
112
|
-
|
113
|
-
context "with a recipe that contains an execute resource with command run which curl" do
|
114
|
-
recipe_file <<-EOH
|
115
|
-
execute 'my command' do
|
116
|
-
command 'which curl'
|
117
|
-
end
|
118
|
-
EOH
|
119
|
-
it { is_expected.to_not violate_rule }
|
120
|
-
end
|
121
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "FC042" do
|
4
|
-
context "with a cookbook with a single recipe that uses require_recipe" do
|
5
|
-
recipe_file "require_recipe 'my_recipe::default'"
|
6
|
-
it { is_expected.to violate_rule }
|
7
|
-
end
|
8
|
-
|
9
|
-
context "with a cookbook with a single recipe that uses include_recipe" do
|
10
|
-
recipe_file "include_recipe 'my_recipe::default'"
|
11
|
-
it { is_expected.not_to violate_rule }
|
12
|
-
end
|
13
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "FC043" do
|
4
|
-
context "with a cookbook that has no notifications" do
|
5
|
-
recipe_file <<-EOH
|
6
|
-
cookbook_file "something"
|
7
|
-
EOH
|
8
|
-
it { is_expected.not_to violate_rule }
|
9
|
-
end
|
10
|
-
|
11
|
-
context "with a cookbook with a resource that notifies a service to restart" do
|
12
|
-
recipe_file <<-EOH
|
13
|
-
template "/etc/apache.conf" do
|
14
|
-
notifies :start, "service[apache]"
|
15
|
-
end
|
16
|
-
EOH
|
17
|
-
it { is_expected.not_to violate_rule }
|
18
|
-
end
|
19
|
-
|
20
|
-
context "with a cookbook with a resource that uses the old notification syntax" do
|
21
|
-
recipe_file <<-EOH
|
22
|
-
template "/etc/www/configures-apache.conf" do
|
23
|
-
notifies :restart, resources(:service => "apache")
|
24
|
-
end
|
25
|
-
EOH
|
26
|
-
it { is_expected.to violate_rule }
|
27
|
-
end
|
28
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "FC045" do
|
4
|
-
context "with a cookbook with a metadata file that includes the name keyword" do
|
5
|
-
metadata_file "name 'food'"
|
6
|
-
it { is_expected.to_not violate_rule }
|
7
|
-
end
|
8
|
-
|
9
|
-
context "with a cookbook with a metadata file that doesn't include the name keyword" do
|
10
|
-
metadata_file
|
11
|
-
it { is_expected.to violate_rule }
|
12
|
-
end
|
13
|
-
|
14
|
-
context "with a cookbook without a metadata file" do
|
15
|
-
recipe_file
|
16
|
-
it { is_expected.to_not violate_rule }
|
17
|
-
end
|
18
|
-
end
|
@@ -1,67 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "FC048" do
|
4
|
-
context "with a recipe that uses simple backticks" do
|
5
|
-
recipe_file "`ls`"
|
6
|
-
it { is_expected.to violate_rule }
|
7
|
-
end
|
8
|
-
|
9
|
-
context "with a recipe that uses %x and containing a variable" do
|
10
|
-
recipe_file '`#{cmd}`'
|
11
|
-
it { is_expected.to violate_rule }
|
12
|
-
end
|
13
|
-
|
14
|
-
context "with a recipe that uses %x and curly brackets" do
|
15
|
-
recipe_file "%x{ls}"
|
16
|
-
it { is_expected.to violate_rule }
|
17
|
-
end
|
18
|
-
|
19
|
-
context "with a recipe that uses %x and square brackets" do
|
20
|
-
recipe_file "%x[ls]"
|
21
|
-
it { is_expected.to violate_rule }
|
22
|
-
end
|
23
|
-
|
24
|
-
context "with a recipe that uses %x and curly brackets containing a variable" do
|
25
|
-
recipe_file '%x{#{cmd} some_dir}'
|
26
|
-
it { is_expected.to violate_rule }
|
27
|
-
end
|
28
|
-
|
29
|
-
context "with a recipe that uses system without parantheses" do
|
30
|
-
recipe_file 'system "ls"'
|
31
|
-
it { is_expected.to violate_rule }
|
32
|
-
end
|
33
|
-
|
34
|
-
context "with a recipe that uses system without parantheses and a variable" do
|
35
|
-
recipe_file "system cmd"
|
36
|
-
it { is_expected.to violate_rule }
|
37
|
-
end
|
38
|
-
|
39
|
-
context "with a recipe that uses system with parantheses" do
|
40
|
-
recipe_file 'system("ls")'
|
41
|
-
it { is_expected.to violate_rule }
|
42
|
-
end
|
43
|
-
|
44
|
-
context "with a recipe that uses system with parantheses and a variable" do
|
45
|
-
recipe_file "system(cmd)"
|
46
|
-
it { is_expected.to violate_rule }
|
47
|
-
end
|
48
|
-
|
49
|
-
context "with a recipe that uses Mixlib::ShellOut" do
|
50
|
-
recipe_file "Mixlib::ShellOut.new('ls').run_command"
|
51
|
-
it { is_expected.to_not violate_rule }
|
52
|
-
end
|
53
|
-
|
54
|
-
context "with a recipe that uses shell_out" do
|
55
|
-
recipe_file "shell_out('ls')"
|
56
|
-
it { is_expected.to_not violate_rule }
|
57
|
-
end
|
58
|
-
|
59
|
-
context "with a recipe that specifies system in a user resource" do
|
60
|
-
recipe_file <<-EOF
|
61
|
-
user 'foo' do
|
62
|
-
system true
|
63
|
-
end
|
64
|
-
EOF
|
65
|
-
it { is_expected.to_not violate_rule }
|
66
|
-
end
|
67
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
require "spec_helper"
|
2
|
-
|
3
|
-
describe "FC049" do
|
4
|
-
foodcritic_command("--no-progress", "-R", "roles")
|
5
|
-
|
6
|
-
context "with webserver.rb" do
|
7
|
-
context "with name webserver" do
|
8
|
-
file "roles/webserver.rb", 'name "webserver"'
|
9
|
-
it { is_expected.to_not violate_rule }
|
10
|
-
end
|
11
|
-
|
12
|
-
context "with name apache" do
|
13
|
-
file "roles/webserver.rb", 'name "apache"'
|
14
|
-
it { is_expected.to violate_rule }
|
15
|
-
end
|
16
|
-
|
17
|
-
context "with a string expression in the name" do
|
18
|
-
file "roles/webserver.rb", 'name "ap#{ache}"'
|
19
|
-
it { is_expected.to_not violate_rule }
|
20
|
-
end
|
21
|
-
|
22
|
-
context "with multiple names" do
|
23
|
-
file "roles/webserver.rb", "name 'apache'\nname 'webserver'"
|
24
|
-
it { is_expected.to_not violate_rule }
|
25
|
-
end
|
26
|
-
|
27
|
-
context "with multiple mismatched names" do
|
28
|
-
file "roles/webserver.rb", "name 'webserver'\nname 'apache'"
|
29
|
-
it { is_expected.to violate_rule }
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
context "with webserver.json" do
|
34
|
-
context "with name webserver" do
|
35
|
-
file "roles/webserver.json", '{"name": "webserver"}'
|
36
|
-
it { is_expected.to_not violate_rule }
|
37
|
-
end
|
38
|
-
|
39
|
-
context "with name apache" do
|
40
|
-
file "roles/webserver.json", '{"name": "apache"}'
|
41
|
-
it { is_expected.to_not violate_rule }
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
context "in -B mode" do
|
46
|
-
foodcritic_command("--no-progress", "-B", "roles")
|
47
|
-
file "roles/webserver.rb", 'name "apache"'
|
48
|
-
it { is_expected.to_not violate_rule }
|
49
|
-
end
|
50
|
-
|
51
|
-
context "in normal mode" do
|
52
|
-
foodcritic_command("--no-progress", "roles")
|
53
|
-
file "roles/webserver.rb", 'name "apache"'
|
54
|
-
it { is_expected.to_not violate_rule }
|
55
|
-
end
|
56
|
-
end
|