kpm 0.8.0 → 0.10.1

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.
Files changed (46) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +80 -8
  4. data/README.adoc +37 -2
  5. data/docker/docker-compose.ci.mysql.yml +21 -0
  6. data/kpm.gemspec +4 -3
  7. data/lib/kpm/account.rb +4 -3
  8. data/lib/kpm/coordinates.rb +4 -3
  9. data/lib/kpm/database.rb +8 -3
  10. data/lib/kpm/formatter.rb +2 -2
  11. data/lib/kpm/inspector.rb +2 -2
  12. data/lib/kpm/migrations.rb +18 -4
  13. data/lib/kpm/nexus_helper/actions.rb +9 -5
  14. data/lib/kpm/nexus_helper/cloudsmith_api_calls.rb +85 -0
  15. data/lib/kpm/nexus_helper/github_api_calls.rb +70 -0
  16. data/lib/kpm/nexus_helper/nexus_api_calls_v2.rb +79 -50
  17. data/lib/kpm/plugins_directory.yml +14 -6
  18. data/lib/kpm/system.rb +1 -1
  19. data/lib/kpm/tasks.rb +23 -7
  20. data/lib/kpm/tenant_config.rb +1 -1
  21. data/lib/kpm/tomcat_manager.rb +1 -0
  22. data/lib/kpm/version.rb +1 -1
  23. data/pom.xml +211 -40
  24. data/spec/kpm/remote/base_artifact_spec.rb +15 -13
  25. data/spec/kpm/remote/base_installer_spec.rb +13 -13
  26. data/spec/kpm/remote/cloudsmith_api_calls_spec.rb +109 -0
  27. data/spec/kpm/remote/github_api_calls_spec.rb +40 -0
  28. data/spec/kpm/remote/installer_spec.rb +38 -37
  29. data/spec/kpm/remote/kaui_artifact_spec.rb +4 -4
  30. data/spec/kpm/remote/killbill_plugin_artifact_spec.rb +19 -19
  31. data/spec/kpm/remote/killbill_server_artifact_spec.rb +13 -13
  32. data/spec/kpm/remote/migrations_spec.rb +9 -9
  33. data/spec/kpm/remote/nexus_facade_spec.rb +2 -2
  34. data/spec/kpm/remote/tenant_config_spec.rb +3 -3
  35. data/spec/kpm/remote/tomcat_manager_spec.rb +2 -2
  36. data/spec/kpm/unit/actions_spec.rb +2 -2
  37. data/spec/kpm/unit/base_artifact_spec.rb +14 -14
  38. data/spec/kpm/unit/inspector_spec.rb +28 -28
  39. data/spec/kpm/unit/installer_spec.rb +4 -4
  40. data/spec/kpm/unit/plugins_directory_spec.rb +31 -31
  41. data/spec/kpm/unit/plugins_manager_spec.rb +54 -54
  42. data/spec/kpm/unit/sha1_checker_spec.rb +2 -2
  43. data/spec/kpm/unit/uninstaller_spec.rb +21 -21
  44. data/spec/kpm/unit_mysql/account_spec.rb +13 -13
  45. data/spec/spec_helper.rb +1 -1
  46. metadata +28 -16
@@ -18,16 +18,16 @@ describe KPM::KillbillServerArtifact do
18
18
  KPM::BaseArtifact::KILLBILL_CLASSIFIER,
19
19
  'LATEST',
20
20
  dir)
21
- info[:file_name].should eq "killbill-profiles-killbill-#{info[:version]}.war"
22
- info[:size].should eq File.size(info[:file_path])
21
+ expect(info[:file_name]).to eq "killbill-profiles-killbill-#{info[:version]}.war"
22
+ expect(info[:size]).to eq File.size(info[:file_path])
23
23
  end
24
24
  end
25
25
 
26
26
  it 'should be able to list versions' do
27
27
  versions = KPM::KillbillServerArtifact.versions(KPM::BaseArtifact::KILLBILL_ARTIFACT_ID).to_a
28
28
  expect(versions.size).to be >= 2
29
- versions[0].should eq '0.11.10'
30
- versions[1].should eq '0.11.11'
29
+ expect(versions[0]).to eq '0.11.10'
30
+ expect(versions[1]).to eq '0.11.11'
31
31
  end
32
32
 
33
33
  it 'should get dependencies information' do
@@ -36,23 +36,23 @@ describe KPM::KillbillServerArtifact do
36
36
  Dir.mktmpdir do |dir|
37
37
  sha1_file = "#{dir}/sha1.yml"
38
38
  info = KPM::KillbillServerArtifact.info('0.15.9', sha1_file)
39
- info['killbill'].should eq '0.15.9'
40
- info['killbill-oss-parent'].should eq '0.62'
41
- info['killbill-api'].should eq '0.27'
42
- info['killbill-plugin-api'].should eq '0.16'
43
- info['killbill-commons'].should eq '0.10'
44
- info['killbill-platform'].should eq '0.13'
45
- KPM::Sha1Checker.from_file(sha1_file).killbill_info('0.15.9').should eq info
39
+ expect(info['killbill']).to eq '0.15.9'
40
+ expect(info['killbill-oss-parent']).to eq '0.62'
41
+ expect(info['killbill-api']).to eq '0.27'
42
+ expect(info['killbill-plugin-api']).to eq '0.16'
43
+ expect(info['killbill-commons']).to eq '0.10'
44
+ expect(info['killbill-platform']).to eq '0.13'
45
+ expect(KPM::Sha1Checker.from_file(sha1_file).killbill_info('0.15.9')).to eq info
46
46
 
47
47
  # Verify the download is skipped gracefully when Nexus isn't reachable
48
48
  KPM::KillbillServerArtifact.info('0.15.9', sha1_file, false, nil, nexus_down)
49
49
 
50
50
  # Verify the download fails when Nexus isn't reachable and force_download is set
51
- expect { KPM::KillbillServerArtifact.info('0.15.9', sha1_file, true, nil, nexus_down) }.to raise_error
51
+ expect { KPM::KillbillServerArtifact.info('0.15.9', sha1_file, true, nil, nexus_down) }.to raise_exception(SocketError, /(Failed to open TCP connection to does.not.exist:443|getaddrinfo)/)
52
52
 
53
53
  # Verify the download fails when Nexus isn't reachable and the Nexus cache is empty
54
54
  KPM::Sha1Checker.from_file(sha1_file).cache_killbill_info('0.15.9', nil)
55
- expect { KPM::KillbillServerArtifact.info('0.15.9', sha1_file, false, nil, nexus_down) }.to raise_error
55
+ expect { KPM::KillbillServerArtifact.info('0.15.9', sha1_file, false, nil, nexus_down) }.to raise_exception(SocketError, /(Failed to open TCP connection to does.not.exist:443|getaddrinfo)/)
56
56
  end
57
57
  end
58
58
  end
@@ -7,13 +7,13 @@ describe KPM::Migrations, skip_me_if_nil: ENV['TOKEN'].nil? do
7
7
  it 'should be able to find migrations for a java plugin' do
8
8
  migrations = KPM::Migrations.new('analytics-plugin-3.0.2', nil, 'killbill/killbill-analytics-plugin', ENV['TOKEN']).migrations
9
9
  # No migration yet
10
- migrations.size.should eq 0
10
+ expect(migrations.size).to eq 0
11
11
  end
12
12
 
13
13
  it 'should be able to find migrations for a ruby plugin' do
14
14
  migrations = KPM::Migrations.new('master', nil, 'killbill/killbill-cybersource-plugin', ENV['TOKEN']).migrations
15
15
  # No migration yet
16
- migrations.size.should eq 1
16
+ expect(migrations.size).to eq 1
17
17
  end
18
18
  end
19
19
 
@@ -21,19 +21,19 @@ describe KPM::Migrations, skip_me_if_nil: ENV['TOKEN'].nil? do
21
21
  it 'should be able to find migrations between two versions' do
22
22
  migrations = KPM::Migrations.new('killbill-0.16.3', 'killbill-0.16.4', 'killbill/killbill', ENV['TOKEN']).migrations
23
23
 
24
- migrations.size.should eq 1
25
- migrations.first[:name].should eq 'V20160324060345__revisit_payment_methods_indexes_509.sql'
26
- migrations.first[:sql].should eq "drop index payment_methods_active_accnt on payment_methods;\n"
24
+ expect(migrations.size).to eq 1
25
+ expect(migrations.first[:name]).to eq 'V20160324060345__revisit_payment_methods_indexes_509.sql'
26
+ expect(migrations.first[:sql]).to eq "drop index payment_methods_active_accnt on payment_methods;\n"
27
27
 
28
- KPM::Migrations.new('master', 'master', 'killbill/killbill', ENV['TOKEN']).migrations.size.should eq 0
28
+ expect(KPM::Migrations.new('master', 'master', 'killbill/killbill', ENV['TOKEN']).migrations.size).to eq 0
29
29
  end
30
30
 
31
31
  it 'should be able to find migrations for a given version' do
32
32
  migrations = KPM::Migrations.new('killbill-0.16.4', nil, 'killbill/killbill', ENV['TOKEN']).migrations
33
33
 
34
- migrations.size.should eq 1
35
- migrations.first[:name].should eq 'V20160324060345__revisit_payment_methods_indexes_509.sql'
36
- migrations.first[:sql].should eq "drop index payment_methods_active_accnt on payment_methods;\n"
34
+ expect(migrations.size).to eq 1
35
+ expect(migrations.first[:name]).to eq 'V20160324060345__revisit_payment_methods_indexes_509.sql'
36
+ expect(migrations.first[:sql]).to eq "drop index payment_methods_active_accnt on payment_methods;\n"
37
37
  end
38
38
  end
39
39
  end
@@ -51,7 +51,7 @@ describe KPM::NexusFacade do
51
51
  destination = Dir.mktmpdir('artifact')
52
52
  expect { response = nexus_remote.pull_artifact(coordinates, destination) }.not_to raise_exception
53
53
  destination = File.join(File.expand_path(destination), response[:file_name])
54
- expect(File.exist?(destination)).to be_true
54
+ expect(File.exist?(destination)).to be_truthy
55
55
  end
56
56
 
57
57
  it 'when pull artifact with classifier' do
@@ -59,6 +59,6 @@ describe KPM::NexusFacade do
59
59
  destination = Dir.mktmpdir('artifact')
60
60
  expect { response = nexus_remote.pull_artifact(coordinates_with_classifier, destination) }.not_to raise_exception
61
61
  destination = File.join(File.expand_path(destination), response[:file_name])
62
- expect(File.exist?(destination)).to be_true
62
+ expect(File.exist?(destination)).to be_truthy
63
63
  end
64
64
  end
@@ -29,7 +29,7 @@ describe KPM::TenantConfig do
29
29
  end
30
30
 
31
31
  it 'when initialized with options' do
32
- tenant_config_class.should be_an_instance_of(KPM::TenantConfig)
32
+ expect(tenant_config_class).to be_an_instance_of(KPM::TenantConfig)
33
33
  expect(tenant_config_class.instance_variable_get(:@killbill_api_key)).to eq(killbill_api_key)
34
34
  expect(tenant_config_class.instance_variable_get(:@killbill_api_secret)).to eq(killbill_api_secret)
35
35
  expect(tenant_config_class.instance_variable_get(:@killbill_user)).to eq(killbill_user)
@@ -49,8 +49,8 @@ describe KPM::TenantConfig do
49
49
 
50
50
  # get created tenant config
51
51
  export_file = tenant_config_class.export(key)
52
- expect(File.exist?(export_file)).to be_true
53
- expect(File.readlines(export_file).grep(/#{key}/)).to be_true
52
+ expect(File.exist?(export_file)).to be_truthy
53
+ expect(File.readlines(export_file).grep(/#{key}/)).to be_truthy
54
54
 
55
55
  # remove created tenant config
56
56
  KillBillClient::Model::Tenant.delete_tenant_user_key_value(key, user, nil, nil, options)
@@ -13,10 +13,10 @@ describe KPM::TomcatManager do
13
13
  manager = KPM::TomcatManager.new(dir, @logger)
14
14
 
15
15
  tomcat_path = manager.download
16
- tomcat_path.should_not be_nil
16
+ expect(tomcat_path).not_to be_nil
17
17
 
18
18
  root_war_path = manager.setup
19
- root_war_path.should_not be_nil
19
+ expect(root_war_path).not_to be_nil
20
20
  end
21
21
  end
22
22
  end
@@ -8,7 +8,7 @@ describe KPM::NexusFacade::Actions do
8
8
  let(:nexus_mock) { double(KPM::NexusFacade::NexusApiCallsV2) }
9
9
 
10
10
  before do
11
- KPM::NexusFacade::NexusApiCallsV2.stub(:new).and_return(nexus_mock)
11
+ allow(KPM::NexusFacade::NexusApiCallsV2).to receive(:new).and_return(nexus_mock)
12
12
  end
13
13
 
14
14
  context 'when Nexus throws a non-retryable exception' do
@@ -45,7 +45,7 @@ describe KPM::NexusFacade::Actions do
45
45
  raise OpenSSL::SSL::SSLErrorWaitReadable if calls < 2
46
46
 
47
47
  true
48
- end).to be_true
48
+ end).to be_truthy
49
49
  expect(calls).to eq(2)
50
50
  end
51
51
  end
@@ -14,16 +14,16 @@ describe KPM::BaseArtifact do
14
14
  Dir.mktmpdir do |dir|
15
15
  info = KPM::BaseArtifact.pull_from_fs(@logger, file_path, dir)
16
16
 
17
- info[:skipped].should be_false
18
- info[:is_tgz].should be_false
19
- info[:repository_path].should eq file_path
20
- info[:dir_name].should eq dir
21
- info[:bundle_dir].should eq dir
22
- info[:file_name].should eq 'sha1_test.yml'
17
+ expect(info[:skipped]).to be_falsey
18
+ expect(info[:is_tgz]).to be_falsey
19
+ expect(info[:repository_path]).to eq file_path
20
+ expect(info[:dir_name]).to eq dir
21
+ expect(info[:bundle_dir]).to eq dir
22
+ expect(info[:file_name]).to eq 'sha1_test.yml'
23
23
 
24
24
  files_in_dir = Dir[dir + '/*']
25
- files_in_dir.size.should eq 1
26
- files_in_dir[0].should eq info[:file_path]
25
+ expect(files_in_dir.size).to eq 1
26
+ expect(files_in_dir[0]).to eq info[:file_path]
27
27
  end
28
28
  end
29
29
 
@@ -83,11 +83,11 @@ describe KPM::BaseArtifact do
83
83
 
84
84
  KPM::BaseArtifact.send('populate_fs_info', info, specified_destination_path)
85
85
 
86
- info[:repository_path].should eq repository_path
87
- info[:is_tgz].should eq is_tgz
88
- info[:version].should eq version
89
- info[:dir_name].should eq expected_dir_name
90
- info[:file_name].should eq expected_file_name
91
- info[:file_path].should eq expected_file_path
86
+ expect(info[:repository_path]).to eq repository_path
87
+ expect(info[:is_tgz]).to eq is_tgz
88
+ expect(info[:version]).to eq version
89
+ expect(info[:dir_name]).to eq expected_dir_name
90
+ expect(info[:file_name]).to eq expected_file_name
91
+ expect(info[:file_path]).to eq expected_file_path
92
92
  end
93
93
  end
@@ -31,34 +31,34 @@ describe KPM::Inspector do
31
31
 
32
32
  inspector = KPM::Inspector.new
33
33
  all_plugins = inspector.inspect(@bundles_dir)
34
- all_plugins.size.should eq 2
35
-
36
- all_plugins['plugin_bar'][:plugin_key].should eq 'bar'
37
- all_plugins['plugin_bar'][:plugin_path].should eq @java_plugins_dir.join('plugin_bar').to_s
38
- all_plugins['plugin_bar'][:versions].size.should eq 1
39
- all_plugins['plugin_bar'][:versions][0][:version].should eq '1.0.0'
40
- all_plugins['plugin_bar'][:versions][0][:is_default].should eq false
41
- all_plugins['plugin_bar'][:versions][0][:is_disabled].should eq false
42
- all_plugins['plugin_bar'][:versions][0][:sha1].should eq '98765'
43
-
44
- all_plugins['plugin_foo'][:plugin_key].should eq 'foo'
45
- all_plugins['plugin_foo'][:plugin_path].should eq @ruby_plugins_dir.join('plugin_foo').to_s
46
- all_plugins['plugin_foo'][:versions].size.should eq 3
47
-
48
- all_plugins['plugin_foo'][:versions][0][:version].should eq '1.2.3'
49
- all_plugins['plugin_foo'][:versions][0][:is_default].should eq false
50
- all_plugins['plugin_foo'][:versions][0][:is_disabled].should eq true
51
- all_plugins['plugin_foo'][:versions][0][:sha1].should eq '12345'
52
-
53
- all_plugins['plugin_foo'][:versions][1][:version].should eq '2.0.0'
54
- all_plugins['plugin_foo'][:versions][1][:is_default].should eq false
55
- all_plugins['plugin_foo'][:versions][1][:is_disabled].should eq false
56
- all_plugins['plugin_foo'][:versions][1][:sha1].should eq '23456'
57
-
58
- all_plugins['plugin_foo'][:versions][2][:version].should eq '2.0.1'
59
- all_plugins['plugin_foo'][:versions][2][:is_default].should eq true
60
- all_plugins['plugin_foo'][:versions][2][:is_disabled].should eq false
61
- all_plugins['plugin_foo'][:versions][2][:sha1].should eq '34567'
34
+ expect(all_plugins.size).to eq 2
35
+
36
+ expect(all_plugins['plugin_bar'][:plugin_key]).to eq 'bar'
37
+ expect(all_plugins['plugin_bar'][:plugin_path]).to eq @java_plugins_dir.join('plugin_bar').to_s
38
+ expect(all_plugins['plugin_bar'][:versions].size).to eq 1
39
+ expect(all_plugins['plugin_bar'][:versions][0][:version]).to eq '1.0.0'
40
+ expect(all_plugins['plugin_bar'][:versions][0][:is_default]).to eq false
41
+ expect(all_plugins['plugin_bar'][:versions][0][:is_disabled]).to eq false
42
+ expect(all_plugins['plugin_bar'][:versions][0][:sha1]).to eq '98765'
43
+
44
+ expect(all_plugins['plugin_foo'][:plugin_key]).to eq 'foo'
45
+ expect(all_plugins['plugin_foo'][:plugin_path]).to eq @ruby_plugins_dir.join('plugin_foo').to_s
46
+ expect(all_plugins['plugin_foo'][:versions].size).to eq 3
47
+
48
+ expect(all_plugins['plugin_foo'][:versions][0][:version]).to eq '1.2.3'
49
+ expect(all_plugins['plugin_foo'][:versions][0][:is_default]).to eq false
50
+ expect(all_plugins['plugin_foo'][:versions][0][:is_disabled]).to eq true
51
+ expect(all_plugins['plugin_foo'][:versions][0][:sha1]).to eq '12345'
52
+
53
+ expect(all_plugins['plugin_foo'][:versions][1][:version]).to eq '2.0.0'
54
+ expect(all_plugins['plugin_foo'][:versions][1][:is_default]).to eq false
55
+ expect(all_plugins['plugin_foo'][:versions][1][:is_disabled]).to eq false
56
+ expect(all_plugins['plugin_foo'][:versions][1][:sha1]).to eq '23456'
57
+
58
+ expect(all_plugins['plugin_foo'][:versions][2][:version]).to eq '2.0.1'
59
+ expect(all_plugins['plugin_foo'][:versions][2][:is_default]).to eq true
60
+ expect(all_plugins['plugin_foo'][:versions][2][:is_disabled]).to eq false
61
+ expect(all_plugins['plugin_foo'][:versions][2][:sha1]).to eq '34567'
62
62
  end
63
63
 
64
64
  private
@@ -8,11 +8,11 @@ describe KPM::Installer do
8
8
 
9
9
  it 'finds the right stable versions' do
10
10
  config = KPM::Installer.build_default_config(all_kb_versions)
11
- config['killbill'].should_not be_nil
12
- config['killbill']['version'].should eq '0.16.11'
11
+ expect(config['killbill']).not_to be_nil
12
+ expect(config['killbill']['version']).to eq '0.16.11'
13
13
 
14
- config['kaui'].should_not be_nil
15
- config['kaui']['version'].should eq 'LATEST'
14
+ expect(config['kaui']).not_to be_nil
15
+ expect(config['kaui']['version']).to eq 'LATEST'
16
16
  end
17
17
  end
18
18
  end
@@ -5,48 +5,48 @@ require 'spec_helper'
5
5
  describe KPM::PluginsDirectory do
6
6
  it 'should parse the plugins directory' do
7
7
  directory = KPM::PluginsDirectory.all(false)
8
- directory.size.should > 0
8
+ expect(directory.size).to be > 0
9
9
  end
10
10
 
11
11
  it 'should lookup plugins' do
12
12
  group_id, artifact_id, packaging, classifier, version, type = KPM::PluginsDirectory.lookup('analytics', false, '0.20.11')
13
- group_id.should eq 'org.kill-bill.billing.plugin.java'
14
- artifact_id.should eq 'analytics-plugin'
15
- packaging.should eq 'jar'
16
- classifier.should be_nil
17
- version.should eq '6.0.1'
18
- type.should eq :java
13
+ expect(group_id).to eq 'org.kill-bill.billing.plugin.java'
14
+ expect(artifact_id).to eq 'analytics-plugin'
15
+ expect(packaging).to eq 'jar'
16
+ expect(classifier).to be_nil
17
+ expect(version).to eq '6.0.1'
18
+ expect(type).to eq :java
19
19
 
20
20
  group_id, artifact_id, packaging, classifier, version, type = KPM::PluginsDirectory.lookup('analytics', false, '0.20.11-SNAPSHOT')
21
- group_id.should eq 'org.kill-bill.billing.plugin.java'
22
- artifact_id.should eq 'analytics-plugin'
23
- packaging.should eq 'jar'
24
- classifier.should be_nil
25
- version.should eq '6.0.1'
26
- type.should eq :java
21
+ expect(group_id).to eq 'org.kill-bill.billing.plugin.java'
22
+ expect(artifact_id).to eq 'analytics-plugin'
23
+ expect(packaging).to eq 'jar'
24
+ expect(classifier).to be_nil
25
+ expect(version).to eq '6.0.1'
26
+ expect(type).to eq :java
27
27
 
28
28
  group_id, artifact_id, packaging, classifier, version, type = KPM::PluginsDirectory.lookup('analytics', false, '0.20')
29
- group_id.should eq 'org.kill-bill.billing.plugin.java'
30
- artifact_id.should eq 'analytics-plugin'
31
- packaging.should eq 'jar'
32
- classifier.should be_nil
33
- version.should eq '6.0.1'
34
- type.should eq :java
29
+ expect(group_id).to eq 'org.kill-bill.billing.plugin.java'
30
+ expect(artifact_id).to eq 'analytics-plugin'
31
+ expect(packaging).to eq 'jar'
32
+ expect(classifier).to be_nil
33
+ expect(version).to eq '6.0.1'
34
+ expect(type).to eq :java
35
35
 
36
36
  group_id, artifact_id, packaging, classifier, version, type = KPM::PluginsDirectory.lookup('analytics', false, 'LATEST')
37
- group_id.should eq 'org.kill-bill.billing.plugin.java'
38
- artifact_id.should eq 'analytics-plugin'
39
- packaging.should eq 'jar'
40
- classifier.should be_nil
41
- version.should eq 'LATEST'
42
- type.should eq :java
37
+ expect(group_id).to eq 'org.kill-bill.billing.plugin.java'
38
+ expect(artifact_id).to eq 'analytics-plugin'
39
+ expect(packaging).to eq 'jar'
40
+ expect(classifier).to be_nil
41
+ expect(version).to eq 'LATEST'
42
+ expect(type).to eq :java
43
43
 
44
44
  group_id, artifact_id, packaging, classifier, version, type = KPM::PluginsDirectory.lookup('analytics', false, '0.42')
45
- group_id.should eq 'org.kill-bill.billing.plugin.java'
46
- artifact_id.should eq 'analytics-plugin'
47
- packaging.should eq 'jar'
48
- classifier.should be_nil
49
- version.should eq 'LATEST'
50
- type.should eq :java
45
+ expect(group_id).to eq 'org.kill-bill.billing.plugin.java'
46
+ expect(artifact_id).to eq 'analytics-plugin'
47
+ expect(packaging).to eq 'jar'
48
+ expect(classifier).to be_nil
49
+ expect(version).to eq 'LATEST'
50
+ expect(type).to eq :java
51
51
  end
52
52
  end
@@ -15,7 +15,7 @@ describe KPM::PluginsManager do
15
15
  FileUtils.mkdir_p(@plugin_dir.join('1.0.0'))
16
16
  FileUtils.mkdir_p(@plugin_dir.join('2.0.0'))
17
17
 
18
- File.exist?(@plugin_dir.join('SET_DEFAULT')).should be_false
18
+ expect(File.exist?(@plugin_dir.join('SET_DEFAULT'))).to be_falsey
19
19
  end
20
20
 
21
21
  after(:each) do
@@ -25,74 +25,74 @@ describe KPM::PluginsManager do
25
25
  it 'creates a plugin identifier entry with no coordinate' do
26
26
  # Verifies file gets created if does not exist
27
27
  identifiers = @manager.add_plugin_identifier_key('foo', 'foo_name', 'type', nil)
28
- identifiers.size.should eq 1
29
- identifiers['foo']['plugin_name'].should eq 'foo_name'
28
+ expect(identifiers.size).to eq 1
29
+ expect(identifiers['foo']['plugin_name']).to eq 'foo_name'
30
30
  end
31
31
 
32
32
  it 'creates a plugin identifier entry with coordinates' do
33
33
  # Verifies file gets created if does not exist
34
34
  coordinate_map = { group_id: 'group', artifact_id: 'artifact', packaging: 'packaging', version: 'version' }
35
35
  identifiers = @manager.add_plugin_identifier_key('bar', 'bar_name', 'type', coordinate_map)
36
- identifiers.size.should eq 1
37
- identifiers['bar']['plugin_name'].should eq 'bar_name'
38
- identifiers['bar']['group_id'].should eq 'group'
39
- identifiers['bar']['artifact_id'].should eq 'artifact'
40
- identifiers['bar']['packaging'].should eq 'packaging'
41
- identifiers['bar']['classifier'].should.nil?
42
- identifiers['bar']['version'].should eq 'version'
36
+ expect(identifiers.size).to eq 1
37
+ expect(identifiers['bar']['plugin_name']).to eq 'bar_name'
38
+ expect(identifiers['bar']['group_id']).to eq 'group'
39
+ expect(identifiers['bar']['artifact_id']).to eq 'artifact'
40
+ expect(identifiers['bar']['packaging']).to eq 'packaging'
41
+ expect(identifiers['bar']['classifier']).to be_nil
42
+ expect(identifiers['bar']['version']).to eq 'version'
43
43
  end
44
44
 
45
45
  it 'creates plugin identifier with multiple entries' do
46
46
  # Verifies file gets created if does not exist
47
47
  identifiers = @manager.add_plugin_identifier_key('foo', 'foo_name', 'type', nil)
48
- identifiers.size.should eq 1
49
- identifiers['foo']['plugin_name'].should eq 'foo_name'
48
+ expect(identifiers.size).to eq 1
49
+ expect(identifiers['foo']['plugin_name']).to eq 'foo_name'
50
50
 
51
51
  # Verify file was created from previous entry (prev value was read)
52
52
  identifiers = @manager.add_plugin_identifier_key('bar', 'bar_name', 'type', nil)
53
- identifiers.size.should eq 2
54
- identifiers['foo']['plugin_name'].should eq 'foo_name'
55
- identifiers['bar']['plugin_name'].should eq 'bar_name'
53
+ expect(identifiers.size).to eq 2
54
+ expect(identifiers['foo']['plugin_name']).to eq 'foo_name'
55
+ expect(identifiers['bar']['plugin_name']).to eq 'bar_name'
56
56
 
57
57
  # Verify file was created from previous entry (prev value was read)
58
58
  identifiers = @manager.add_plugin_identifier_key('zoe', 'zoe_name', 'type', nil)
59
- identifiers.size.should eq 3
60
- identifiers['bar']['plugin_name'].should eq 'bar_name'
61
- identifiers['foo']['plugin_name'].should eq 'foo_name'
62
- identifiers['zoe']['plugin_name'].should eq 'zoe_name'
59
+ expect(identifiers.size).to eq 3
60
+ expect(identifiers['bar']['plugin_name']).to eq 'bar_name'
61
+ expect(identifiers['foo']['plugin_name']).to eq 'foo_name'
62
+ expect(identifiers['zoe']['plugin_name']).to eq 'zoe_name'
63
63
  end
64
64
 
65
65
  it 'creates plugin identifiers with duplicate entries' do
66
66
  # Verifies file gets created if does not exist
67
67
  identifiers = @manager.add_plugin_identifier_key('kewl', 'kewl_name', 'type', nil)
68
- identifiers.size.should eq 1
69
- identifiers['kewl']['plugin_name'].should eq 'kewl_name'
68
+ expect(identifiers.size).to eq 1
69
+ expect(identifiers['kewl']['plugin_name']).to eq 'kewl_name'
70
70
 
71
71
  # Add with a different plugin_name
72
72
  identifiers = @manager.add_plugin_identifier_key('kewl', 'kewl_name2', 'type', nil)
73
- identifiers.size.should eq 1
74
- identifiers['kewl']['plugin_name'].should eq 'kewl_name'
73
+ expect(identifiers.size).to eq 1
74
+ expect(identifiers['kewl']['plugin_name']).to eq 'kewl_name'
75
75
  end
76
76
 
77
77
  it 'creates plugin identifiers and remove entry' do
78
78
  # Verifies file gets created if does not exist
79
79
  identifiers = @manager.add_plugin_identifier_key('lol', 'lol_name', 'type', nil)
80
- identifiers.size.should eq 1
81
- identifiers['lol']['plugin_name'].should eq 'lol_name'
80
+ expect(identifiers.size).to eq 1
81
+ expect(identifiers['lol']['plugin_name']).to eq 'lol_name'
82
82
 
83
83
  # Remove wrong entry, nothing happens
84
84
  identifiers = @manager.remove_plugin_identifier_key('lol2')
85
- identifiers.size.should eq 1
86
- identifiers['lol']['plugin_name'].should eq 'lol_name'
85
+ expect(identifiers.size).to eq 1
86
+ expect(identifiers['lol']['plugin_name']).to eq 'lol_name'
87
87
 
88
88
  # Remove correct entry
89
89
  identifiers = @manager.remove_plugin_identifier_key('lol')
90
- identifiers.size.should eq 0
90
+ expect(identifiers.size).to eq 0
91
91
 
92
92
  # Add same entry again
93
93
  identifiers = @manager.add_plugin_identifier_key('lol', 'lol_name', 'type', nil)
94
- identifiers.size.should eq 1
95
- identifiers['lol']['plugin_name'].should eq 'lol_name'
94
+ expect(identifiers.size).to eq 1
95
+ expect(identifiers['lol']['plugin_name']).to eq 'lol_name'
96
96
  end
97
97
 
98
98
  it 'creates plugin identifiers and validate entry' do
@@ -100,15 +100,15 @@ describe KPM::PluginsManager do
100
100
  coordinate_map = { group_id: 'group', artifact_id: 'artifact', packaging: 'packaging', version: 'version' }
101
101
 
102
102
  identifiers = @manager.add_plugin_identifier_key('yoyo', 'yoyo_name', 'type', coordinate_map)
103
- identifiers.size.should eq 1
104
- identifiers['yoyo']['plugin_name'].should eq 'yoyo_name'
103
+ expect(identifiers.size).to eq 1
104
+ expect(identifiers['yoyo']['plugin_name']).to eq 'yoyo_name'
105
105
 
106
- @manager.validate_plugin_identifier_key('yoyo', coordinate_map).should eq true
106
+ expect(@manager.validate_plugin_identifier_key('yoyo', coordinate_map)).to eq true
107
107
 
108
108
  # Negative validation
109
109
  invalid_coordinate_map = { group_id: 'group1', artifact_id: 'artifact', packaging: 'packaging', version: 'version' }
110
110
 
111
- @manager.validate_plugin_identifier_key('yoyo', invalid_coordinate_map).should eq false
111
+ expect(@manager.validate_plugin_identifier_key('yoyo', invalid_coordinate_map)).to eq false
112
112
  end
113
113
 
114
114
  it 'creates a plugin identifier entry with a new version' do
@@ -117,36 +117,36 @@ describe KPM::PluginsManager do
117
117
  coordinate_map1 = { group_id: 'group', artifact_id: 'artifact', packaging: 'packaging', version: 'version1' }
118
118
 
119
119
  identifiers = @manager.add_plugin_identifier_key('bar', 'bar_name', 'type', coordinate_map1)
120
- identifiers.size.should eq 1
121
- identifiers['bar']['plugin_name'].should eq 'bar_name'
122
- identifiers['bar']['version'].should eq 'version1'
120
+ expect(identifiers.size).to eq 1
121
+ expect(identifiers['bar']['plugin_name']).to eq 'bar_name'
122
+ expect(identifiers['bar']['version']).to eq 'version1'
123
123
 
124
124
  coordinate_map2 = { group_id: 'group', artifact_id: 'artifact', packaging: 'packaging', version: 'version2' }
125
125
 
126
126
  identifiers = @manager.add_plugin_identifier_key('bar', 'bar_name', 'type', coordinate_map2)
127
- identifiers.size.should eq 1
128
- identifiers['bar']['plugin_name'].should eq 'bar_name'
129
- identifiers['bar']['version'].should eq 'version2'
127
+ expect(identifiers.size).to eq 1
128
+ expect(identifiers['bar']['plugin_name']).to eq 'bar_name'
129
+ expect(identifiers['bar']['version']).to eq 'version2'
130
130
  end
131
131
 
132
132
  it 'sets a path as active' do
133
133
  @manager.set_active(@plugin_dir.join('1.0.0'))
134
- File.exist?(@plugin_dir.join('SET_DEFAULT')).should be_true
135
- File.readlink(@plugin_dir.join('SET_DEFAULT')).should eq @plugin_dir.join('1.0.0').to_s
134
+ expect(File.exist?(@plugin_dir.join('SET_DEFAULT'))).to be_truthy
135
+ expect(File.readlink(@plugin_dir.join('SET_DEFAULT'))).to eq @plugin_dir.join('1.0.0').to_s
136
136
 
137
137
  @manager.set_active(@plugin_dir.join('2.0.0'))
138
- File.exist?(@plugin_dir.join('SET_DEFAULT')).should be_true
139
- File.readlink(@plugin_dir.join('SET_DEFAULT')).should eq @plugin_dir.join('2.0.0').to_s
138
+ expect(File.exist?(@plugin_dir.join('SET_DEFAULT'))).to be_truthy
139
+ expect(File.readlink(@plugin_dir.join('SET_DEFAULT'))).to eq @plugin_dir.join('2.0.0').to_s
140
140
  end
141
141
 
142
142
  it 'sets a plugin version as active' do
143
143
  @manager.set_active('killbill-stripe', '2.0.0')
144
- File.exist?(@plugin_dir.join('SET_DEFAULT')).should be_true
145
- File.readlink(@plugin_dir.join('SET_DEFAULT')).should eq @plugin_dir.join('2.0.0').to_s
144
+ expect(File.exist?(@plugin_dir.join('SET_DEFAULT'))).to be_truthy
145
+ expect(File.readlink(@plugin_dir.join('SET_DEFAULT'))).to eq @plugin_dir.join('2.0.0').to_s
146
146
 
147
147
  @manager.set_active('killbill-stripe', '1.0.0')
148
- File.exist?(@plugin_dir.join('SET_DEFAULT')).should be_true
149
- File.readlink(@plugin_dir.join('SET_DEFAULT')).should eq @plugin_dir.join('1.0.0').to_s
148
+ expect(File.exist?(@plugin_dir.join('SET_DEFAULT'))).to be_truthy
149
+ expect(File.readlink(@plugin_dir.join('SET_DEFAULT'))).to eq @plugin_dir.join('1.0.0').to_s
150
150
  end
151
151
 
152
152
  it 'uninstalls a plugin via a path' do
@@ -190,19 +190,19 @@ describe KPM::PluginsManager do
190
190
  end
191
191
 
192
192
  it 'guesses the plugin name' do
193
- @manager.guess_plugin_name('tripe').should be_nil
193
+ expect(@manager.guess_plugin_name('tripe')).to be_nil
194
194
  # Short name
195
- @manager.guess_plugin_name('stripe').should eq 'killbill-stripe'
195
+ expect(@manager.guess_plugin_name('stripe')).to eq 'killbill-stripe'
196
196
  # Artifact id
197
- @manager.guess_plugin_name('stripe-plugin').should eq 'killbill-stripe'
197
+ expect(@manager.guess_plugin_name('stripe-plugin')).to eq 'killbill-stripe'
198
198
  # Plugin name (top directory in the .tar.gz)
199
- @manager.guess_plugin_name('killbill-stripe').should eq 'killbill-stripe'
199
+ expect(@manager.guess_plugin_name('killbill-stripe')).to eq 'killbill-stripe'
200
200
  end
201
201
 
202
202
  private
203
203
 
204
204
  def check_state(version, has_restart, has_disabled)
205
- File.exist?(@plugin_dir.join(version).join('tmp').join('restart.txt')).should eq has_restart
206
- File.exist?(@plugin_dir.join(version).join('tmp').join('disabled.txt')).should eq has_disabled
205
+ expect(File.exist?(@plugin_dir.join(version).join('tmp').join('restart.txt'))).to eq has_restart
206
+ expect(File.exist?(@plugin_dir.join(version).join('tmp').join('disabled.txt'))).to eq has_disabled
207
207
  end
208
208
  end