kpm 0.8.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +73 -8
- data/README.adoc +15 -0
- data/kpm.gemspec +3 -3
- data/lib/kpm/account.rb +3 -2
- data/lib/kpm/coordinates.rb +4 -3
- data/lib/kpm/database.rb +3 -2
- data/lib/kpm/formatter.rb +2 -2
- data/lib/kpm/inspector.rb +2 -2
- data/lib/kpm/migrations.rb +18 -4
- data/lib/kpm/nexus_helper/actions.rb +2 -5
- data/lib/kpm/nexus_helper/github_api_calls.rb +70 -0
- data/lib/kpm/nexus_helper/nexus_api_calls_v2.rb +79 -50
- data/lib/kpm/tasks.rb +3 -3
- data/lib/kpm/tenant_config.rb +1 -1
- data/lib/kpm/tomcat_manager.rb +1 -0
- data/lib/kpm/version.rb +1 -1
- data/pom.xml +1 -1
- data/spec/kpm/remote/base_artifact_spec.rb +15 -13
- data/spec/kpm/remote/base_installer_spec.rb +13 -13
- data/spec/kpm/remote/github_api_calls_spec.rb +40 -0
- data/spec/kpm/remote/installer_spec.rb +30 -30
- data/spec/kpm/remote/kaui_artifact_spec.rb +4 -4
- data/spec/kpm/remote/killbill_plugin_artifact_spec.rb +19 -19
- data/spec/kpm/remote/killbill_server_artifact_spec.rb +13 -13
- data/spec/kpm/remote/migrations_spec.rb +9 -9
- data/spec/kpm/remote/nexus_facade_spec.rb +2 -2
- data/spec/kpm/remote/tenant_config_spec.rb +3 -3
- data/spec/kpm/remote/tomcat_manager_spec.rb +2 -2
- data/spec/kpm/unit/actions_spec.rb +2 -2
- data/spec/kpm/unit/base_artifact_spec.rb +14 -14
- data/spec/kpm/unit/inspector_spec.rb +28 -28
- data/spec/kpm/unit/installer_spec.rb +4 -4
- data/spec/kpm/unit/plugins_directory_spec.rb +31 -31
- data/spec/kpm/unit/plugins_manager_spec.rb +54 -54
- data/spec/kpm/unit/sha1_checker_spec.rb +2 -2
- data/spec/kpm/unit/uninstaller_spec.rb +21 -21
- data/spec/kpm/unit_mysql/account_spec.rb +13 -13
- data/spec/spec_helper.rb +1 -1
- metadata +10 -14
@@ -36,9 +36,9 @@ describe KPM::Sha1Checker do
|
|
36
36
|
it 'should create intermediate directories' do
|
37
37
|
Dir.mktmpdir do |dir|
|
38
38
|
config = File.join(dir, 'foo', 'bar', 'baz', 'sha1.yml')
|
39
|
-
expect(File.exist?(config)).to
|
39
|
+
expect(File.exist?(config)).to be_falsey
|
40
40
|
KPM::Sha1Checker.from_file(config)
|
41
|
-
expect(File.exist?(config)).to
|
41
|
+
expect(File.exist?(config)).to be_truthy
|
42
42
|
end
|
43
43
|
end
|
44
44
|
|
@@ -29,16 +29,16 @@ describe KPM::Uninstaller do
|
|
29
29
|
let(:version2) { '2.0' }
|
30
30
|
|
31
31
|
before do
|
32
|
-
KPM::PluginsManager.
|
33
|
-
KPM::Sha1Checker.
|
32
|
+
allow(KPM::PluginsManager).to receive(:new).and_return(plugins_manager_mock)
|
33
|
+
allow(KPM::Sha1Checker).to receive(:from_file).and_return(sha1_checker_mock)
|
34
34
|
|
35
35
|
# Calls by the Inspector
|
36
|
-
plugins_manager_mock.
|
36
|
+
allow(plugins_manager_mock).to receive(:get_identifier_key_and_entry) do
|
37
37
|
[plugin_key, { 'group_id' => plugin_info[:group_id],
|
38
38
|
'artifact_id' => plugin_info[:artifact_id],
|
39
39
|
'packaging' => plugin_info[:packaging] }]
|
40
40
|
end
|
41
|
-
sha1_checker_mock.
|
41
|
+
allow(sha1_checker_mock).to receive(:all_sha1) { {} }
|
42
42
|
end
|
43
43
|
|
44
44
|
context 'utility methods' do
|
@@ -94,33 +94,33 @@ describe KPM::Uninstaller do
|
|
94
94
|
end
|
95
95
|
|
96
96
|
it 'uninstalls if user confirms action' do
|
97
|
-
KPM.ui.
|
97
|
+
expect(KPM.ui).to receive(:ask).and_return('y')
|
98
98
|
|
99
|
-
plugins_manager_mock.
|
100
|
-
sha1_checker_mock.
|
101
|
-
sha1_checker_mock.
|
99
|
+
expect(plugins_manager_mock).to receive(:remove_plugin_identifier_key).with(plugin_key)
|
100
|
+
expect(sha1_checker_mock).to receive(:remove_entry!).with("group:artifact:jar:#{version1}")
|
101
|
+
expect(sha1_checker_mock).to receive(:remove_entry!).with("group:artifact:jar:#{version2}")
|
102
102
|
|
103
|
-
uninstaller.uninstall_plugin(plugin_name).
|
103
|
+
expect(uninstaller.uninstall_plugin(plugin_name)).to be_truthy
|
104
104
|
end
|
105
105
|
|
106
106
|
it 'does nothing if user cancels' do
|
107
|
-
KPM.ui.
|
107
|
+
expect(KPM.ui).to receive(:ask).and_return('n')
|
108
108
|
|
109
|
-
uninstaller.uninstall_plugin(plugin_name).
|
109
|
+
expect(uninstaller.uninstall_plugin(plugin_name)).to be_falsey
|
110
110
|
end
|
111
111
|
|
112
112
|
it 'uninstalls all plugins without confirmation if the force option is given' do
|
113
|
-
plugins_manager_mock.
|
114
|
-
sha1_checker_mock.
|
115
|
-
sha1_checker_mock.
|
113
|
+
expect(plugins_manager_mock).to receive(:remove_plugin_identifier_key).with(plugin_key)
|
114
|
+
expect(sha1_checker_mock).to receive(:remove_entry!).with("group:artifact:jar:#{version1}")
|
115
|
+
expect(sha1_checker_mock).to receive(:remove_entry!).with("group:artifact:jar:#{version2}")
|
116
116
|
|
117
|
-
uninstaller.uninstall_plugin(plugin_name, true).
|
117
|
+
expect(uninstaller.uninstall_plugin(plugin_name, true)).to be_truthy
|
118
118
|
end
|
119
119
|
|
120
120
|
it 'uninstalls one version without confirmation if the force option is given' do
|
121
|
-
sha1_checker_mock.
|
121
|
+
expect(sha1_checker_mock).to receive(:remove_entry!).with("group:artifact:jar:#{version1}")
|
122
122
|
|
123
|
-
uninstaller.uninstall_plugin(plugin_name, true, version1).
|
123
|
+
expect(uninstaller.uninstall_plugin(plugin_name, true, version1)).to be_truthy
|
124
124
|
end
|
125
125
|
|
126
126
|
it 'raises an error when uninstalling a version that does not exist' do
|
@@ -134,21 +134,21 @@ describe KPM::Uninstaller do
|
|
134
134
|
end
|
135
135
|
|
136
136
|
it 'does not cleanup if dry-run is set' do
|
137
|
-
expect(uninstaller.uninstall_non_default_plugins(true)).to
|
137
|
+
expect(uninstaller.uninstall_non_default_plugins(true)).to be_falsey
|
138
138
|
end
|
139
139
|
|
140
140
|
it 'does cleanup if dry-run isn\'t set' do
|
141
|
-
sha1_checker_mock.
|
141
|
+
expect(sha1_checker_mock).to receive(:remove_entry!).with("group:artifact:jar:#{version1}")
|
142
142
|
|
143
143
|
plugin_info_copy = Marshal.load(Marshal.dump(plugin_info))
|
144
144
|
expect(KPM::Inspector.new.inspect(destination)).to eq({ plugin_name => plugin_info_copy })
|
145
145
|
|
146
|
-
expect(uninstaller.uninstall_non_default_plugins(false)).to
|
146
|
+
expect(uninstaller.uninstall_non_default_plugins(false)).to be_truthy
|
147
147
|
plugin_info_copy[:versions].delete_at(0)
|
148
148
|
expect(KPM::Inspector.new.inspect(destination)).to eq({ plugin_name => plugin_info_copy })
|
149
149
|
|
150
150
|
# Second time is a no-op
|
151
|
-
expect(uninstaller.uninstall_non_default_plugins).to
|
151
|
+
expect(uninstaller.uninstall_non_default_plugins).to be_falsey
|
152
152
|
end
|
153
153
|
end
|
154
154
|
end
|
@@ -37,7 +37,7 @@ describe KPM::Account do
|
|
37
37
|
end
|
38
38
|
|
39
39
|
it 'when initialized with options' do
|
40
|
-
account_class.
|
40
|
+
expect(account_class).to be_an_instance_of(KPM::Account)
|
41
41
|
expect(account_class.instance_variable_get(:@killbill_api_key)).to eq(killbill_api_key)
|
42
42
|
expect(account_class.instance_variable_get(:@killbill_api_secret)).to eq(killbill_api_secret)
|
43
43
|
expect(account_class.instance_variable_get(:@killbill_user)).to eq(killbill_user)
|
@@ -58,7 +58,7 @@ describe KPM::Account do
|
|
58
58
|
|
59
59
|
it 'when account id found' do
|
60
60
|
expect(account_id).to match(/\w{8}(-\w{4}){3}-\w{12}?/)
|
61
|
-
expect { account_class.send(:fetch_export_data, account_id) }.not_to raise_error
|
61
|
+
expect { account_class.send(:fetch_export_data, account_id) }.not_to raise_error
|
62
62
|
expect(account_class.send(:fetch_export_data, account_id)).to match(account_id)
|
63
63
|
end
|
64
64
|
end
|
@@ -99,12 +99,12 @@ describe KPM::Account do
|
|
99
99
|
|
100
100
|
context 'when exporting data' do
|
101
101
|
it 'when file created' do
|
102
|
-
expect(File.exist?(account_class.send(:export, dummy_data))).to
|
102
|
+
expect(File.exist?(account_class.send(:export, dummy_data))).to be_truthy
|
103
103
|
end
|
104
104
|
|
105
105
|
it 'when file contains account record' do
|
106
|
-
expect(File.readlines(account_class.send(:export, dummy_data)).grep(/#{table_name}/)).to
|
107
|
-
expect(File.readlines(account_class.send(:export, dummy_data)).grep(/#{cols_names}/)).to
|
106
|
+
expect(File.readlines(account_class.send(:export, dummy_data)).grep(/#{table_name}/)).to be_truthy
|
107
|
+
expect(File.readlines(account_class.send(:export, dummy_data)).grep(/#{cols_names}/)).to be_truthy
|
108
108
|
end
|
109
109
|
end
|
110
110
|
end
|
@@ -119,13 +119,13 @@ describe KPM::Account do
|
|
119
119
|
|
120
120
|
it 'when file created' do
|
121
121
|
expect(account_id).to match(/\w{8}(-\w{4}){3}-\w{12}?/)
|
122
|
-
expect(File.exist?(account_class.export_data(account_id))).to
|
122
|
+
expect(File.exist?(account_class.export_data(account_id))).to be_truthy
|
123
123
|
end
|
124
124
|
|
125
125
|
it 'when file contains account record' do
|
126
126
|
expect(account_id).to match(/\w{8}(-\w{4}){3}-\w{12}?/)
|
127
|
-
expect(File.readlines(account_class.export_data(account_id)).grep(/#{table_name}/)).to
|
128
|
-
expect(File.readlines(account_class.export_data(account_id)).grep(/#{cols_names}/)).to
|
127
|
+
expect(File.readlines(account_class.export_data(account_id)).grep(/#{table_name}/)).to be_truthy
|
128
|
+
expect(File.readlines(account_class.export_data(account_id)).grep(/#{cols_names}/)).to be_truthy
|
129
129
|
end
|
130
130
|
end
|
131
131
|
end
|
@@ -155,7 +155,7 @@ describe KPM::Account do
|
|
155
155
|
include_context 'account'
|
156
156
|
|
157
157
|
it 'when valid date value' do
|
158
|
-
expect { DateTime.parse(account_class.send(:fix_dates, '2017-04-05T15:01:39.000+0000')) }.not_to raise_error
|
158
|
+
expect { DateTime.parse(account_class.send(:fix_dates, '2017-04-05T15:01:39.000+0000')) }.not_to raise_error
|
159
159
|
end
|
160
160
|
|
161
161
|
it 'when valid date value match YYYY-MM-DD HH:MM:SS' do
|
@@ -307,7 +307,7 @@ describe KPM::Account do
|
|
307
307
|
File.open(dummy_data_file, 'w') do |io|
|
308
308
|
io.puts(dummy_data)
|
309
309
|
end
|
310
|
-
expect { account_class.import_data(dummy_data_file, nil, true, false, true) }.not_to raise_error
|
310
|
+
expect { account_class.import_data(dummy_data_file, nil, true, false, true) }.not_to raise_error
|
311
311
|
|
312
312
|
verify_data(dummy_account_id)
|
313
313
|
|
@@ -321,7 +321,7 @@ describe KPM::Account do
|
|
321
321
|
File.open(dummy_data_file, 'w') do |io|
|
322
322
|
io.puts(dummy_data)
|
323
323
|
end
|
324
|
-
expect { account_class.import_data(dummy_data_file, nil, true, false, false) }.not_to raise_error
|
324
|
+
expect { account_class.import_data(dummy_data_file, nil, true, false, false) }.not_to raise_error
|
325
325
|
|
326
326
|
verify_data(dummy_account_id)
|
327
327
|
|
@@ -335,7 +335,7 @@ describe KPM::Account do
|
|
335
335
|
File.open(dummy_data_file, 'w') do |io|
|
336
336
|
io.puts(dummy_data)
|
337
337
|
end
|
338
|
-
expect { account_class.import_data(dummy_data_file, 10, true, false, true) }.not_to raise_error
|
338
|
+
expect { account_class.import_data(dummy_data_file, 10, true, false, true) }.not_to raise_error
|
339
339
|
|
340
340
|
verify_data(dummy_account_id)
|
341
341
|
|
@@ -349,7 +349,7 @@ describe KPM::Account do
|
|
349
349
|
File.open(dummy_data_file, 'w') do |io|
|
350
350
|
io.puts(dummy_data)
|
351
351
|
end
|
352
|
-
expect { account_class.import_data(dummy_data_file, 10, true, true, true) }.not_to raise_error
|
352
|
+
expect { account_class.import_data(dummy_data_file, 10, true, true, true) }.not_to raise_error
|
353
353
|
new_account_id = account_class.instance_variable_get(:@tables_id)
|
354
354
|
|
355
355
|
verify_data(new_account_id['accounts_id'])
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kill Bill core team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -70,36 +70,30 @@ dependencies:
|
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - "
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 10.0.0
|
76
|
-
- - "<"
|
73
|
+
- - "~>"
|
77
74
|
- !ruby/object:Gem::Version
|
78
|
-
version:
|
75
|
+
version: '13.0'
|
79
76
|
type: :development
|
80
77
|
prerelease: false
|
81
78
|
version_requirements: !ruby/object:Gem::Requirement
|
82
79
|
requirements:
|
83
|
-
- - "
|
84
|
-
- !ruby/object:Gem::Version
|
85
|
-
version: 10.0.0
|
86
|
-
- - "<"
|
80
|
+
- - "~>"
|
87
81
|
- !ruby/object:Gem::Version
|
88
|
-
version:
|
82
|
+
version: '13.0'
|
89
83
|
- !ruby/object:Gem::Dependency
|
90
84
|
name: rspec
|
91
85
|
requirement: !ruby/object:Gem::Requirement
|
92
86
|
requirements:
|
93
87
|
- - "~>"
|
94
88
|
- !ruby/object:Gem::Version
|
95
|
-
version:
|
89
|
+
version: '3.9'
|
96
90
|
type: :development
|
97
91
|
prerelease: false
|
98
92
|
version_requirements: !ruby/object:Gem::Requirement
|
99
93
|
requirements:
|
100
94
|
- - "~>"
|
101
95
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
96
|
+
version: '3.9'
|
103
97
|
description: A package manager for Kill Bill.
|
104
98
|
email: killbilling-users@googlegroups.com
|
105
99
|
executables:
|
@@ -133,6 +127,7 @@ files:
|
|
133
127
|
- lib/kpm/killbill_server_artifact.rb
|
134
128
|
- lib/kpm/migrations.rb
|
135
129
|
- lib/kpm/nexus_helper/actions.rb
|
130
|
+
- lib/kpm/nexus_helper/github_api_calls.rb
|
136
131
|
- lib/kpm/nexus_helper/nexus_api_calls_v2.rb
|
137
132
|
- lib/kpm/nexus_helper/nexus_facade.rb
|
138
133
|
- lib/kpm/plugins_directory.rb
|
@@ -160,6 +155,7 @@ files:
|
|
160
155
|
- release.sh
|
161
156
|
- spec/kpm/remote/base_artifact_spec.rb
|
162
157
|
- spec/kpm/remote/base_installer_spec.rb
|
158
|
+
- spec/kpm/remote/github_api_calls_spec.rb
|
163
159
|
- spec/kpm/remote/installer_spec.rb
|
164
160
|
- spec/kpm/remote/kaui_artifact_spec.rb
|
165
161
|
- spec/kpm/remote/killbill_plugin_artifact_spec.rb
|