beaker 4.38.1 → 5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +9 -0
- data/.github/workflows/release.yml +2 -2
- data/.github/workflows/test.yml +36 -11
- data/.rubocop.yml +75 -0
- data/.rubocop_todo.yml +239 -0
- data/CHANGELOG.md +88 -33
- data/Gemfile +16 -4
- data/HISTORY.md +103 -0
- data/Rakefile +101 -112
- data/acceptance/config/acceptance-options.rb +1 -1
- data/acceptance/config/base/acceptance-options.rb +2 -2
- data/acceptance/config/hypervisor/acceptance-options.rb +2 -2
- data/acceptance/config/subcommands/acceptance-options.rb +2 -2
- data/acceptance/fixtures/module/Gemfile +1 -1
- data/acceptance/fixtures/module/Rakefile +3 -3
- data/acceptance/fixtures/module/spec/acceptance/demo_spec.rb +16 -23
- data/acceptance/fixtures/module/spec/classes/init_spec.rb +1 -2
- data/acceptance/fixtures/module/spec/spec_helper_acceptance.rb +3 -5
- data/acceptance/lib/helpers/test_helper.rb +7 -6
- data/acceptance/pre_suite/subcommands/05_install_ruby.rb +2 -3
- data/acceptance/pre_suite/subcommands/08_install_beaker.rb +1 -2
- data/acceptance/tests/base/dsl/helpers/configuration_test.rb +4 -4
- data/acceptance/tests/base/dsl/helpers/hocon_helpers_test.rb +7 -8
- data/acceptance/tests/base/dsl/helpers/host_helpers/add_system32_hosts_entry_test.rb +0 -3
- data/acceptance/tests/base/dsl/helpers/host_helpers/archive_file_from_test.rb +9 -7
- data/acceptance/tests/base/dsl/helpers/host_helpers/backup_the_file_test.rb +15 -21
- data/acceptance/tests/base/dsl/helpers/host_helpers/check_for_package_test.rb +0 -4
- data/acceptance/tests/base/dsl/helpers/host_helpers/create_remote_file_test.rb +23 -30
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_on_test.rb +3 -3
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +0 -1
- data/acceptance/tests/base/dsl/helpers/host_helpers/on_test.rb +21 -16
- data/acceptance/tests/base/dsl/helpers/host_helpers/retry_on_test.rb +7 -7
- data/acceptance/tests/base/dsl/helpers/host_helpers/rsync_to_test.rb +30 -38
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_cron_on_test.rb +14 -18
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_on_test.rb +8 -14
- data/acceptance/tests/base/dsl/helpers/host_helpers/run_script_test.rb +7 -11
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_from_test.rb +5 -5
- data/acceptance/tests/base/dsl/helpers/host_helpers/scp_to_test.rb +4 -5
- data/acceptance/tests/base/dsl/helpers/host_helpers/shell_test.rb +8 -8
- data/acceptance/tests/base/dsl/helpers/host_helpers/upgrade_package_test.rb +4 -6
- data/acceptance/tests/base/dsl/platform_tag_confiner_test.rb +14 -17
- data/acceptance/tests/base/dsl/structure_test.rb +9 -21
- data/acceptance/tests/base/host/file_test.rb +8 -8
- data/acceptance/tests/base/host/group_test.rb +2 -3
- data/acceptance/tests/base/host/host_test.rb +69 -66
- data/acceptance/tests/base/host/packages.rb +27 -30
- data/acceptance/tests/base/host/packages_unix.rb +0 -55
- data/acceptance/tests/base/host/user_test.rb +2 -3
- data/acceptance/tests/base/host_prebuilt_steps/ssh_environment_test.rb +1 -2
- data/acceptance/tests/base/test_suite/export.rb +6 -9
- data/acceptance/tests/install/from_file.rb +3 -5
- data/acceptance/tests/load_path_bootstrap.rb +1 -1
- data/acceptance/tests/subcommands/destroy.rb +19 -21
- data/acceptance/tests/subcommands/exec.rb +0 -1
- data/acceptance/tests/subcommands/init.rb +2 -3
- data/acceptance/tests/subcommands/provision.rb +0 -1
- data/beaker.gemspec +10 -14
- data/docs/concepts/argument_processing_and_precedence.md +1 -10
- data/docs/concepts/style_guide.md +1 -1
- data/docs/how_to/debug_beaker_tests.md +13 -13
- data/docs/how_to/hosts/eos.md +2 -12
- data/docs/how_to/install_puppet.md +0 -18
- data/docs/how_to/test_arbitrary_beaker_versions.md +2 -2
- data/docs/how_to/the_beaker_dsl.md +0 -2
- data/lib/beaker/cli.rb +63 -74
- data/lib/beaker/command.rb +22 -30
- data/lib/beaker/command_factory.rb +4 -3
- data/lib/beaker/dsl/assertions.rb +7 -19
- data/lib/beaker/dsl/helpers/hocon_helpers.rb +5 -9
- data/lib/beaker/dsl/helpers/host_helpers.rb +72 -133
- data/lib/beaker/dsl/helpers/test_helpers.rb +3 -5
- data/lib/beaker/dsl/helpers/web_helpers.rb +20 -28
- data/lib/beaker/dsl/helpers.rb +2 -4
- data/lib/beaker/dsl/outcomes.rb +17 -19
- data/lib/beaker/dsl/patterns.rb +1 -3
- data/lib/beaker/dsl/roles.rb +18 -21
- data/lib/beaker/dsl/structure.rb +55 -67
- data/lib/beaker/dsl/test_tagging.rb +7 -10
- data/lib/beaker/dsl/wrappers.rb +15 -16
- data/lib/beaker/dsl.rb +2 -3
- data/lib/beaker/host/aix/exec.rb +1 -1
- data/lib/beaker/host/aix/file.rb +0 -1
- data/lib/beaker/host/aix/group.rb +3 -3
- data/lib/beaker/host/aix/user.rb +3 -3
- data/lib/beaker/host/aix.rb +3 -4
- data/lib/beaker/host/cisco.rb +36 -48
- data/lib/beaker/host/eos.rb +4 -30
- data/lib/beaker/host/freebsd/exec.rb +1 -1
- data/lib/beaker/host/freebsd/pkg.rb +3 -3
- data/lib/beaker/host/freebsd.rb +9 -12
- data/lib/beaker/host/mac/exec.rb +5 -5
- data/lib/beaker/host/mac/group.rb +13 -13
- data/lib/beaker/host/mac/pkg.rb +6 -109
- data/lib/beaker/host/mac/user.rb +7 -7
- data/lib/beaker/host/mac.rb +8 -9
- data/lib/beaker/host/pswindows/exec.rb +70 -74
- data/lib/beaker/host/pswindows/file.rb +4 -6
- data/lib/beaker/host/pswindows/group.rb +5 -5
- data/lib/beaker/host/pswindows/pkg.rb +17 -17
- data/lib/beaker/host/pswindows/user.rb +4 -4
- data/lib/beaker/host/pswindows.rb +4 -3
- data/lib/beaker/host/unix/exec.rb +86 -88
- data/lib/beaker/host/unix/file.rb +41 -47
- data/lib/beaker/host/unix/group.rb +3 -3
- data/lib/beaker/host/unix/pkg.rb +158 -421
- data/lib/beaker/host/unix/user.rb +4 -4
- data/lib/beaker/host/unix.rb +18 -20
- data/lib/beaker/host/windows/exec.rb +20 -20
- data/lib/beaker/host/windows/file.rb +5 -5
- data/lib/beaker/host/windows/group.rb +5 -5
- data/lib/beaker/host/windows/pkg.rb +6 -57
- data/lib/beaker/host/windows/user.rb +4 -4
- data/lib/beaker/host/windows.rb +13 -13
- data/lib/beaker/host.rb +82 -139
- data/lib/beaker/host_prebuilt_steps.rb +121 -233
- data/lib/beaker/hypervisor/noop.rb +2 -4
- data/lib/beaker/hypervisor.rb +46 -63
- data/lib/beaker/local_connection.rb +4 -6
- data/lib/beaker/logger.rb +71 -85
- data/lib/beaker/logger_junit.rb +22 -26
- data/lib/beaker/network_manager.rb +40 -43
- data/lib/beaker/options/command_line_parser.rb +12 -23
- data/lib/beaker/options/hosts_file_parser.rb +34 -25
- data/lib/beaker/options/options_file_parser.rb +3 -6
- data/lib/beaker/options/options_hash.rb +3 -10
- data/lib/beaker/options/parser.rb +89 -105
- data/lib/beaker/options/presets.rb +114 -123
- data/lib/beaker/options/subcommand_options_file_parser.rb +3 -6
- data/lib/beaker/options/validator.rb +26 -31
- data/lib/beaker/perf.rb +29 -34
- data/lib/beaker/platform.rb +38 -46
- data/lib/beaker/result.rb +7 -6
- data/lib/beaker/shared/error_handler.rb +8 -10
- data/lib/beaker/shared/fog_credentials.rb +5 -9
- data/lib/beaker/shared/host_manager.rb +40 -46
- data/lib/beaker/shared/options_resolver.rb +3 -7
- data/lib/beaker/shared/repetition.rb +6 -8
- data/lib/beaker/shared/semvar.rb +39 -43
- data/lib/beaker/shared/timed.rb +2 -5
- data/lib/beaker/shared.rb +1 -1
- data/lib/beaker/ssh_connection.rb +46 -55
- data/lib/beaker/subcommand.rb +23 -30
- data/lib/beaker/subcommands/subcommand_util.rb +4 -4
- data/lib/beaker/tasks/quick_start.rb +5 -10
- data/lib/beaker/tasks/rake_task.rb +26 -28
- data/lib/beaker/tasks/test.rb +4 -4
- data/lib/beaker/test_case.rb +15 -27
- data/lib/beaker/test_suite.rb +35 -39
- data/lib/beaker/test_suite_result.rb +52 -57
- data/lib/beaker/version.rb +1 -1
- data/lib/beaker.rb +5 -6
- data/spec/beaker/cli_spec.rb +135 -153
- data/spec/beaker/command_spec.rb +64 -58
- data/spec/beaker/dsl/assertions_spec.rb +38 -47
- data/spec/beaker/dsl/helpers/host_helpers_spec.rb +114 -135
- data/spec/beaker/dsl/helpers/test_helpers_spec.rb +9 -10
- data/spec/beaker/dsl/helpers/web_helpers_spec.rb +30 -36
- data/spec/beaker/dsl/outcomes_spec.rb +15 -14
- data/spec/beaker/dsl/roles_spec.rb +170 -132
- data/spec/beaker/dsl/structure_spec.rb +181 -163
- data/spec/beaker/dsl/test_tagging_spec.rb +94 -95
- data/spec/beaker/dsl/wrappers_spec.rb +39 -40
- data/spec/beaker/host/aix_spec.rb +14 -14
- data/spec/beaker/host/cisco_spec.rb +92 -102
- data/spec/beaker/host/eos_spec.rb +15 -36
- data/spec/beaker/host/freebsd/exec_spec.rb +5 -8
- data/spec/beaker/host/freebsd/pkg_spec.rb +29 -29
- data/spec/beaker/host/mac/exec_spec.rb +4 -5
- data/spec/beaker/host/mac/group_spec.rb +47 -56
- data/spec/beaker/host/mac/user_spec.rb +53 -62
- data/spec/beaker/host/pswindows/exec_spec.rb +36 -35
- data/spec/beaker/host/pswindows/file_spec.rb +21 -18
- data/spec/beaker/host/pswindows/user_spec.rb +17 -23
- data/spec/beaker/host/pswindows_spec.rb +14 -14
- data/spec/beaker/host/unix/exec_spec.rb +87 -92
- data/spec/beaker/host/unix/file_spec.rb +76 -82
- data/spec/beaker/host/unix/pkg_spec.rb +165 -407
- data/spec/beaker/host/unix_spec.rb +11 -207
- data/spec/beaker/host/windows/exec_spec.rb +32 -34
- data/spec/beaker/host/windows/file_spec.rb +22 -23
- data/spec/beaker/host/windows/group_spec.rb +17 -19
- data/spec/beaker/host/windows/pkg_spec.rb +10 -13
- data/spec/beaker/host/windows/user_spec.rb +17 -23
- data/spec/beaker/host/windows_spec.rb +39 -39
- data/spec/beaker/host_prebuilt_steps_spec.rb +193 -341
- data/spec/beaker/host_spec.rb +241 -312
- data/spec/beaker/hypervisor/hypervisor_spec.rb +38 -63
- data/spec/beaker/localhost_connection_spec.rb +14 -13
- data/spec/beaker/logger_junit_spec.rb +22 -34
- data/spec/beaker/logger_spec.rb +174 -155
- data/spec/beaker/network_manager_spec.rb +27 -27
- data/spec/beaker/options/command_line_parser_spec.rb +20 -23
- data/spec/beaker/options/data/hosts_preserved.yml +395 -0
- data/spec/beaker/options/hosts_file_parser_spec.rb +36 -31
- data/spec/beaker/options/options_file_parser_spec.rb +4 -7
- data/spec/beaker/options/options_hash_spec.rb +7 -9
- data/spec/beaker/options/parser_spec.rb +187 -187
- data/spec/beaker/options/presets_spec.rb +8 -10
- data/spec/beaker/options/subcommand_options_parser_spec.rb +15 -15
- data/spec/beaker/options/validator_spec.rb +27 -28
- data/spec/beaker/perf_spec.rb +32 -34
- data/spec/beaker/platform_spec.rb +27 -37
- data/spec/beaker/shared/error_handler_spec.rb +8 -17
- data/spec/beaker/shared/fog_credentials_spec.rb +30 -30
- data/spec/beaker/shared/host_manager_spec.rb +55 -89
- data/spec/beaker/shared/options_resolver_spec.rb +9 -12
- data/spec/beaker/shared/repetition_spec.rb +24 -31
- data/spec/beaker/shared/semvar_spec.rb +21 -26
- data/spec/beaker/ssh_connection_spec.rb +85 -90
- data/spec/beaker/subcommand/subcommand_util_spec.rb +40 -37
- data/spec/beaker/subcommand_spec.rb +89 -89
- data/spec/beaker/test_case_spec.rb +33 -62
- data/spec/beaker/test_suite_spec.rb +153 -160
- data/spec/helpers.rb +48 -53
- data/spec/matchers.rb +9 -8
- data/spec/mocks.rb +6 -11
- data/spec/spec_helper.rb +0 -4
- metadata +60 -85
- data/acceptance/tests/base/dsl/helpers/host_helpers/deploy_package_repo_test.rb +0 -142
- data/acceptance/tests/base/external_resources_test.rb +0 -31
- data/spec/beaker/host/mac_spec.rb +0 -113
- data/spec/mock_fission.rb +0 -60
- data/spec/mock_vsphere.rb +0 -314
- data/spec/mock_vsphere_helper.rb +0 -183
@@ -18,201 +18,195 @@ module Beaker
|
|
18
18
|
"me"
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
@logger
|
23
|
-
end
|
24
|
-
|
21
|
+
attr_reader :logger
|
25
22
|
end
|
26
23
|
|
27
|
-
let
|
28
|
-
let
|
29
|
-
let
|
24
|
+
let(:opts) { @opts || {} }
|
25
|
+
let(:logger) { double('logger').as_null_object }
|
26
|
+
let(:platform) do
|
30
27
|
if @platform
|
31
|
-
{ 'platform' => Beaker::Platform.new(
|
28
|
+
{ 'platform' => Beaker::Platform.new(@platform) }
|
32
29
|
else
|
33
|
-
{ 'platform' => Beaker::Platform.new(
|
30
|
+
{ 'platform' => Beaker::Platform.new('osx-10.9-x86_64') }
|
34
31
|
end
|
35
|
-
|
36
|
-
let
|
32
|
+
end
|
33
|
+
let(:instance) { UnixFileTest.new(opts.merge(platform), logger) }
|
37
34
|
|
38
35
|
describe '#repo_type' do
|
39
|
-
|
40
|
-
['centos','redhat'].each do |platform|
|
36
|
+
%w[centos redhat].each do |platform|
|
41
37
|
it "returns correctly for platform '#{platform}'" do
|
42
38
|
@platform = "#{platform}-5-x86_64"
|
43
|
-
expect(
|
39
|
+
expect(instance.repo_type).to be === 'rpm'
|
44
40
|
end
|
45
41
|
end
|
46
42
|
|
47
43
|
it 'returns correctly for debian-based platforms' do
|
48
44
|
@platform = 'debian-6-x86_64'
|
49
|
-
expect(
|
45
|
+
expect(instance.repo_type).to be === 'deb'
|
50
46
|
end
|
51
47
|
|
52
48
|
it 'errors for all other platform types' do
|
53
49
|
@platform = 'eos-4-x86_64'
|
54
|
-
expect
|
50
|
+
expect do
|
55
51
|
instance.repo_type
|
56
|
-
|
52
|
+
end.to raise_error(ArgumentError, /repo\ type\ not\ known/)
|
57
53
|
end
|
58
54
|
end
|
59
55
|
|
60
56
|
describe '#package_config_dir' do
|
61
|
-
|
62
|
-
['centos','redhat'].each do |platform|
|
57
|
+
%w[centos redhat].each do |platform|
|
63
58
|
it "returns correctly for platform '#{platform}'" do
|
64
59
|
@platform = "#{platform}-5-x86_64"
|
65
|
-
expect(
|
60
|
+
expect(instance.package_config_dir).to be === '/etc/yum.repos.d/'
|
66
61
|
end
|
67
62
|
end
|
68
63
|
|
69
64
|
it 'returns correctly for debian-based platforms' do
|
70
65
|
@platform = 'debian-6-x86_64'
|
71
|
-
expect(
|
66
|
+
expect(instance.package_config_dir).to be === '/etc/apt/sources.list.d'
|
72
67
|
end
|
73
68
|
|
74
69
|
it 'returns correctly for sles-based platforms' do
|
75
70
|
@platform = 'sles-12-x86_64'
|
76
|
-
expect(
|
71
|
+
expect(instance.package_config_dir).to be === '/etc/zypp/repos.d/'
|
77
72
|
end
|
78
73
|
|
79
74
|
it 'returns correctly for opensuse-based platforms' do
|
80
75
|
@platform = 'opensuse-15-x86_64'
|
81
|
-
expect(
|
76
|
+
expect(instance.package_config_dir).to be === '/etc/zypp/repos.d/'
|
82
77
|
end
|
83
78
|
|
84
79
|
it 'errors for all other platform types' do
|
85
80
|
@platform = 'eos-4-x86_64'
|
86
|
-
expect
|
81
|
+
expect do
|
87
82
|
instance.package_config_dir
|
88
|
-
|
83
|
+
end.to raise_error(ArgumentError, /package\ config\ dir\ unknown/)
|
89
84
|
end
|
90
85
|
end
|
91
86
|
|
92
87
|
describe '#repo_filename' do
|
93
|
-
|
94
|
-
['centos','redhat'].each do |platform|
|
88
|
+
%w[centos redhat].each do |platform|
|
95
89
|
it "sets the el portion correctly for '#{platform}'" do
|
96
90
|
@platform = "#{platform}-5-x86_64"
|
97
|
-
allow(
|
98
|
-
filename = instance.repo_filename(
|
99
|
-
expect(
|
91
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
92
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version7')
|
93
|
+
expect(filename).to match(/sion7\-el\-/)
|
100
94
|
end
|
101
95
|
end
|
102
96
|
|
103
97
|
it 'sets the sles portion correctly for sles platforms' do
|
104
98
|
@platform = 'sles-11-x86_64'
|
105
|
-
allow(
|
106
|
-
filename = instance.repo_filename(
|
107
|
-
expect(
|
99
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
100
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version7')
|
101
|
+
expect(filename).to match(/sion7\-sles\-/)
|
108
102
|
end
|
109
103
|
|
110
104
|
it 'sets the opensuse portion correctly for opensuse platforms' do
|
111
105
|
@platform = 'opensuse-15-x86_64'
|
112
|
-
allow(
|
113
|
-
filename = instance.repo_filename(
|
114
|
-
expect(
|
106
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
107
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version7')
|
108
|
+
expect(filename).to match(/sion7\-opensuse\-/)
|
115
109
|
end
|
116
110
|
|
117
111
|
it 'builds the filename correctly for el-based platforms' do
|
118
112
|
@platform = 'el-21-x86_64'
|
119
|
-
allow(
|
120
|
-
filename = instance.repo_filename(
|
113
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
114
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version8')
|
121
115
|
correct = 'pl-pkg_name-pkg_version8-el-21-x86_64.repo'
|
122
|
-
expect(
|
116
|
+
expect(filename).to be === correct
|
123
117
|
end
|
124
118
|
|
125
119
|
it 'builds the filename correctly for redhatfips platforms' do
|
126
120
|
@platform = 'el-7-x86_64'
|
127
121
|
allow(instance).to receive(:[]).with('platform') { platform['platform'] }
|
128
|
-
expect(instance).to receive(:[]).with('packaging_platform')
|
122
|
+
expect(instance).to receive(:[]).with('packaging_platform').and_return('redhatfips-7-x86_64')
|
129
123
|
filename = instance.repo_filename('pkg_name', 'pkg_version')
|
130
124
|
correct = 'pl-pkg_name-pkg_version-redhatfips-7-x86_64.repo'
|
131
|
-
expect(
|
125
|
+
expect(filename).to be === correct
|
132
126
|
end
|
133
127
|
|
134
128
|
it 'adds in the PE portion of the filename correctly for el-based PE hosts' do
|
135
129
|
@platform = 'el-21-x86_64'
|
136
|
-
allow(
|
137
|
-
filename = instance.repo_filename(
|
130
|
+
allow(instance).to receive(:is_pe?).and_return(true)
|
131
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version9')
|
138
132
|
correct = 'pl-pkg_name-pkg_version9-el-21-x86_64.repo'
|
139
|
-
expect(
|
133
|
+
expect(filename).to be === correct
|
140
134
|
end
|
141
135
|
|
142
136
|
it 'builds the filename correctly for debian-based platforms' do
|
143
137
|
@platform = 'debian-8-x86_64'
|
144
|
-
filename = instance.repo_filename(
|
138
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version10')
|
145
139
|
correct = 'pl-pkg_name-pkg_version10-jessie.list'
|
146
|
-
expect(
|
140
|
+
expect(filename).to be === correct
|
147
141
|
end
|
148
142
|
|
149
143
|
it 'uses the variant for the codename on the cumulus platform' do
|
150
144
|
@platform = 'cumulus-2.5-x86_64'
|
151
|
-
filename = instance.repo_filename(
|
145
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version11')
|
152
146
|
correct = 'pl-pkg_name-pkg_version11-cumulus.list'
|
153
|
-
expect(
|
147
|
+
expect(filename).to be === correct
|
154
148
|
end
|
155
149
|
|
156
150
|
it 'adds wrlinux to variant on cisco platforms' do
|
157
151
|
@platform = 'cisco_nexus-7-x86_64'
|
158
|
-
allow(
|
159
|
-
filename = instance.repo_filename(
|
160
|
-
expect(
|
152
|
+
allow(instance).to receive(:is_pe?).and_return(false)
|
153
|
+
filename = instance.repo_filename('pkg_name', 'pkg_version12')
|
154
|
+
expect(filename).to match(/sion12\-cisco\-wrlinux\-/)
|
161
155
|
end
|
162
156
|
|
163
157
|
it 'errors for non-el or debian-based platforms' do
|
164
158
|
@platform = 'freebsd-22-x86_64'
|
165
|
-
expect
|
166
|
-
instance.repo_filename(
|
167
|
-
|
159
|
+
expect do
|
160
|
+
instance.repo_filename('pkg_name', 'pkg_version')
|
161
|
+
end.to raise_error(ArgumentError, /repo\ filename\ pattern\ not\ known/)
|
168
162
|
end
|
169
163
|
end
|
170
164
|
|
171
165
|
describe '#noask_file_text' do
|
172
|
-
|
173
166
|
it 'errors on non-solaris platforms' do
|
174
167
|
@platform = 'cumulus-4000-x86_64'
|
175
|
-
expect
|
168
|
+
expect do
|
176
169
|
instance.noask_file_text
|
177
|
-
|
170
|
+
end.to raise_error(ArgumentError, /^noask\ file\ text\ unknown/)
|
178
171
|
end
|
179
172
|
|
180
173
|
it 'errors on solaris versions other than 10' do
|
181
174
|
@platform = 'solaris-11-x86_64'
|
182
|
-
expect
|
175
|
+
expect do
|
183
176
|
instance.noask_file_text
|
184
|
-
|
177
|
+
end.to raise_error(ArgumentError, /^noask\ file\ text\ unknown/)
|
185
178
|
end
|
186
179
|
|
187
180
|
it 'returns the noask file correctly for solaris 10' do
|
188
181
|
@platform = 'solaris-10-x86_64'
|
189
182
|
text = instance.noask_file_text
|
190
|
-
expect(
|
191
|
-
expect(
|
192
|
-
expect(
|
183
|
+
expect(text).to match(/instance\=overwrite/)
|
184
|
+
expect(text).to match(/space\=quit/)
|
185
|
+
expect(text).to match(/basedir\=default/)
|
193
186
|
end
|
194
187
|
end
|
195
188
|
|
196
189
|
describe '#chown' do
|
197
|
-
let
|
198
|
-
let
|
190
|
+
let(:user) { 'someuser' }
|
191
|
+
let(:path) { '/path/to/chown/on' }
|
199
192
|
|
200
193
|
it 'calls the system method' do
|
201
|
-
expect(
|
202
|
-
expect(
|
194
|
+
expect(instance).to receive(:execute).with("chown #{user} #{path}").and_return(0)
|
195
|
+
expect(instance.chown(user, path)).to be === 0
|
203
196
|
end
|
204
197
|
|
205
198
|
it 'passes -R if recursive' do
|
206
|
-
expect(
|
207
|
-
instance.chown(
|
199
|
+
expect(instance).to receive(:execute).with("chown \-R #{user} #{path}")
|
200
|
+
instance.chown(user, path, true)
|
208
201
|
end
|
209
202
|
end
|
210
203
|
|
211
204
|
describe '#cat' do
|
212
|
-
let
|
205
|
+
let(:path) { '/path/to/cat/on' }
|
206
|
+
|
213
207
|
it 'calls cat for path' do
|
214
|
-
expect(
|
215
|
-
expect(
|
208
|
+
expect(instance).to receive(:execute).with("cat #{path}").and_return(0)
|
209
|
+
expect(instance.cat(path)).to be === 0
|
216
210
|
end
|
217
211
|
end
|
218
212
|
|
@@ -222,7 +216,7 @@ module Beaker
|
|
222
216
|
path = '/path/to/file'
|
223
217
|
mod = '+x'
|
224
218
|
|
225
|
-
expect(
|
219
|
+
expect(instance).to receive(:execute).with("chmod #{mod} #{path}")
|
226
220
|
instance.chmod(mod, path)
|
227
221
|
end
|
228
222
|
end
|
@@ -232,33 +226,33 @@ module Beaker
|
|
232
226
|
path = '/path/to/file'
|
233
227
|
mod = '+x'
|
234
228
|
|
235
|
-
expect(
|
229
|
+
expect(instance).to receive(:execute).with("chmod -R #{mod} #{path}")
|
236
230
|
instance.chmod(mod, path, true)
|
237
231
|
end
|
238
232
|
end
|
239
233
|
end
|
240
234
|
|
241
235
|
describe '#chgrp' do
|
242
|
-
let
|
243
|
-
let
|
236
|
+
let(:group) { 'somegroup' }
|
237
|
+
let(:path) { '/path/to/chgrp/on' }
|
244
238
|
|
245
239
|
it 'calls the system method' do
|
246
|
-
expect(
|
247
|
-
expect(
|
240
|
+
expect(instance).to receive(:execute).with("chgrp #{group} #{path}").and_return(0)
|
241
|
+
expect(instance.chgrp(group, path)).to be === 0
|
248
242
|
end
|
249
243
|
|
250
244
|
it 'passes -R if recursive' do
|
251
|
-
expect(
|
252
|
-
instance.chgrp(
|
245
|
+
expect(instance).to receive(:execute).with("chgrp \-R #{group} #{path}")
|
246
|
+
instance.chgrp(group, path, true)
|
253
247
|
end
|
254
248
|
end
|
255
249
|
|
256
250
|
describe '#ls_ld' do
|
257
|
-
let
|
251
|
+
let(:path) { '/path/to/ls_ld' }
|
258
252
|
|
259
253
|
it 'calls the system method' do
|
260
|
-
expect(
|
261
|
-
expect(
|
254
|
+
expect(instance).to receive(:execute).with("ls -ld #{path}").and_return(0)
|
255
|
+
expect(instance.ls_ld(path)).to be === 0
|
262
256
|
end
|
263
257
|
end
|
264
258
|
end
|