metasploit-credential 0.14.5 → 0.14.6

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 (49) hide show
  1. checksums.yaml +4 -4
  2. data/lib/metasploit/credential/exporter/core.rb +2 -2
  3. data/lib/metasploit/credential/exporter/pwdump.rb +2 -2
  4. data/lib/metasploit/credential/migrator.rb +1 -1
  5. data/lib/metasploit/credential/version.rb +1 -3
  6. data/spec/dummy/config/database.yml +13 -11
  7. data/spec/dummy/db/structure.sql +1 -0
  8. data/spec/lib/metasploit/credential/creation_spec.rb +6 -8
  9. data/spec/lib/metasploit/credential/exporter/core_spec.rb +100 -85
  10. data/spec/lib/metasploit/credential/exporter/pwdump_spec.rb +14 -16
  11. data/spec/lib/metasploit/credential/importer/core_spec.rb +10 -12
  12. data/spec/lib/metasploit/credential/importer/multi_spec.rb +4 -6
  13. data/spec/lib/metasploit/credential/importer/pwdump_spec.rb +11 -13
  14. data/spec/lib/metasploit/credential/importer/zip_spec.rb +5 -7
  15. data/spec/lib/metasploit/credential/migrator_spec.rb +13 -13
  16. data/spec/lib/metasploit/credential/version_spec.rb +3 -5
  17. data/spec/lib/metasploit/credential_spec.rb +1 -3
  18. data/spec/models/mdm/service_spec.rb +3 -5
  19. data/spec/models/mdm/session_spec.rb +2 -4
  20. data/spec/models/mdm/task_spec.rb +4 -6
  21. data/spec/models/mdm/user_spec.rb +2 -4
  22. data/spec/models/mdm/workspace_spec.rb +2 -4
  23. data/spec/models/metasploit/credential/blank_username_spec.rb +5 -7
  24. data/spec/models/metasploit/credential/core_spec.rb +43 -45
  25. data/spec/models/metasploit/credential/login/status_spec.rb +19 -21
  26. data/spec/models/metasploit/credential/login_spec.rb +36 -38
  27. data/spec/models/metasploit/credential/nonreplayable_hash_spec.rb +3 -5
  28. data/spec/models/metasploit/credential/ntlm_hash_spec.rb +13 -15
  29. data/spec/models/metasploit/credential/origin/cracked_password_spec.rb +5 -7
  30. data/spec/models/metasploit/credential/origin/import_spec.rb +8 -10
  31. data/spec/models/metasploit/credential/origin/manual_spec.rb +7 -9
  32. data/spec/models/metasploit/credential/origin/service_spec.rb +10 -12
  33. data/spec/models/metasploit/credential/origin/session_spec.rb +11 -13
  34. data/spec/models/metasploit/credential/password_hash_spec.rb +4 -6
  35. data/spec/models/metasploit/credential/password_spec.rb +3 -5
  36. data/spec/models/metasploit/credential/postgres_md5_spec.rb +4 -6
  37. data/spec/models/metasploit/credential/private_spec.rb +8 -10
  38. data/spec/models/metasploit/credential/public_spec.rb +5 -7
  39. data/spec/models/metasploit/credential/realm_spec.rb +14 -16
  40. data/spec/models/metasploit/credential/replayable_hash_spec.rb +3 -5
  41. data/spec/models/metasploit/credential/ssh_key_spec.rb +15 -17
  42. data/spec/models/metasploit/credential/username_spec.rb +6 -8
  43. data/spec/models/metasploit_data_models/search/visitor/relation_spec.rb +1 -3
  44. data/spec/spec_helper.rb +83 -18
  45. data/spec/support/shared/contexts/mdm/workspace.rb +1 -1
  46. data/spec/support/shared/examples/core_validations.rb +117 -42
  47. data/spec/support/shared/examples/single_table_inheritance_database_columns.rb +2 -2
  48. data/spec/support/shared/examples/timestamp_database_column.rb +2 -2
  49. metadata +9 -9
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::Origin::Service do
1
+ RSpec.describe Metasploit::Credential::Origin::Service, type: :model do
4
2
  include_context 'Mdm::Workspace'
5
3
 
6
4
  subject(:service_origin) do
@@ -10,23 +8,23 @@ describe Metasploit::Credential::Origin::Service do
10
8
  it_should_behave_like 'Metasploit::Concern.run'
11
9
 
12
10
  context 'associations' do
13
- it { should have_many(:cores).class_name('Metasploit::Credential::Core').dependent(:destroy) }
14
- it { should belong_to(:service).class_name('Mdm::Service') }
11
+ it { is_expected.to have_many(:cores).class_name('Metasploit::Credential::Core').dependent(:destroy) }
12
+ it { is_expected.to belong_to(:service).class_name('Mdm::Service') }
15
13
  end
16
14
 
17
15
  context 'database' do
18
16
  context 'columns' do
19
17
  it_should_behave_like 'timestamp database columns'
20
18
 
21
- it { should have_db_column(:module_full_name).of_type(:text).with_options(null: false) }
19
+ it { is_expected.to have_db_column(:module_full_name).of_type(:text).with_options(null: false) }
22
20
 
23
21
  context 'foreign keys' do
24
- it { should have_db_column(:service_id).of_type(:integer).with_options(null: false) }
22
+ it { is_expected.to have_db_column(:service_id).of_type(:integer).with_options(null: false) }
25
23
  end
26
24
  end
27
25
 
28
26
  context 'indices' do
29
- it { should have_db_index([:service_id, :module_full_name]).unique(true) }
27
+ it { is_expected.to have_db_index([:service_id, :module_full_name]).unique(true) }
30
28
  end
31
29
  end
32
30
 
@@ -36,13 +34,13 @@ describe Metasploit::Credential::Origin::Service do
36
34
  FactoryGirl.build(:metasploit_credential_origin_service)
37
35
  end
38
36
 
39
- it { should be_valid }
37
+ it { is_expected.to be_valid }
40
38
  end
41
39
  end
42
40
 
43
41
  context 'mass assignment security' do
44
42
  it { should_not allow_mass_assignment_of :created_at }
45
- it { should allow_mass_assignment_of :module_full_name }
43
+ it { is_expected.to allow_mass_assignment_of :module_full_name }
46
44
  it { should_not allow_mass_assignment_of :service }
47
45
  it { should_not allow_mass_assignment_of :service_id }
48
46
  it { should_not allow_mass_assignment_of :updated_at }
@@ -164,10 +162,10 @@ describe Metasploit::Credential::Origin::Service do
164
162
  FactoryGirl.create(:metasploit_credential_origin_service)
165
163
  end
166
164
 
167
- it { should validate_uniqueness_of(:module_full_name).scoped_to(:service_id) }
165
+ it { is_expected.to validate_uniqueness_of(:module_full_name).scoped_to(:service_id) }
168
166
  end
169
167
  end
170
168
 
171
- it { should validate_presence_of :service }
169
+ it { is_expected.to validate_presence_of :service }
172
170
  end
173
171
  end
@@ -1,26 +1,24 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::Origin::Session do
1
+ RSpec.describe Metasploit::Credential::Origin::Session, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
4
  context 'associations' do
7
- it { should have_many(:cores).class_name('Metasploit::Credential::Core').dependent(:destroy) }
8
- it { should belong_to(:session).class_name('Mdm::Session') }
5
+ it { is_expected.to have_many(:cores).class_name('Metasploit::Credential::Core').dependent(:destroy) }
6
+ it { is_expected.to belong_to(:session).class_name('Mdm::Session') }
9
7
  end
10
8
 
11
9
  context 'database' do
12
10
  context 'columns' do
13
- it { should have_db_column(:post_reference_name).of_type(:text).with_options(null: false) }
11
+ it { is_expected.to have_db_column(:post_reference_name).of_type(:text).with_options(null: false) }
14
12
 
15
13
  it_should_behave_like 'timestamp database columns'
16
14
 
17
15
  context 'foreign keys' do
18
- it { should have_db_column(:session_id).of_type(:integer).with_options(null: false) }
16
+ it { is_expected.to have_db_column(:session_id).of_type(:integer).with_options(null: false) }
19
17
  end
20
18
  end
21
19
 
22
20
  context 'columns' do
23
- it { should have_db_index([:session_id, :post_reference_name]).unique(true) }
21
+ it { is_expected.to have_db_index([:session_id, :post_reference_name]).unique(true) }
24
22
  end
25
23
  end
26
24
 
@@ -32,13 +30,13 @@ describe Metasploit::Credential::Origin::Session do
32
30
  FactoryGirl.build(:metasploit_credential_origin_session)
33
31
  end
34
32
 
35
- it { should be_valid }
33
+ it { is_expected.to be_valid }
36
34
  end
37
35
  end
38
36
 
39
37
  context 'mass assignment security' do
40
38
  it { should_not allow_mass_assignment_of(:created_at) }
41
- it { should allow_mass_assignment_of(:post_reference_name) }
39
+ it { is_expected.to allow_mass_assignment_of(:post_reference_name) }
42
40
  it { should_not allow_mass_assignment_of(:session) }
43
41
  it { should_not allow_mass_assignment_of(:session_id) }
44
42
  it { should_not allow_mass_assignment_of(:updated_at) }
@@ -52,10 +50,10 @@ describe Metasploit::Credential::Origin::Session do
52
50
  FactoryGirl.create(:metasploit_credential_origin_session)
53
51
  end
54
52
 
55
- it { should validate_presence_of :post_reference_name }
56
- it { should validate_uniqueness_of(:post_reference_name).scoped_to(:session_id) }
53
+ it { is_expected.to validate_presence_of :post_reference_name }
54
+ it { is_expected.to validate_uniqueness_of(:post_reference_name).scoped_to(:session_id) }
57
55
  end
58
56
 
59
- it { should validate_presence_of :session }
57
+ it { is_expected.to validate_presence_of :session }
60
58
  end
61
59
  end
@@ -1,9 +1,7 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::PasswordHash do
1
+ RSpec.describe Metasploit::Credential::PasswordHash, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
- it { should be_a Metasploit::Credential::Private }
4
+ it { is_expected.to be_a Metasploit::Credential::Private }
7
5
 
8
6
  context 'factories' do
9
7
  context 'metasploit_credential_password_hash' do
@@ -11,11 +9,11 @@ describe Metasploit::Credential::PasswordHash do
11
9
  FactoryGirl.build(:metasploit_credential_password_hash)
12
10
  end
13
11
 
14
- it { should be_valid }
12
+ it { is_expected.to be_valid }
15
13
  end
16
14
  end
17
15
 
18
16
  context 'validations' do
19
- it { should validate_presence_of :data }
17
+ it { is_expected.to validate_presence_of :data }
20
18
  end
21
19
  end
@@ -1,9 +1,7 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::Password do
1
+ RSpec.describe Metasploit::Credential::Password, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
- it { should be_a Metasploit::Credential::Private }
4
+ it { is_expected.to be_a Metasploit::Credential::Private }
7
5
 
8
6
  context 'factories' do
9
7
  context 'metasploit_credential_password' do
@@ -11,7 +9,7 @@ describe Metasploit::Credential::Password do
11
9
  FactoryGirl.build(:metasploit_credential_password)
12
10
  end
13
11
 
14
- it { should be_valid }
12
+ it { is_expected.to be_valid }
15
13
  end
16
14
  end
17
15
  end
@@ -1,9 +1,7 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::PostgresMD5 do
1
+ RSpec.describe Metasploit::Credential::PostgresMD5, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
- it { should be_a Metasploit::Credential::ReplayableHash }
4
+ it { is_expected.to be_a Metasploit::Credential::ReplayableHash }
7
5
 
8
6
  context 'CONSTANTS' do
9
7
  context 'DATA_REGEXP' do
@@ -55,7 +53,7 @@ describe Metasploit::Credential::PostgresMD5 do
55
53
  nil
56
54
  end
57
55
 
58
- it { should be_nil }
56
+ it { is_expected.to be_nil }
59
57
  end
60
58
 
61
59
  context 'with upper case characters' do
@@ -87,7 +85,7 @@ describe Metasploit::Credential::PostgresMD5 do
87
85
  FactoryGirl.build(:metasploit_credential_postgres_md5)
88
86
  end
89
87
 
90
- it { should be_valid }
88
+ it { is_expected.to be_valid }
91
89
  end
92
90
  end
93
91
 
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::Private do
1
+ RSpec.describe Metasploit::Credential::Private, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
4
  context 'database' do
@@ -8,11 +6,11 @@ describe Metasploit::Credential::Private do
8
6
  it_should_behave_like 'single table inheritance database columns'
9
7
  it_should_behave_like 'timestamp database columns'
10
8
 
11
- it { should have_db_column(:data).of_type(:text).with_options(null: false) }
9
+ it { is_expected.to have_db_column(:data).of_type(:text).with_options(null: false) }
12
10
  end
13
11
 
14
12
  context 'indices' do
15
- it { should have_db_index([:type, :data]).unique(true) }
13
+ it { is_expected.to have_db_index([:type, :data]).unique(true) }
16
14
  end
17
15
  end
18
16
 
@@ -22,13 +20,13 @@ describe Metasploit::Credential::Private do
22
20
  FactoryGirl.build(:metasploit_credential_private)
23
21
  end
24
22
 
25
- it { should be_valid }
23
+ it { is_expected.to be_valid }
26
24
  end
27
25
  end
28
26
 
29
27
  context 'mass assignement security' do
30
28
  it { should_not allow_mass_assignment_of :created_at }
31
- it { should allow_mass_assignment_of :data }
29
+ it { is_expected.to allow_mass_assignment_of :data }
32
30
  it { should_not allow_mass_assignment_of :id }
33
31
  it { should_not allow_mass_assignment_of :updated_at }
34
32
  it { should_not allow_mass_assignment_of :type }
@@ -36,9 +34,9 @@ describe Metasploit::Credential::Private do
36
34
 
37
35
  context 'validations' do
38
36
  context 'data' do
39
- it { should validate_non_nilness_of :data }
37
+ it { is_expected.to validate_non_nilness_of :data }
40
38
 
41
- # `it { should validate_uniqueness_of(:data).scoped_to(:type) }` tries to use a NULL type, which isn't allowed, so
39
+ # `it { is_expected.to validate_uniqueness_of(:data).scoped_to(:type) }` tries to use a NULL type, which isn't allowed, so
42
40
  # have to perform validation check manually
43
41
  context 'validates uniqueness of #data scoped to #type' do
44
42
  subject(:data_errors) do
@@ -89,7 +87,7 @@ describe Metasploit::Credential::Private do
89
87
  existent_private.type
90
88
  end
91
89
 
92
- it { should include(error) }
90
+ it { is_expected.to include(error) }
93
91
  end
94
92
 
95
93
  context 'without same #type' do
@@ -1,17 +1,15 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::Public do
1
+ RSpec.describe Metasploit::Credential::Public, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
4
  context 'database' do
7
5
  context 'columns' do
8
6
  it_should_behave_like 'timestamp database columns'
9
7
 
10
- it { should have_db_column(:username).of_type(:string).with_options(null: false) }
8
+ it { is_expected.to have_db_column(:username).of_type(:string).with_options(null: false) }
11
9
  end
12
10
 
13
11
  context 'indices' do
14
- it { should have_db_index(:username).unique(true) }
12
+ it { is_expected.to have_db_index(:username).unique(true) }
15
13
  end
16
14
  end
17
15
 
@@ -21,14 +19,14 @@ describe Metasploit::Credential::Public do
21
19
  FactoryGirl.build(:metasploit_credential_public)
22
20
  end
23
21
 
24
- it { should be_valid }
22
+ it { is_expected.to be_valid }
25
23
  end
26
24
  end
27
25
 
28
26
  context 'mass assignment security' do
29
27
  it { should_not allow_mass_assignment_of(:created_at) }
30
28
  it { should_not allow_mass_assignment_of(:updated_at) }
31
- it { should allow_mass_assignment_of(:username) }
29
+ it { is_expected.to allow_mass_assignment_of(:username) }
32
30
  end
33
31
 
34
32
  context 'search' do
@@ -1,18 +1,16 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::Realm do
1
+ RSpec.describe Metasploit::Credential::Realm, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
4
  context 'database' do
7
5
  context 'columns' do
8
- it { should have_db_column(:key).of_type(:string).with_options(null: false) }
9
- it { should have_db_column(:value).of_type(:string).with_options(null: false) }
6
+ it { is_expected.to have_db_column(:key).of_type(:string).with_options(null: false) }
7
+ it { is_expected.to have_db_column(:value).of_type(:string).with_options(null: false) }
10
8
 
11
9
  it_should_behave_like 'timestamp database columns'
12
10
  end
13
11
 
14
12
  context 'indices' do
15
- it { should have_db_index([:key, :value]).unique(true) }
13
+ it { is_expected.to have_db_index([:key, :value]).unique(true) }
16
14
  end
17
15
  end
18
16
 
@@ -22,7 +20,7 @@ describe Metasploit::Credential::Realm do
22
20
  FactoryGirl.build(:metasploit_credential_active_directory_domain)
23
21
  end
24
22
 
25
- it { should be_valid }
23
+ it { is_expected.to be_valid }
26
24
 
27
25
  context '#key' do
28
26
  subject(:key) {
@@ -40,7 +38,7 @@ describe Metasploit::Credential::Realm do
40
38
  FactoryGirl.build(:metasploit_credential_oracle_system_identifier)
41
39
  end
42
40
 
43
- it { should be_valid }
41
+ it { is_expected.to be_valid }
44
42
 
45
43
  context '#key' do
46
44
  subject(:key) {
@@ -58,7 +56,7 @@ describe Metasploit::Credential::Realm do
58
56
  FactoryGirl.build(:metasploit_credential_postgresql_database)
59
57
  end
60
58
 
61
- it { should be_valid }
59
+ it { is_expected.to be_valid }
62
60
 
63
61
  context '#key' do
64
62
  subject(:key) {
@@ -76,13 +74,13 @@ describe Metasploit::Credential::Realm do
76
74
  FactoryGirl.build(:metasploit_credential_realm)
77
75
  end
78
76
 
79
- it { should be_valid }
77
+ it { is_expected.to be_valid }
80
78
  end
81
79
  end
82
80
 
83
81
  context 'mass assignment security' do
84
- it { should allow_mass_assignment_of(:key) }
85
- it { should allow_mass_assignment_of(:value) }
82
+ it { is_expected.to allow_mass_assignment_of(:key) }
83
+ it { is_expected.to allow_mass_assignment_of(:value) }
86
84
  end
87
85
 
88
86
 
@@ -106,12 +104,12 @@ describe Metasploit::Credential::Realm do
106
104
 
107
105
  context 'validations' do
108
106
  context 'on #key' do
109
- it { should ensure_inclusion_of(:key).in_array(Metasploit::Model::Realm::Key::ALL) }
110
- it { should validate_presence_of :key }
107
+ it { is_expected.to ensure_inclusion_of(:key).in_array(Metasploit::Model::Realm::Key::ALL) }
108
+ it { is_expected.to validate_presence_of :key }
111
109
  end
112
110
 
113
111
  context 'on #value' do
114
- it { should validate_presence_of :value }
112
+ it { is_expected.to validate_presence_of :value }
115
113
 
116
114
  # key cannot be NULL so `validate_uniqueness_of(:value).scoped_to(:key)` does not work because it tries a NULL
117
115
  # key
@@ -164,7 +162,7 @@ describe Metasploit::Credential::Realm do
164
162
  existent_realm.value
165
163
  end
166
164
 
167
- it { should include(error) }
165
+ it { is_expected.to include(error) }
168
166
  end
169
167
 
170
168
  context 'without same #value' do
@@ -1,9 +1,7 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::ReplayableHash do
1
+ RSpec.describe Metasploit::Credential::ReplayableHash, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
- it { should be_a Metasploit::Credential::PasswordHash }
4
+ it { is_expected.to be_a Metasploit::Credential::PasswordHash }
7
5
 
8
6
  context 'factories' do
9
7
  context 'metasploit_credential_replayable_hash' do
@@ -11,7 +9,7 @@ describe Metasploit::Credential::ReplayableHash do
11
9
  FactoryGirl.build(:metasploit_credential_replayable_hash)
12
10
  end
13
11
 
14
- it { should be_valid }
12
+ it { is_expected.to be_valid }
15
13
  end
16
14
  end
17
15
  end
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Credential::SSHKey do
1
+ RSpec.describe Metasploit::Credential::SSHKey, type: :model do
4
2
  it_should_behave_like 'Metasploit::Concern.run'
5
3
 
6
4
  #
@@ -18,7 +16,7 @@ describe Metasploit::Credential::SSHKey do
18
16
  FactoryGirl.build(:metasploit_credential_dsa_key)
19
17
  end
20
18
 
21
- it { should be_valid }
19
+ it { is_expected.to be_valid }
22
20
 
23
21
  it 'has DSA key type' do
24
22
  expect(metasploit_credential_dsa_key.data).to match(/-----BEGIN DSA PRIVATE KEY-----/)
@@ -31,7 +29,7 @@ describe Metasploit::Credential::SSHKey do
31
29
  FactoryGirl.build(:metasploit_credential_rsa_key)
32
30
  end
33
31
 
34
- it { should be_valid }
32
+ it { is_expected.to be_valid }
35
33
 
36
34
  it 'has RSA key type' do
37
35
  expect(metasploit_credential_rsa_key.data).to match(/-----BEGIN RSA PRIVATE KEY-----/)
@@ -44,12 +42,12 @@ describe Metasploit::Credential::SSHKey do
44
42
  FactoryGirl.build(:metasploit_credential_ssh_key)
45
43
  end
46
44
 
47
- it { should be_valid }
45
+ it { is_expected.to be_valid }
48
46
  end
49
47
  end
50
48
 
51
49
  context 'validations' do
52
- it { should validate_presence_of :data }
50
+ it { is_expected.to validate_presence_of :data }
53
51
 
54
52
  context 'on #data' do
55
53
  subject(:data_errors) do
@@ -92,7 +90,7 @@ describe Metasploit::Credential::SSHKey do
92
90
  false
93
91
  end
94
92
 
95
- it { should include(error) }
93
+ it { is_expected.to include(error) }
96
94
  end
97
95
  end
98
96
 
@@ -156,7 +154,7 @@ describe Metasploit::Credential::SSHKey do
156
154
  ssh_key.valid?
157
155
  end
158
156
 
159
- it { should be_empty }
157
+ it { is_expected.to be_empty }
160
158
  end
161
159
  end
162
160
 
@@ -175,7 +173,7 @@ describe Metasploit::Credential::SSHKey do
175
173
  ssh_key.valid?
176
174
  end
177
175
 
178
- it { should include(error) }
176
+ it { is_expected.to include(error) }
179
177
  end
180
178
  end
181
179
 
@@ -203,7 +201,7 @@ describe Metasploit::Credential::SSHKey do
203
201
  true
204
202
  end
205
203
 
206
- it { should include(error) }
204
+ it { is_expected.to include(error) }
207
205
  end
208
206
 
209
207
  context 'without #encrypted' do
@@ -255,7 +253,7 @@ describe Metasploit::Credential::SSHKey do
255
253
  cipher.random_key
256
254
  end
257
255
 
258
- it { should be_encrypted }
256
+ it { is_expected.to be_encrypted }
259
257
  end
260
258
 
261
259
  context 'without encrypted' do
@@ -333,7 +331,7 @@ describe Metasploit::Credential::SSHKey do
333
331
  unencrypted_key.to_pem
334
332
  end
335
333
 
336
- it { should be_a OpenSSL::PKey.const_get(key_type) }
334
+ it { is_expected.to be_a OpenSSL::PKey.const_get(key_type) }
337
335
  end
338
336
  end
339
337
  end
@@ -359,7 +357,7 @@ describe Metasploit::Credential::SSHKey do
359
357
  nil
360
358
  end
361
359
 
362
- it { should be_nil }
360
+ it { is_expected.to be_nil }
363
361
  end
364
362
 
365
363
  context 'with DSA key' do
@@ -367,7 +365,7 @@ describe Metasploit::Credential::SSHKey do
367
365
  FactoryGirl.build(:metasploit_credential_dsa_key)
368
366
  end
369
367
 
370
- it { should be_a OpenSSL::PKey::DSA }
368
+ it { is_expected.to be_a OpenSSL::PKey::DSA }
371
369
  end
372
370
 
373
371
  context 'with RSA key' do
@@ -375,7 +373,7 @@ describe Metasploit::Credential::SSHKey do
375
373
  FactoryGirl.build(:metasploit_credential_rsa_key)
376
374
  end
377
375
 
378
- it { should be_a OpenSSL::PKey::RSA }
376
+ it { is_expected.to be_a OpenSSL::PKey::RSA }
379
377
  end
380
378
 
381
379
  context 'with nil' do
@@ -419,7 +417,7 @@ describe Metasploit::Credential::SSHKey do
419
417
  private_key
420
418
  end
421
419
 
422
- it { should be_private }
420
+ it { is_expected.to be_private }
423
421
  end
424
422
  end
425
423
  end