kpm 0.7.0 → 0.8.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +73 -0
  3. data/Gemfile +2 -0
  4. data/README.adoc +111 -109
  5. data/Rakefile +2 -1
  6. data/bin/kpm +4 -2
  7. data/kpm.gemspec +8 -6
  8. data/lib/kpm.rb +3 -0
  9. data/lib/kpm/account.rb +268 -337
  10. data/lib/kpm/base_artifact.rb +40 -36
  11. data/lib/kpm/base_installer.rb +71 -84
  12. data/lib/kpm/blob.rb +29 -0
  13. data/lib/kpm/cli.rb +3 -1
  14. data/lib/kpm/coordinates.rb +6 -9
  15. data/lib/kpm/database.rb +92 -103
  16. data/lib/kpm/diagnostic_file.rb +126 -146
  17. data/lib/kpm/formatter.rb +74 -46
  18. data/lib/kpm/inspector.rb +22 -32
  19. data/lib/kpm/installer.rb +53 -46
  20. data/lib/kpm/kaui_artifact.rb +4 -3
  21. data/lib/kpm/killbill_plugin_artifact.rb +10 -7
  22. data/lib/kpm/killbill_server_artifact.rb +24 -10
  23. data/lib/kpm/migrations.rb +8 -7
  24. data/lib/kpm/nexus_helper/actions.rb +47 -8
  25. data/lib/kpm/nexus_helper/nexus_api_calls_v2.rb +87 -94
  26. data/lib/kpm/nexus_helper/nexus_facade.rb +5 -3
  27. data/lib/kpm/plugins_directory.rb +14 -9
  28. data/lib/kpm/plugins_directory.yml +16 -175
  29. data/lib/kpm/plugins_manager.rb +29 -24
  30. data/lib/kpm/sha1_checker.rb +56 -15
  31. data/lib/kpm/system.rb +104 -135
  32. data/lib/kpm/system_helpers/cpu_information.rb +56 -55
  33. data/lib/kpm/system_helpers/disk_space_information.rb +60 -63
  34. data/lib/kpm/system_helpers/entropy_available.rb +37 -39
  35. data/lib/kpm/system_helpers/memory_information.rb +52 -51
  36. data/lib/kpm/system_helpers/os_information.rb +45 -47
  37. data/lib/kpm/system_helpers/system_proxy.rb +10 -10
  38. data/lib/kpm/tasks.rb +370 -443
  39. data/lib/kpm/tenant_config.rb +68 -83
  40. data/lib/kpm/tomcat_manager.rb +9 -8
  41. data/lib/kpm/trace_logger.rb +18 -16
  42. data/lib/kpm/uninstaller.rb +81 -14
  43. data/lib/kpm/utils.rb +13 -14
  44. data/lib/kpm/version.rb +3 -1
  45. data/packaging/Gemfile +2 -0
  46. data/pom.xml +1 -1
  47. data/spec/kpm/remote/base_artifact_spec.rb +26 -12
  48. data/spec/kpm/remote/base_installer_spec.rb +30 -29
  49. data/spec/kpm/remote/installer_spec.rb +74 -72
  50. data/spec/kpm/remote/kaui_artifact_spec.rb +7 -6
  51. data/spec/kpm/remote/killbill_plugin_artifact_spec.rb +19 -24
  52. data/spec/kpm/remote/killbill_server_artifact_spec.rb +30 -13
  53. data/spec/kpm/remote/migrations_spec.rb +12 -11
  54. data/spec/kpm/remote/nexus_facade_spec.rb +30 -26
  55. data/spec/kpm/remote/tenant_config_spec.rb +27 -26
  56. data/spec/kpm/remote/tomcat_manager_spec.rb +2 -1
  57. data/spec/kpm/unit/actions_spec.rb +52 -0
  58. data/spec/kpm/unit/base_artifact_spec.rb +17 -16
  59. data/spec/kpm/unit/cpu_information_spec.rb +67 -0
  60. data/spec/kpm/unit/disk_space_information_spec.rb +47 -0
  61. data/spec/kpm/unit/entropy_information_spec.rb +36 -0
  62. data/spec/kpm/unit/formatter_spec.rb +163 -0
  63. data/spec/kpm/unit/inspector_spec.rb +34 -42
  64. data/spec/kpm/unit/installer_spec.rb +5 -4
  65. data/spec/kpm/unit/memory_information_spec.rb +102 -0
  66. data/spec/kpm/unit/os_information_spec.rb +38 -0
  67. data/spec/kpm/unit/plugins_directory_spec.rb +34 -18
  68. data/spec/kpm/unit/plugins_manager_spec.rb +61 -65
  69. data/spec/kpm/unit/sha1_checker_spec.rb +107 -60
  70. data/spec/kpm/unit/uninstaller_spec.rb +107 -61
  71. data/spec/kpm/unit_mysql/account_spec.rb +137 -136
  72. data/spec/spec_helper.rb +19 -17
  73. data/tasks/package.rake +18 -18
  74. metadata +19 -34
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pathname'
2
4
  require 'rubygems/package'
3
5
  require 'zlib'
@@ -7,7 +9,7 @@ module KPM
7
9
  class << self
8
10
  TAR_LONGLINK = '././@LongLink'
9
11
 
10
- def unpack_tgz(tar_gz_archive, destination, skip_top_dir=false)
12
+ def unpack_tgz(tar_gz_archive, destination, skip_top_dir = false)
11
13
  top_dir = nil
12
14
  Gem::Package::TarReader.new(Zlib::GzipReader.open(tar_gz_archive)) do |tar|
13
15
  dest = nil
@@ -20,17 +22,17 @@ module KPM
20
22
 
21
23
  if entry.directory?
22
24
  File.delete dest if File.file? dest
23
- FileUtils.mkdir_p dest, :mode => entry.header.mode, :verbose => false
25
+ FileUtils.mkdir_p dest, mode: entry.header.mode, verbose: false
24
26
  elsif entry.file?
25
27
  FileUtils.rm_rf dest if File.directory? dest
26
- FileUtils.mkdir_p File.dirname(dest), :verbose => false
27
- File.open dest, "wb" do |f|
28
+ FileUtils.mkdir_p File.dirname(dest), verbose: false
29
+ File.open dest, 'wb' do |f|
28
30
  f.print entry.read
29
31
  end
30
- FileUtils.chmod entry.header.mode, dest, :verbose => false
32
+ FileUtils.chmod entry.header.mode, dest, verbose: false
31
33
  current_dir = File.dirname(dest)
32
34
  # In case there are two top dirs, keep the last one by convention
33
- top_dir = current_dir if (top_dir.nil? || top_dir.size >= current_dir.size)
35
+ top_dir = current_dir if top_dir.nil? || top_dir.size >= current_dir.size
34
36
  elsif entry.header.typeflag == '2' # Symlink
35
37
  File.symlink entry.header.linkname, dest
36
38
  end
@@ -48,9 +50,7 @@ module KPM
48
50
  file_names = []
49
51
  Gem::Package::TarReader.new(Zlib::GzipReader.open(tar_gz_archive)) do |tar|
50
52
  tar.each do |entry|
51
- if entry.file?
52
- file_names.push entry.full_name
53
- end
53
+ file_names.push entry.full_name if entry.file?
54
54
  end
55
55
  end
56
56
 
@@ -62,17 +62,17 @@ module KPM
62
62
  ver = get_version_from_file_path(file_path)
63
63
  ext = File.extname(base)
64
64
 
65
- name = base.gsub(ext,'')
65
+ name = base.gsub(ext, '')
66
66
  if ver.nil?
67
67
  # this will remove SNAPSHOT and any dash that appear before it (ex --SNAPSHOT).
68
- name = name.gsub(/((-+){,1}SNAPSHOT){,1}/,'')
68
+ name = name.gsub(/((-+){,1}SNAPSHOT){,1}/, '')
69
69
  last_dash = name.rindex('-')
70
70
  name = name[0..last_dash] unless last_dash.nil?
71
71
  else
72
- name = name.gsub(ver,'')
72
+ name = name.gsub(ver, '')
73
73
  end
74
74
 
75
- name = name[0..name.length-2] if name[-1].match(/[a-zA-z]/).nil?
75
+ name = name[0..name.length - 2] if name[-1].match(/[a-zA-z]/).nil?
76
76
  name
77
77
  end
78
78
 
@@ -84,7 +84,6 @@ module KPM
84
84
 
85
85
  ver[0]
86
86
  end
87
-
88
87
  end
89
88
  end
90
89
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module KPM
2
- VERSION = '0.7.0'
4
+ VERSION = '0.8.2'
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gem 'kpm', '~> VERSION'
data/pom.xml CHANGED
@@ -26,7 +26,7 @@
26
26
  <groupId>org.kill-bill.billing.installer</groupId>
27
27
  <artifactId>kpm</artifactId>
28
28
  <packaging>pom</packaging>
29
- <version>0.7.0</version>
29
+ <version>0.8.2</version>
30
30
  <name>KPM</name>
31
31
  <url>http://github.com/killbill/killbill-cloud</url>
32
32
  <description>KPM: the Kill Bill Package Manager</description>
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe KPM::BaseArtifact do
4
-
5
6
  before(:all) do
6
7
  @logger = Logger.new(STDOUT)
7
8
  @logger.level = Logger::INFO
@@ -25,6 +26,23 @@ describe KPM::BaseArtifact do
25
26
  end
26
27
  end
27
28
 
29
+ it 'should be able to handle download errors' do
30
+ nexus_down = { url: 'https://does.not.exist' }
31
+ Dir.mktmpdir do |dir|
32
+ sha1_file = "#{dir}/sha1.yml"
33
+ test_download dir, 'foo-oss.pom.xml', false, false, sha1_file
34
+ # Verify we skip the second time
35
+ test_download dir, 'foo-oss.pom.xml', true, false, sha1_file
36
+ # Verify the download is skipped gracefully when Nexus isn't reachable
37
+ test_download dir, 'foo-oss.pom.xml', true, false, sha1_file, nexus_down
38
+ # Verify the download fails when Nexus isn't reachable and force_download is set
39
+ expect { test_download dir, 'foo-oss.pom.xml', nil, true, sha1_file, nexus_down }.to raise_error
40
+ # Verify the download fails when Nexus isn't reachable and the Nexus cache is empty
41
+ KPM::Sha1Checker.from_file(sha1_file).cache_artifact_info('org.kill-bill.billing:killbill-oss-parent:pom:0.143.33', nil)
42
+ expect { test_download dir, 'foo-oss.pom.xml', nil, false, sha1_file, nexus_down }.to raise_error
43
+ end
44
+ end
45
+
28
46
  it 'should be able to download and verify generic .tar.gz artifacts' do
29
47
  # The artifact is not small unfortunately (23.7M)
30
48
  group_id = 'org.kill-bill.billing'
@@ -38,11 +56,11 @@ describe KPM::BaseArtifact do
38
56
  info[:file_name].should be_nil
39
57
 
40
58
  files_in_dir = Dir[info[:file_path] + '/*']
41
- files_in_dir.size.should == 20
59
+ files_in_dir.size.should eq 20
42
60
 
43
61
  File.file?(info[:file_path] + '/killbill-osgi-bundles-jruby-0.11.3.jar').should be_true
44
62
 
45
- info[:bundle_dir].should == info[:file_path]
63
+ info[:bundle_dir].should eq info[:file_path]
46
64
  end
47
65
  end
48
66
 
@@ -62,19 +80,15 @@ describe KPM::BaseArtifact do
62
80
  second_take = KPM::BaseArtifact.pull(@logger, group_id, artifact_id, packaging, classifier, second_bundle_version, dir)
63
81
  File.file?(first_take[:file_path] + '/killbill-platform-osgi-bundles-jruby-0.36.2.jar').should be_false
64
82
  File.file?(second_take[:file_path] + '/killbill-platform-osgi-bundles-jruby-0.36.10.jar').should be_true
65
-
66
83
  end
67
84
  end
68
85
 
69
-
70
- def test_download(dir, filename=nil, verify_is_skipped=false, force_download=false)
86
+ def test_download(dir, filename = nil, verify_is_skipped = false, force_download = false, sha1_file = nil, overrides = {})
71
87
  path = filename.nil? ? dir : dir + '/' + filename
72
88
 
73
- info = KPM::BaseArtifact.pull(@logger, 'org.kill-bill.billing', 'killbill-oss-parent', 'pom', nil, 'LATEST', path, nil, force_download, true, {}, true)
74
- info[:file_name].should == (filename.nil? ? "killbill-oss-parent-#{info[:version]}.pom" : filename)
75
- info[:skipped].should == verify_is_skipped
76
- if !info[:skipped]
77
- info[:size].should == File.size(info[:file_path])
78
- end
89
+ info = KPM::BaseArtifact.pull(@logger, 'org.kill-bill.billing', 'killbill-oss-parent', 'pom', nil, '0.143.33', path, sha1_file, force_download, true, overrides, true)
90
+ info[:file_name].should eq(filename.nil? ? "killbill-oss-parent-#{info[:version]}.pom" : filename)
91
+ info[:skipped].should eq verify_is_skipped
92
+ info[:size].should eq File.size(info[:file_path]) unless info[:skipped]
79
93
  end
80
94
  end
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'json'
3
5
 
4
6
  describe KPM::BaseInstaller do
5
-
6
7
  before(:all) do
7
8
  @logger = Logger.new(STDOUT)
8
9
  @logger.level = Logger::INFO
@@ -13,7 +14,7 @@ describe KPM::BaseInstaller do
13
14
  bundles_dir = dir + '/bundles'
14
15
  installer = KPM::BaseInstaller.new(@logger)
15
16
 
16
- info = installer.install_plugin('analytics', nil, nil, nil, nil, nil, '0.7.1', bundles_dir)
17
+ installer.install_plugin('analytics', nil, nil, nil, nil, nil, '0.7.1', bundles_dir)
17
18
 
18
19
  check_installation(bundles_dir)
19
20
 
@@ -46,23 +47,23 @@ describe KPM::BaseInstaller do
46
47
 
47
48
  begin
48
49
  installer.install_plugin('invalid', nil, nil, nil, nil, nil, '1.2.3', bundles_dir)
49
- fail "Should not succeed to install invalid plugin"
50
- rescue ArgumentError => e
50
+ raise 'Should not succeed to install invalid plugin'
51
+ rescue ArgumentError
52
+ # Expected
51
53
  end
52
54
  end
53
55
  end
54
56
 
55
57
  it 'should extract plugin name from file path' do
56
-
57
58
  [
58
- {:file_path => '/Somewhere/xxx-foo/target/xxx-1.0.0.jar', :expected => 'xxx'},
59
- {:file_path => '/Somewhere/xxx-foo/target/xxx-foo-bar-1.0.0.jar', :expected => 'xxx-foo-bar'},
60
- {:file_path => '/Somewhere/xxx-foo/target/xxx-foo-1.0.0.jar', :expected => 'xxx-foo'},
61
- {:file_path => '/Somewhere/xxx-foo/target/xxx-foo-1.0.0-SNAPSHOT.jar', :expected => 'xxx-foo'},
62
- {:file_path => '/Somewhere/xxx-foo/target/xxx-foo-1.0.jar', :expected => 'xxx-foo'},
63
- {:file_path => '/Somewhere/xxx-foo/target/xxx-foo-1.jar', :expected => 'xxx-foo'},
64
- {:file_path => '/Somewhere/xxx-foo/target/xxx-foo-abc-SNAPSHOT.jar', :expected => 'xxx-foo'},
65
- {:file_path => '/Somewhere/xxx-foo/target/xxx-foo-abc.jar', :expected => 'xxx-foo'}
59
+ { file_path: '/Somewhere/xxx-foo/target/xxx-1.0.0.jar', expected: 'xxx' },
60
+ { file_path: '/Somewhere/xxx-foo/target/xxx-foo-bar-1.0.0.jar', expected: 'xxx-foo-bar' },
61
+ { file_path: '/Somewhere/xxx-foo/target/xxx-foo-1.0.0.jar', expected: 'xxx-foo' },
62
+ { file_path: '/Somewhere/xxx-foo/target/xxx-foo-1.0.0-SNAPSHOT.jar', expected: 'xxx-foo' },
63
+ { file_path: '/Somewhere/xxx-foo/target/xxx-foo-1.0.jar', expected: 'xxx-foo' },
64
+ { file_path: '/Somewhere/xxx-foo/target/xxx-foo-1.jar', expected: 'xxx-foo' },
65
+ { file_path: '/Somewhere/xxx-foo/target/xxx-foo-abc-SNAPSHOT.jar', expected: 'xxx-foo' },
66
+ { file_path: '/Somewhere/xxx-foo/target/xxx-foo-abc.jar', expected: 'xxx-foo' }
66
67
  ].each do |test|
67
68
  KPM::Utils.get_plugin_name_from_file_path(test[:file_path]).should eq test[:expected]
68
69
  end
@@ -75,14 +76,14 @@ describe KPM::BaseInstaller do
75
76
 
76
77
  plugin_identifiers = read_plugin_identifiers(plugins_dir)
77
78
 
78
- plugin_identifiers.size.should == 1
79
+ plugin_identifiers.size.should eq 1
79
80
 
80
- plugin_identifiers['analytics']['plugin_name'].should == 'analytics-plugin'
81
- plugin_identifiers['analytics']['group_id'].should == 'org.kill-bill.billing.plugin.java'
82
- plugin_identifiers['analytics']['artifact_id'].should == 'analytics-plugin'
83
- plugin_identifiers['analytics']['packaging'].should == 'jar'
84
- plugin_identifiers['analytics']['version'].should == '0.7.1'
85
- plugin_identifiers['analytics']['language'].should == 'java'
81
+ plugin_identifiers['analytics']['plugin_name'].should eq 'analytics-plugin'
82
+ plugin_identifiers['analytics']['group_id'].should eq 'org.kill-bill.billing.plugin.java'
83
+ plugin_identifiers['analytics']['artifact_id'].should eq 'analytics-plugin'
84
+ plugin_identifiers['analytics']['packaging'].should eq 'jar'
85
+ plugin_identifiers['analytics']['version'].should eq '0.7.1'
86
+ plugin_identifiers['analytics']['language'].should eq 'java'
86
87
 
87
88
  File.file?(plugins_dir + '/plugins/java/analytics-plugin/0.7.1/tmp/disabled.txt').should be_false
88
89
  end
@@ -92,26 +93,26 @@ describe KPM::BaseInstaller do
92
93
 
93
94
  plugin_identifiers = read_plugin_identifiers(plugins_dir)
94
95
 
95
- plugin_identifiers.size.should == 0
96
+ plugin_identifiers.size.should eq 0
96
97
 
97
98
  File.file?(plugins_dir + '/plugins/java/analytics-plugin/0.7.1/tmp/disabled.txt').should be_true
98
99
  end
99
100
 
100
101
  def common_checks(plugins_dir)
101
102
  [
102
- plugins_dir,
103
- plugins_dir + '/plugins',
104
- plugins_dir + '/plugins/java',
105
- plugins_dir + '/plugins/java/analytics-plugin',
106
- plugins_dir + '/plugins/java/analytics-plugin/0.7.1',
107
- plugins_dir + '/plugins/java/analytics-plugin/0.7.1/tmp',
103
+ plugins_dir,
104
+ plugins_dir + '/plugins',
105
+ plugins_dir + '/plugins/java',
106
+ plugins_dir + '/plugins/java/analytics-plugin',
107
+ plugins_dir + '/plugins/java/analytics-plugin/0.7.1',
108
+ plugins_dir + '/plugins/java/analytics-plugin/0.7.1/tmp'
108
109
  ].each do |dir|
109
110
  File.directory?(dir).should be_true
110
111
  end
111
112
 
112
113
  [
113
- plugins_dir + '/plugins/plugin_identifiers.json',
114
- plugins_dir + '/plugins/java/analytics-plugin/0.7.1/analytics-plugin-0.7.1.jar'
114
+ plugins_dir + '/plugins/plugin_identifiers.json',
115
+ plugins_dir + '/plugins/java/analytics-plugin/0.7.1/analytics-plugin-0.7.1.jar'
115
116
  ].each do |file|
116
117
  File.file?(file).should be_true
117
118
  end
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
  require 'json'
3
5
 
4
6
  describe KPM::Installer do
5
-
6
7
  before(:all) do
7
8
  @logger = Logger.new(STDOUT)
8
9
  @logger.level = Logger::INFO
@@ -12,15 +13,15 @@ describe KPM::Installer do
12
13
  Dir.mktmpdir do |dir|
13
14
  kb_webapp_path = dir + '/KB_ROOT.war'
14
15
  installer = KPM::Installer.new({
15
- 'killbill' => {
16
- 'webapp_path' => kb_webapp_path
17
- }
16
+ 'killbill' => {
17
+ 'webapp_path' => kb_webapp_path
18
+ }
18
19
  },
19
20
  @logger)
20
21
 
21
22
  # No exception
22
23
  response = nil
23
- expect{ response = installer.install }.to_not raise_exception
24
+ expect { response = installer.install }.to_not raise_exception
24
25
  response = JSON[response]
25
26
  response['help'].should be_nil
26
27
  response['killbill']['status'].should eq 'INSTALLED'
@@ -31,15 +32,15 @@ describe KPM::Installer do
31
32
  Dir.mktmpdir do |dir|
32
33
  kaui_webapp_path = dir + '/KAUI_ROOT.war'
33
34
  installer = KPM::Installer.new({
34
- 'kaui' => {
35
- 'webapp_path' => kaui_webapp_path
36
- }
35
+ 'kaui' => {
36
+ 'webapp_path' => kaui_webapp_path
37
+ }
37
38
  },
38
39
  @logger)
39
40
 
40
41
  # No exception
41
42
  response = nil
42
- expect{ response = installer.install }.to_not raise_exception
43
+ expect { response = installer.install }.to_not raise_exception
43
44
  response = JSON[response]
44
45
  response['help'].should be_nil
45
46
  response['kaui']['status'].should eq 'INSTALLED'
@@ -52,28 +53,28 @@ describe KPM::Installer do
52
53
  kaui_webapp_path = dir + '/KAUI_ROOT.war'
53
54
  plugins_dir = dir + '/bundles'
54
55
  installer = KPM::Installer.new({
55
- 'killbill' => {
56
- 'webapp_path' => kb_webapp_path,
57
- 'plugins_dir' => plugins_dir,
58
- 'plugins' => {
59
- 'java' => [{
60
- 'name' => 'analytics',
61
- 'version' => '0.7.1'
62
- }],
63
- 'ruby' => [{
64
- 'name' => 'payment-test-plugin',
65
- 'artifact_id' => 'payment-test-plugin',
66
- 'group_id' => 'org.kill-bill.billing.plugin.ruby',
67
- 'version' => '1.8.7'
68
- },
69
- {
70
- 'name' => 'stripe'
71
- }]
72
- }
73
- },
74
- 'kaui' => {
75
- 'webapp_path' => kaui_webapp_path
56
+ 'killbill' => {
57
+ 'webapp_path' => kb_webapp_path,
58
+ 'plugins_dir' => plugins_dir,
59
+ 'plugins' => {
60
+ 'java' => [{
61
+ 'name' => 'analytics',
62
+ 'version' => '0.7.1'
63
+ }, {
64
+ 'name' => 'stripe',
65
+ 'version' => '7.0.0'
66
+ }],
67
+ 'ruby' => [{
68
+ 'name' => 'payment-test-plugin',
69
+ 'artifact_id' => 'payment-test-plugin',
70
+ 'group_id' => 'org.kill-bill.billing.plugin.ruby',
71
+ 'version' => '1.8.7'
72
+ }]
76
73
  }
74
+ },
75
+ 'kaui' => {
76
+ 'webapp_path' => kaui_webapp_path
77
+ }
77
78
  },
78
79
  @logger)
79
80
 
@@ -86,11 +87,10 @@ describe KPM::Installer do
86
87
 
87
88
  # Finally verify that for both (well behaved) ruby and java plugin, skipping the install will still correctly return the `:bundle_dir`
88
89
  info = installer.install_plugin('payment-test-plugin', nil, 'org.kill-bill.billing.plugin.ruby', 'payment-test-plugin', nil, nil, '1.8.7', plugins_dir)
89
- info[:bundle_dir].should == plugins_dir + '/plugins/ruby/killbill-payment-test/1.8.7'
90
-
90
+ info[:bundle_dir].should eq plugins_dir + '/plugins/ruby/killbill-payment-test/1.8.7'
91
91
 
92
- info = installer.install_plugin('analytics', nil, nil, nil, nil, nil, '0.7.1', plugins_dir)
93
- info[:bundle_dir].should == plugins_dir + '/plugins/java/analytics-plugin/0.7.1'
92
+ info = installer.install_plugin('analytics', nil, nil, nil, nil, nil, '0.7.1', plugins_dir)
93
+ info[:bundle_dir].should eq plugins_dir + '/plugins/java/analytics-plugin/0.7.1'
94
94
  end
95
95
  end
96
96
 
@@ -98,27 +98,29 @@ describe KPM::Installer do
98
98
 
99
99
  def check_installation(plugins_dir, kb_webapp_path, kaui_webapp_path)
100
100
  [
101
- plugins_dir,
102
- plugins_dir + '/platform',
103
- plugins_dir + '/plugins',
104
- plugins_dir + '/plugins/java',
105
- plugins_dir + '/plugins/java/analytics-plugin',
106
- plugins_dir + '/plugins/java/analytics-plugin/0.7.1',
107
- plugins_dir + '/plugins/ruby',
108
- plugins_dir + '/plugins/ruby/killbill-payment-test',
109
- plugins_dir + '/plugins/ruby/killbill-payment-test/1.8.7',
110
- plugins_dir + '/plugins/ruby/killbill-stripe'
101
+ plugins_dir,
102
+ plugins_dir + '/platform',
103
+ plugins_dir + '/plugins',
104
+ plugins_dir + '/plugins/java',
105
+ plugins_dir + '/plugins/java/analytics-plugin',
106
+ plugins_dir + '/plugins/java/analytics-plugin/0.7.1',
107
+ plugins_dir + '/plugins/java/stripe-plugin',
108
+ plugins_dir + '/plugins/java/stripe-plugin/7.0.0',
109
+ plugins_dir + '/plugins/ruby',
110
+ plugins_dir + '/plugins/ruby/killbill-payment-test',
111
+ plugins_dir + '/plugins/ruby/killbill-payment-test/1.8.7'
111
112
  ].each do |dir|
112
113
  File.directory?(dir).should be_true
113
114
  end
114
115
 
115
116
  [
116
- kb_webapp_path,
117
- kaui_webapp_path,
118
- plugins_dir + '/platform/jruby.jar',
119
- plugins_dir + '/plugins/plugin_identifiers.json',
120
- plugins_dir + '/plugins/java/analytics-plugin/0.7.1/analytics-plugin-0.7.1.jar',
121
- plugins_dir + '/plugins/ruby/killbill-payment-test/1.8.7/killbill.properties'
117
+ kb_webapp_path,
118
+ kaui_webapp_path,
119
+ plugins_dir + '/platform/jruby.jar',
120
+ plugins_dir + '/plugins/plugin_identifiers.json',
121
+ plugins_dir + '/plugins/java/analytics-plugin/0.7.1/analytics-plugin-0.7.1.jar',
122
+ plugins_dir + '/plugins/java/stripe-plugin/7.0.0/stripe-plugin-7.0.0.jar',
123
+ plugins_dir + '/plugins/ruby/killbill-payment-test/1.8.7/killbill.properties'
122
124
  ].each do |file|
123
125
  File.file?(file).should be_true
124
126
  end
@@ -127,27 +129,27 @@ describe KPM::Installer do
127
129
  JSON.parse(f.read)
128
130
  end
129
131
 
130
- plugin_identifiers.size.should == 3
131
-
132
- plugin_identifiers['analytics']['plugin_name'].should == 'analytics-plugin'
133
- plugin_identifiers['analytics']['group_id'].should == 'org.kill-bill.billing.plugin.java'
134
- plugin_identifiers['analytics']['artifact_id'].should == 'analytics-plugin'
135
- plugin_identifiers['analytics']['packaging'].should == 'jar'
136
- plugin_identifiers['analytics']['version'].should == '0.7.1'
137
- plugin_identifiers['analytics']['language'].should == 'java'
138
-
139
- plugin_identifiers['payment-test-plugin']['plugin_name'].should == 'killbill-payment-test'
140
- plugin_identifiers['payment-test-plugin']['group_id'].should == 'org.kill-bill.billing.plugin.ruby'
141
- plugin_identifiers['payment-test-plugin']['artifact_id'].should == 'payment-test-plugin'
142
- plugin_identifiers['payment-test-plugin']['packaging'].should == 'tar.gz'
143
- plugin_identifiers['payment-test-plugin']['version'].should == '1.8.7'
144
- plugin_identifiers['payment-test-plugin']['language'].should == 'ruby'
145
-
146
- plugin_identifiers['stripe']['plugin_name'].should == 'killbill-stripe'
147
- plugin_identifiers['stripe']['group_id'].should == 'org.kill-bill.billing.plugin.ruby'
148
- plugin_identifiers['stripe']['artifact_id'].should == 'stripe-plugin'
149
- plugin_identifiers['stripe']['packaging'].should == 'tar.gz'
150
- plugin_identifiers['stripe']['version'].should >= '4.0.0'
151
- plugin_identifiers['stripe']['language'].should == 'ruby'
132
+ plugin_identifiers.size.should eq 3
133
+
134
+ plugin_identifiers['analytics']['plugin_name'].should eq 'analytics-plugin'
135
+ plugin_identifiers['analytics']['group_id'].should eq 'org.kill-bill.billing.plugin.java'
136
+ plugin_identifiers['analytics']['artifact_id'].should eq 'analytics-plugin'
137
+ plugin_identifiers['analytics']['packaging'].should eq 'jar'
138
+ plugin_identifiers['analytics']['version'].should eq '0.7.1'
139
+ plugin_identifiers['analytics']['language'].should eq 'java'
140
+
141
+ plugin_identifiers['stripe']['plugin_name'].should eq 'stripe-plugin'
142
+ plugin_identifiers['stripe']['group_id'].should eq 'org.kill-bill.billing.plugin.java'
143
+ plugin_identifiers['stripe']['artifact_id'].should eq 'stripe-plugin'
144
+ plugin_identifiers['stripe']['packaging'].should eq 'jar'
145
+ plugin_identifiers['stripe']['version'].should eq '7.0.0'
146
+ plugin_identifiers['stripe']['language'].should eq 'java'
147
+
148
+ plugin_identifiers['payment-test-plugin']['plugin_name'].should eq 'killbill-payment-test'
149
+ plugin_identifiers['payment-test-plugin']['group_id'].should eq 'org.kill-bill.billing.plugin.ruby'
150
+ plugin_identifiers['payment-test-plugin']['artifact_id'].should eq 'payment-test-plugin'
151
+ plugin_identifiers['payment-test-plugin']['packaging'].should eq 'tar.gz'
152
+ plugin_identifiers['payment-test-plugin']['version'].should eq '1.8.7'
153
+ plugin_identifiers['payment-test-plugin']['language'].should eq 'ruby'
152
154
  end
153
155
  end