chefspec 7.0.0 → 7.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -1
- data/Gemfile +6 -0
- data/README.md +43 -11
- data/Rakefile +48 -8
- data/chefspec.gemspec +0 -8
- data/examples/cab_package/spec/install_spec.rb +20 -18
- data/examples/cab_package/spec/remove_spec.rb +17 -15
- data/examples/cached/spec/default_spec.rb +1 -0
- data/examples/compile_time/spec/default_spec.rb +2 -0
- data/examples/custom_matcher/libraries/matcher.rb +1 -23
- data/examples/dnf_package/spec/install_spec.rb +20 -18
- data/examples/dnf_package/spec/purge_spec.rb +17 -15
- data/examples/dnf_package/spec/remove_spec.rb +17 -15
- data/examples/dnf_package/spec/upgrade_spec.rb +17 -15
- data/examples/heavy_provider_light_resource/spec/provider_service_spec.rb +1 -0
- data/examples/msu_package/spec/install_spec.rb +20 -18
- data/examples/msu_package/spec/remove_spec.rb +17 -15
- data/examples/server/spec/exotic_port_spec.rb +15 -2
- data/lib/chefspec.rb +1 -8
- data/lib/chefspec/api.rb +6 -84
- data/lib/chefspec/api/do_nothing.rb +18 -21
- data/lib/chefspec/api/include_recipe.rb +20 -23
- data/lib/chefspec/api/link.rb +20 -99
- data/lib/chefspec/api/notifications.rb +32 -35
- data/lib/chefspec/api/reboot.rb +5 -14
- data/lib/chefspec/api/render_file.rb +29 -32
- data/lib/chefspec/api/state_attrs.rb +22 -25
- data/lib/chefspec/api/subscriptions.rb +29 -32
- data/lib/chefspec/api/user.rb +216 -219
- data/lib/chefspec/extensions.rb +16 -0
- data/lib/chefspec/extensions/chef/resource.rb +90 -8
- data/lib/chefspec/version.rb +1 -1
- data/lib/chefspec/zero_server.rb +20 -18
- metadata +3 -313
- data/examples/custom_resource/libraries/matchers.rb +0 -5
- data/examples/use_inline_resources/libraries/matchers.rb +0 -5
- data/features/apt_package.feature +0 -14
- data/features/apt_repository.feature +0 -15
- data/features/apt_update.feature +0 -13
- data/features/attributes.feature +0 -7
- data/features/batch.feature +0 -10
- data/features/bff_package.feature +0 -12
- data/features/cab_package.feature +0 -21
- data/features/cached.feature +0 -7
- data/features/chef_gem.feature +0 -14
- data/features/chocolatey_package.feature +0 -14
- data/features/compile_time.feature +0 -7
- data/features/cookbook_file.feature +0 -13
- data/features/cron.feature +0 -11
- data/features/custom_matcher.feature +0 -11
- data/features/custom_resource.feature +0 -7
- data/features/deploy.feature +0 -12
- data/features/directory.feature +0 -11
- data/features/dnf_package.feature +0 -26
- data/features/do_nothing.feature +0 -10
- data/features/dpkg_package.feature +0 -12
- data/features/dsc_resource.feature +0 -10
- data/features/dsc_script.feature +0 -10
- data/features/env.feature +0 -12
- data/features/erl_call.feature +0 -10
- data/features/execute.feature +0 -10
- data/features/exotic_zero_port.feature +0 -7
- data/features/expect_exception.feature +0 -12
- data/features/file.feature +0 -13
- data/features/freebsd_package.feature +0 -11
- data/features/gem_package.feature +0 -14
- data/features/git.feature +0 -12
- data/features/group.feature +0 -13
- data/features/guards.feature +0 -10
- data/features/heavy_provider_light_resource.feature +0 -10
- data/features/homebrew_package.feature +0 -12
- data/features/http_request.feature +0 -15
- data/features/ifconfig.feature +0 -13
- data/features/include_recipe.feature +0 -10
- data/features/ips_package.feature +0 -12
- data/features/launchd.feature +0 -17
- data/features/link.feature +0 -12
- data/features/log.feature +0 -10
- data/features/macports_package.feature +0 -13
- data/features/mdadm.feature +0 -12
- data/features/mount.feature +0 -14
- data/features/msu_package.feature +0 -23
- data/features/multiple_actions.feature +0 -12
- data/features/multiple_run_action.feature +0 -7
- data/features/notifications.feature +0 -14
- data/features/ohai.feature +0 -10
- data/features/openbsd_package.feature +0 -12
- data/features/osx_profile.feature +0 -13
- data/features/package.feature +0 -14
- data/features/pacman_package.feature +0 -13
- data/features/paludis_package.feature +0 -12
- data/features/portage_package.feature +0 -13
- data/features/powershell_script.feature +0 -10
- data/features/reboot.feature +0 -12
- data/features/registry_key.feature +0 -13
- data/features/remote_directory.feature +0 -12
- data/features/remote_file.feature +0 -13
- data/features/render_file.feature +0 -11
- data/features/roles.feature +0 -7
- data/features/route.feature +0 -11
- data/features/rpm_package.feature +0 -12
- data/features/ruby_block.feature +0 -11
- data/features/script.feature +0 -16
- data/features/server.feature +0 -16
- data/features/server_on_disk.feature +0 -16
- data/features/service.feature +0 -15
- data/features/smartos_package.feature +0 -12
- data/features/solaris_package.feature +0 -12
- data/features/state_attrs.feature +0 -7
- data/features/step_definitions/background_steps.rb +0 -7
- data/features/step_into.feature +0 -7
- data/features/stub_command.feature +0 -7
- data/features/stub_data_bag.feature +0 -7
- data/features/stub_data_bag_item.feature +0 -7
- data/features/stub_node.feature +0 -7
- data/features/stub_search.feature +0 -7
- data/features/subscribes.feature +0 -14
- data/features/subversion.feature +0 -13
- data/features/support/env.rb +0 -38
- data/features/support/executor.rb +0 -20
- data/features/support/exotic_zero_port.rb +0 -3
- data/features/support/on_disk.rb +0 -7
- data/features/systemd_unit.feature +0 -27
- data/features/template.feature +0 -13
- data/features/use_inline_resources.feature +0 -7
- data/features/user.feature +0 -15
- data/features/windows_package.feature +0 -11
- data/features/windows_service.feature +0 -16
- data/features/yum_package.feature +0 -13
- data/features/yum_repository.feature +0 -23
- data/features/zypper_package.feature +0 -13
- data/lib/chefspec/api/apt_package.rb +0 -192
- data/lib/chefspec/api/apt_repository.rb +0 -56
- data/lib/chefspec/api/apt_update.rb +0 -53
- data/lib/chefspec/api/batch.rb +0 -43
- data/lib/chefspec/api/bff_package.rb +0 -154
- data/lib/chefspec/api/cab_package.rb +0 -80
- data/lib/chefspec/api/chef_gem.rb +0 -191
- data/lib/chefspec/api/chocolatey_package.rb +0 -107
- data/lib/chefspec/api/cookbook_file.rb +0 -166
- data/lib/chefspec/api/cron.rb +0 -80
- data/lib/chefspec/api/deploy.rb +0 -117
- data/lib/chefspec/api/directory.rb +0 -80
- data/lib/chefspec/api/dnf_package.rb +0 -154
- data/lib/chefspec/api/dpkg_package.rb +0 -117
- data/lib/chefspec/api/dsc_resource.rb +0 -49
- data/lib/chefspec/api/dsc_script.rb +0 -37
- data/lib/chefspec/api/easy_install_package.rb +0 -154
- data/lib/chefspec/api/env.rb +0 -117
- data/lib/chefspec/api/erl_call.rb +0 -43
- data/lib/chefspec/api/execute.rb +0 -43
- data/lib/chefspec/api/file.rb +0 -166
- data/lib/chefspec/api/freebsd_package.rb +0 -80
- data/lib/chefspec/api/gem_package.rb +0 -191
- data/lib/chefspec/api/git.rb +0 -117
- data/lib/chefspec/api/group.rb +0 -154
- data/lib/chefspec/api/homebrew_package.rb +0 -154
- data/lib/chefspec/api/http_request.rb +0 -228
- data/lib/chefspec/api/ifconfig.rb +0 -154
- data/lib/chefspec/api/ips_package.rb +0 -117
- data/lib/chefspec/api/launchd.rb +0 -151
- data/lib/chefspec/api/log.rb +0 -43
- data/lib/chefspec/api/macports_package.rb +0 -154
- data/lib/chefspec/api/mdadm.rb +0 -117
- data/lib/chefspec/api/mount.rb +0 -192
- data/lib/chefspec/api/msu_package.rb +0 -81
- data/lib/chefspec/api/ohai.rb +0 -43
- data/lib/chefspec/api/openbsd_package.rb +0 -155
- data/lib/chefspec/api/osx_profile.rb +0 -63
- data/lib/chefspec/api/package.rb +0 -192
- data/lib/chefspec/api/pacman_package.rb +0 -155
- data/lib/chefspec/api/paludis_package.rb +0 -155
- data/lib/chefspec/api/portage_package.rb +0 -155
- data/lib/chefspec/api/powershell_script.rb +0 -43
- data/lib/chefspec/api/registry_key.rb +0 -166
- data/lib/chefspec/api/remote_directory.rb +0 -120
- data/lib/chefspec/api/remote_file.rb +0 -166
- data/lib/chefspec/api/route.rb +0 -80
- data/lib/chefspec/api/rpm_package.rb +0 -117
- data/lib/chefspec/api/ruby_block.rb +0 -68
- data/lib/chefspec/api/script.rb +0 -278
- data/lib/chefspec/api/service.rb +0 -246
- data/lib/chefspec/api/smartos_package.rb +0 -117
- data/lib/chefspec/api/solaris_package.rb +0 -117
- data/lib/chefspec/api/subversion.rb +0 -154
- data/lib/chefspec/api/systemd_unit.rb +0 -353
- data/lib/chefspec/api/template.rb +0 -166
- data/lib/chefspec/api/windows_package.rb +0 -86
- data/lib/chefspec/api/windows_service.rb +0 -286
- data/lib/chefspec/api/yum_package.rb +0 -154
- data/lib/chefspec/api/yum_repository.rb +0 -130
- data/lib/chefspec/api/zypper_package.rb +0 -154
- data/spec/unit/api_spec.rb +0 -18
@@ -1,154 +0,0 @@
|
|
1
|
-
module ChefSpec::API
|
2
|
-
# @since 3.0.0
|
3
|
-
module YumPackageMatchers
|
4
|
-
ChefSpec.define_matcher :yum_package
|
5
|
-
|
6
|
-
#
|
7
|
-
# Assert that a +yum_package+ resource exists in the Chef run with the
|
8
|
-
# action +:install+. Given a Chef Recipe that installs "apache2" as a
|
9
|
-
# +yum_package+:
|
10
|
-
#
|
11
|
-
# yum_package 'apache2' do
|
12
|
-
# action :install
|
13
|
-
# end
|
14
|
-
#
|
15
|
-
# The Examples section demonstrates the different ways to test a
|
16
|
-
# +yum_package+ resource with ChefSpec.
|
17
|
-
#
|
18
|
-
# @example Assert that a +yum_package+ was installed
|
19
|
-
# expect(chef_run).to install_yum_package('apache2')
|
20
|
-
#
|
21
|
-
# @example Assert that a +yum_package+ was installed with predicate matchers
|
22
|
-
# expect(chef_run).to install_yum_package('apache2').with_version('1.2.3')
|
23
|
-
#
|
24
|
-
# @example Assert that a +yum_package+ was installed with attributes
|
25
|
-
# expect(chef_run).to install_yum_package('apache2').with(version: '1.2.3')
|
26
|
-
#
|
27
|
-
# @example Assert that a +yum_package+ was installed using a regex
|
28
|
-
# expect(chef_run).to install_yum_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
29
|
-
#
|
30
|
-
# @example Assert that a +yum_package+ was _not_ installed
|
31
|
-
# expect(chef_run).to_not install_yum_package('apache2')
|
32
|
-
#
|
33
|
-
#
|
34
|
-
# @param [String, Regex] resource_name
|
35
|
-
# the name of the resource to match
|
36
|
-
#
|
37
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
38
|
-
#
|
39
|
-
def install_yum_package(resource_name)
|
40
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_package, :install, resource_name)
|
41
|
-
end
|
42
|
-
|
43
|
-
#
|
44
|
-
# Assert that a +yum_package+ resource exists in the Chef run with the
|
45
|
-
# action +:purge+. Given a Chef Recipe that purges "apache2" as a
|
46
|
-
# +yum_package+:
|
47
|
-
#
|
48
|
-
# yum_package 'apache2' do
|
49
|
-
# action :purge
|
50
|
-
# end
|
51
|
-
#
|
52
|
-
# The Examples section demonstrates the different ways to test a
|
53
|
-
# +yum_package+ resource with ChefSpec.
|
54
|
-
#
|
55
|
-
# @example Assert that a +yum_package+ was purged
|
56
|
-
# expect(chef_run).to purge_yum_package('apache2')
|
57
|
-
#
|
58
|
-
# @example Assert that a +yum_package+ was purged with predicate matchers
|
59
|
-
# expect(chef_run).to purge_yum_package('apache2').with_version('1.2.3')
|
60
|
-
#
|
61
|
-
# @example Assert that a +yum_package+ was purged with attributes
|
62
|
-
# expect(chef_run).to purge_yum_package('apache2').with(version: '1.2.3')
|
63
|
-
#
|
64
|
-
# @example Assert that a +yum_package+ was purged using a regex
|
65
|
-
# expect(chef_run).to purge_yum_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
66
|
-
#
|
67
|
-
# @example Assert that a +yum_package+ was _not_ purged
|
68
|
-
# expect(chef_run).to_not purge_yum_package('apache2')
|
69
|
-
#
|
70
|
-
#
|
71
|
-
# @param [String, Regex] resource_name
|
72
|
-
# the name of the resource to match
|
73
|
-
#
|
74
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
75
|
-
#
|
76
|
-
def purge_yum_package(resource_name)
|
77
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_package, :purge, resource_name)
|
78
|
-
end
|
79
|
-
|
80
|
-
#
|
81
|
-
# Assert that a +yum_package+ resource exists in the Chef run with the
|
82
|
-
# action +:remove+. Given a Chef Recipe that removes "apache2" as a
|
83
|
-
# +yum_package+:
|
84
|
-
#
|
85
|
-
# yum_package 'apache2' do
|
86
|
-
# action :remove
|
87
|
-
# end
|
88
|
-
#
|
89
|
-
# The Examples section demonstrates the different ways to test a
|
90
|
-
# +yum_package+ resource with ChefSpec.
|
91
|
-
#
|
92
|
-
# @example Assert that a +yum_package+ was removed
|
93
|
-
# expect(chef_run).to remove_yum_package('apache2')
|
94
|
-
#
|
95
|
-
# @example Assert that a +yum_package+ was removed with predicate matchers
|
96
|
-
# expect(chef_run).to remove_yum_package('apache2').with_version('1.2.3')
|
97
|
-
#
|
98
|
-
# @example Assert that a +yum_package+ was removed with attributes
|
99
|
-
# expect(chef_run).to remove_yum_package('apache2').with(version: '1.2.3')
|
100
|
-
#
|
101
|
-
# @example Assert that a +yum_package+ was removed using a regex
|
102
|
-
# expect(chef_run).to remove_yum_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
103
|
-
#
|
104
|
-
# @example Assert that a +yum_package+ was _not_ removed
|
105
|
-
# expect(chef_run).to_not remove_yum_package('apache2')
|
106
|
-
#
|
107
|
-
#
|
108
|
-
# @param [String, Regex] resource_name
|
109
|
-
# the name of the resource to match
|
110
|
-
#
|
111
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
112
|
-
#
|
113
|
-
def remove_yum_package(resource_name)
|
114
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_package, :remove, resource_name)
|
115
|
-
end
|
116
|
-
|
117
|
-
#
|
118
|
-
# Assert that a +yum_package+ resource exists in the Chef run with the
|
119
|
-
# action +:upgrade+. Given a Chef Recipe that upgrades "apache2" as a
|
120
|
-
# +yum_package+:
|
121
|
-
#
|
122
|
-
# yum_package 'apache2' do
|
123
|
-
# action :upgrade
|
124
|
-
# end
|
125
|
-
#
|
126
|
-
# The Examples section demonstrates the different ways to test a
|
127
|
-
# +yum_package+ resource with ChefSpec.
|
128
|
-
#
|
129
|
-
# @example Assert that a +yum_package+ was upgraded
|
130
|
-
# expect(chef_run).to upgrade_yum_package('apache2')
|
131
|
-
#
|
132
|
-
# @example Assert that a +yum_package+ was upgraded with predicate matchers
|
133
|
-
# expect(chef_run).to upgrade_yum_package('apache2').with_version('1.2.3')
|
134
|
-
#
|
135
|
-
# @example Assert that a +yum_package+ was upgraded with attributes
|
136
|
-
# expect(chef_run).to upgrade_yum_package('apache2').with(version: '1.2.3')
|
137
|
-
#
|
138
|
-
# @example Assert that a +yum_package+ was upgraded using a regex
|
139
|
-
# expect(chef_run).to upgrade_yum_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
140
|
-
#
|
141
|
-
# @example Assert that a +yum_package+ was _not_ upgraded
|
142
|
-
# expect(chef_run).to_not upgrade_yum_package('apache2')
|
143
|
-
#
|
144
|
-
#
|
145
|
-
# @param [String, Regex] resource_name
|
146
|
-
# the name of the resource to match
|
147
|
-
#
|
148
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
149
|
-
#
|
150
|
-
def upgrade_yum_package(resource_name)
|
151
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_package, :upgrade, resource_name)
|
152
|
-
end
|
153
|
-
end
|
154
|
-
end
|
@@ -1,130 +0,0 @@
|
|
1
|
-
module ChefSpec::API
|
2
|
-
# @since 3.0.0
|
3
|
-
module YumRepositoryMatchers
|
4
|
-
ChefSpec.define_matcher :yum_repository
|
5
|
-
|
6
|
-
#
|
7
|
-
# Assert that a +yum_repository+ resource exists in the Chef run with the
|
8
|
-
# action +:create+. Given a Chef Recipe that creates "epel" as an
|
9
|
-
# +yum_repository+:
|
10
|
-
#
|
11
|
-
# yum_repository 'epel' do
|
12
|
-
# baseurl "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-#{node['platform_version'].to_i}&arch=$basearch"
|
13
|
-
# description 'Extra Packages for $releasever - $basearch'
|
14
|
-
# action :create
|
15
|
-
# end
|
16
|
-
#
|
17
|
-
# The Examples section demonstrates the different ways to test an
|
18
|
-
# +yum_repository+ resource with ChefSpec.
|
19
|
-
#
|
20
|
-
# @example Assert that an +yum_repository+ was created
|
21
|
-
# expect(chef_run).to create_yum_repository('epel')
|
22
|
-
# @param [String, Regex] resource_name
|
23
|
-
# the name of the resource to match
|
24
|
-
#
|
25
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
26
|
-
|
27
|
-
def create_yum_repository(resource_name)
|
28
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :create,
|
29
|
-
resource_name)
|
30
|
-
end
|
31
|
-
|
32
|
-
#
|
33
|
-
# Assert that a +yum_repository+ resource exists in the Chef run with the
|
34
|
-
# action +:add+. Given a Chef Recipe that adds "epel" as an
|
35
|
-
# +yum_repository+:
|
36
|
-
#
|
37
|
-
# yum_repository 'epel' do
|
38
|
-
# baseurl "http://mirrors.fedoraproject.org/mirrorlist?repo=epel-#{node['platform_version'].to_i}&arch=$basearch"
|
39
|
-
# description 'Extra Packages for $releasever - $basearch'
|
40
|
-
# action :add
|
41
|
-
# end
|
42
|
-
#
|
43
|
-
# The Examples section demonstrates the different ways to test an
|
44
|
-
# +yum_repository+ resource with ChefSpec.
|
45
|
-
#
|
46
|
-
# @example Assert that an +yum_repository+ was added
|
47
|
-
# expect(chef_run).to add_yum_repository('epel')
|
48
|
-
# @param [String, Regex] resource_name
|
49
|
-
# the name of the resource to match
|
50
|
-
#
|
51
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
52
|
-
|
53
|
-
def add_yum_repository(resource_name)
|
54
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :add,
|
55
|
-
resource_name)
|
56
|
-
end
|
57
|
-
|
58
|
-
#
|
59
|
-
# Assert that a +yum_repository+ resource exists in the Chef run with the
|
60
|
-
# action +:delete+. Given a Chef Recipe that deletes "epel" as an
|
61
|
-
# +yum_repository+:
|
62
|
-
#
|
63
|
-
# yum_repository 'epel' do
|
64
|
-
# action :delete
|
65
|
-
# end
|
66
|
-
#
|
67
|
-
# The Examples section demonstrates the different ways to test an
|
68
|
-
# +yum_repository+ resource with ChefSpec.
|
69
|
-
#
|
70
|
-
# @example Assert that an +yum_repository+ was deleted
|
71
|
-
# expect(chef_run).to delete_yum_repository('epel')
|
72
|
-
# @param [String, Regex] resource_name
|
73
|
-
# the name of the resource to match
|
74
|
-
#
|
75
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
76
|
-
|
77
|
-
def delete_yum_repository(resource_name)
|
78
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :delete,
|
79
|
-
resource_name)
|
80
|
-
end
|
81
|
-
|
82
|
-
#
|
83
|
-
# Assert that a +yum_repository+ resource exists in the Chef run with the
|
84
|
-
# action +:remove+. Given a Chef Recipe that removes "epel" as an
|
85
|
-
# +yum_repository+:
|
86
|
-
#
|
87
|
-
# yum_repository 'epel' do
|
88
|
-
# action :remove
|
89
|
-
# end
|
90
|
-
#
|
91
|
-
# The Examples section demonstrates the different ways to test an
|
92
|
-
# +yum_repository+ resource with ChefSpec.
|
93
|
-
#
|
94
|
-
# @example Assert that an +yum_repository+ was removed
|
95
|
-
# expect(chef_run).to remove_yum_repository('epel')
|
96
|
-
# @param [String, Regex] resource_name
|
97
|
-
# the name of the resource to match
|
98
|
-
#
|
99
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
100
|
-
|
101
|
-
def remove_yum_repository(resource_name)
|
102
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :remove,
|
103
|
-
resource_name)
|
104
|
-
end
|
105
|
-
|
106
|
-
#
|
107
|
-
# Assert that a +yum_repository+ resource exists in the Chef run with the
|
108
|
-
# action +:makecache+. Given a Chef Recipe that makes cache for "epel" as
|
109
|
-
# a +yum_repository+:
|
110
|
-
#
|
111
|
-
# yum_repository 'epel' do
|
112
|
-
# action :makecache
|
113
|
-
# end
|
114
|
-
#
|
115
|
-
# The Examples section demonstrates the different ways to test an
|
116
|
-
# +yum_repository+ resource with ChefSpec.
|
117
|
-
#
|
118
|
-
# @example Assert that an +yum_repository+ was make cache'd
|
119
|
-
# expect(chef_run).to makecache_yum_repository('epel')
|
120
|
-
# @param [String, Regex] resource_name
|
121
|
-
# the name of the resource to match
|
122
|
-
#
|
123
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
124
|
-
|
125
|
-
def makecache_yum_repository(resource_name)
|
126
|
-
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :makecache,
|
127
|
-
resource_name)
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
@@ -1,154 +0,0 @@
|
|
1
|
-
module ChefSpec::API
|
2
|
-
# @since 5.1.0
|
3
|
-
module ZypperPackageMatchers
|
4
|
-
ChefSpec.define_matcher :zypper_package
|
5
|
-
|
6
|
-
#
|
7
|
-
# Assert that a +zypper_package+ resource exists in the Chef run with the
|
8
|
-
# action +:install+. Given a Chef Recipe that installs "apache2" as a
|
9
|
-
# +zypper_package+:
|
10
|
-
#
|
11
|
-
# zypper_package 'apache2' do
|
12
|
-
# action :install
|
13
|
-
# end
|
14
|
-
#
|
15
|
-
# The Examples section demonstrates the different ways to test a
|
16
|
-
# +zypper_package+ resource with ChefSpec.
|
17
|
-
#
|
18
|
-
# @example Assert that a +zypper_package+ was installed
|
19
|
-
# expect(chef_run).to install_zypper_package('apache2')
|
20
|
-
#
|
21
|
-
# @example Assert that a +zypper_package+ was installed with predicate matchers
|
22
|
-
# expect(chef_run).to install_zypper_package('apache2').with_version('1.2.3')
|
23
|
-
#
|
24
|
-
# @example Assert that a +zypper_package+ was installed with attributes
|
25
|
-
# expect(chef_run).to install_zypper_package('apache2').with(version: '1.2.3')
|
26
|
-
#
|
27
|
-
# @example Assert that a +zypper_package+ was installed using a regex
|
28
|
-
# expect(chef_run).to install_zypper_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
29
|
-
#
|
30
|
-
# @example Assert that a +zypper_package+ was _not_ installed
|
31
|
-
# expect(chef_run).to_not install_zypper_package('apache2')
|
32
|
-
#
|
33
|
-
#
|
34
|
-
# @param [String, Regex] resource_name
|
35
|
-
# the name of the resource to match
|
36
|
-
#
|
37
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
38
|
-
#
|
39
|
-
def install_zypper_package(resource_name)
|
40
|
-
ChefSpec::Matchers::ResourceMatcher.new(:zypper_package, :install, resource_name)
|
41
|
-
end
|
42
|
-
|
43
|
-
#
|
44
|
-
# Assert that a +zypper_package+ resource exists in the Chef run with the
|
45
|
-
# action +:purge+. Given a Chef Recipe that purges "apache2" as a
|
46
|
-
# +zypper_package+:
|
47
|
-
#
|
48
|
-
# zypper_package 'apache2' do
|
49
|
-
# action :purge
|
50
|
-
# end
|
51
|
-
#
|
52
|
-
# The Examples section demonstrates the different ways to test a
|
53
|
-
# +zypper_package+ resource with ChefSpec.
|
54
|
-
#
|
55
|
-
# @example Assert that a +zypper_package+ was purged
|
56
|
-
# expect(chef_run).to purge_zypper_package('apache2')
|
57
|
-
#
|
58
|
-
# @example Assert that a +zypper_package+ was purged with predicate matchers
|
59
|
-
# expect(chef_run).to purge_zypper_package('apache2').with_version('1.2.3')
|
60
|
-
#
|
61
|
-
# @example Assert that a +zypper_package+ was purged with attributes
|
62
|
-
# expect(chef_run).to purge_zypper_package('apache2').with(version: '1.2.3')
|
63
|
-
#
|
64
|
-
# @example Assert that a +zypper_package+ was purged using a regex
|
65
|
-
# expect(chef_run).to purge_zypper_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
66
|
-
#
|
67
|
-
# @example Assert that a +zypper_package+ was _not_ purged
|
68
|
-
# expect(chef_run).to_not purge_zypper_package('apache2')
|
69
|
-
#
|
70
|
-
#
|
71
|
-
# @param [String, Regex] resource_name
|
72
|
-
# the name of the resource to match
|
73
|
-
#
|
74
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
75
|
-
#
|
76
|
-
def purge_zypper_package(resource_name)
|
77
|
-
ChefSpec::Matchers::ResourceMatcher.new(:zypper_package, :purge, resource_name)
|
78
|
-
end
|
79
|
-
|
80
|
-
#
|
81
|
-
# Assert that a +zypper_package+ resource exists in the Chef run with the
|
82
|
-
# action +:remove+. Given a Chef Recipe that removes "apache2" as a
|
83
|
-
# +zypper_package+:
|
84
|
-
#
|
85
|
-
# zypper_package 'apache2' do
|
86
|
-
# action :remove
|
87
|
-
# end
|
88
|
-
#
|
89
|
-
# The Examples section demonstrates the different ways to test a
|
90
|
-
# +zypper_package+ resource with ChefSpec.
|
91
|
-
#
|
92
|
-
# @example Assert that a +zypper_package+ was removed
|
93
|
-
# expect(chef_run).to remove_zypper_package('apache2')
|
94
|
-
#
|
95
|
-
# @example Assert that a +zypper_package+ was removed with predicate matchers
|
96
|
-
# expect(chef_run).to remove_zypper_package('apache2').with_version('1.2.3')
|
97
|
-
#
|
98
|
-
# @example Assert that a +zypper_package+ was removed with attributes
|
99
|
-
# expect(chef_run).to remove_zypper_package('apache2').with(version: '1.2.3')
|
100
|
-
#
|
101
|
-
# @example Assert that a +zypper_package+ was removed using a regex
|
102
|
-
# expect(chef_run).to remove_zypper_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
103
|
-
#
|
104
|
-
# @example Assert that a +zypper_package+ was _not_ removed
|
105
|
-
# expect(chef_run).to_not remove_zypper_package('apache2')
|
106
|
-
#
|
107
|
-
#
|
108
|
-
# @param [String, Regex] resource_name
|
109
|
-
# the name of the resource to match
|
110
|
-
#
|
111
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
112
|
-
#
|
113
|
-
def remove_zypper_package(resource_name)
|
114
|
-
ChefSpec::Matchers::ResourceMatcher.new(:zypper_package, :remove, resource_name)
|
115
|
-
end
|
116
|
-
|
117
|
-
#
|
118
|
-
# Assert that a +zypper_package+ resource exists in the Chef run with the
|
119
|
-
# action +:upgrade+. Given a Chef Recipe that upgrades "apache2" as a
|
120
|
-
# +zypper_package+:
|
121
|
-
#
|
122
|
-
# zypper_package 'apache2' do
|
123
|
-
# action :upgrade
|
124
|
-
# end
|
125
|
-
#
|
126
|
-
# The Examples section demonstrates the different ways to test a
|
127
|
-
# +zypper_package+ resource with ChefSpec.
|
128
|
-
#
|
129
|
-
# @example Assert that a +zypper_package+ was upgraded
|
130
|
-
# expect(chef_run).to upgrade_zypper_package('apache2')
|
131
|
-
#
|
132
|
-
# @example Assert that a +zypper_package+ was upgraded with predicate matchers
|
133
|
-
# expect(chef_run).to upgrade_zypper_package('apache2').with_version('1.2.3')
|
134
|
-
#
|
135
|
-
# @example Assert that a +zypper_package+ was upgraded with attributes
|
136
|
-
# expect(chef_run).to upgrade_zypper_package('apache2').with(version: '1.2.3')
|
137
|
-
#
|
138
|
-
# @example Assert that a +zypper_package+ was upgraded using a regex
|
139
|
-
# expect(chef_run).to upgrade_zypper_package('apache2').with(version: /(\d+\.){2}\.\d+/)
|
140
|
-
#
|
141
|
-
# @example Assert that a +zypper_package+ was _not_ upgraded
|
142
|
-
# expect(chef_run).to_not upgrade_zypper_package('apache2')
|
143
|
-
#
|
144
|
-
#
|
145
|
-
# @param [String, Regex] resource_name
|
146
|
-
# the name of the resource to match
|
147
|
-
#
|
148
|
-
# @return [ChefSpec::Matchers::ResourceMatcher]
|
149
|
-
#
|
150
|
-
def upgrade_zypper_package(resource_name)
|
151
|
-
ChefSpec::Matchers::ResourceMatcher.new(:zypper_package, :upgrade, resource_name)
|
152
|
-
end
|
153
|
-
end
|
154
|
-
end
|
data/spec/unit/api_spec.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe ChefSpec::API do
|
4
|
-
before do
|
5
|
-
module ChefSpec::API
|
6
|
-
module CustomSubmodule
|
7
|
-
def custom_method; end
|
8
|
-
end
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
subject { Class.new { include ChefSpec::API }.new }
|
13
|
-
|
14
|
-
it 'includes all submodules in the including class' do
|
15
|
-
expect(subject).to be_a(ChefSpec::API::CustomSubmodule)
|
16
|
-
expect(subject).to respond_to(:custom_method)
|
17
|
-
end
|
18
|
-
end
|