metasploit-model 0.28.0-java → 0.29.0-java
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/.travis.yml +3 -1
- data/config/locales/en.yml +0 -171
- data/lib/metasploit/model.rb +0 -2
- data/lib/metasploit/model/spec.rb +0 -130
- data/lib/metasploit/model/version.rb +1 -1
- data/spec/support/shared/examples/metasploit/model/search/operator/help.rb +4 -6
- data/spec/support/shared/examples/metasploit/model/translation.rb +1 -1
- data/spec/support/shared/examples/search_association.rb +1 -1
- data/spec/support/shared/examples/search_with.rb +4 -2
- metadata +2 -348
- data/app/models/metasploit/model/module/ancestor/spec/template.rb +0 -125
- data/app/models/metasploit/model/module/class/spec/template.rb +0 -92
- data/app/models/metasploit/model/module/instance/spec/template.rb +0 -97
- data/app/models/metasploit/model/spec/template.rb +0 -277
- data/app/validators/derivation_validator.rb +0 -17
- data/app/validators/dynamic_length_validator.rb +0 -45
- data/lib/metasploit/model/architecture.rb +0 -342
- data/lib/metasploit/model/author.rb +0 -54
- data/lib/metasploit/model/authority.rb +0 -141
- data/lib/metasploit/model/authority/bid.rb +0 -10
- data/lib/metasploit/model/authority/cve.rb +0 -10
- data/lib/metasploit/model/authority/msb.rb +0 -10
- data/lib/metasploit/model/authority/osvdb.rb +0 -10
- data/lib/metasploit/model/authority/pmasa.rb +0 -10
- data/lib/metasploit/model/authority/secunia.rb +0 -10
- data/lib/metasploit/model/authority/us_cert_vu.rb +0 -10
- data/lib/metasploit/model/authority/waraxe.rb +0 -31
- data/lib/metasploit/model/authority/zdi.rb +0 -10
- data/lib/metasploit/model/derivation.rb +0 -109
- data/lib/metasploit/model/derivation/full_name.rb +0 -19
- data/lib/metasploit/model/email_address.rb +0 -124
- data/lib/metasploit/model/module.rb +0 -20
- data/lib/metasploit/model/module/action.rb +0 -52
- data/lib/metasploit/model/module/ancestor.rb +0 -491
- data/lib/metasploit/model/module/ancestor/spec.rb +0 -6
- data/lib/metasploit/model/module/architecture.rb +0 -34
- data/lib/metasploit/model/module/author.rb +0 -40
- data/lib/metasploit/model/module/class.rb +0 -403
- data/lib/metasploit/model/module/class/spec.rb +0 -6
- data/lib/metasploit/model/module/handler.rb +0 -29
- data/lib/metasploit/model/module/instance.rb +0 -622
- data/lib/metasploit/model/module/instance/spec.rb +0 -6
- data/lib/metasploit/model/module/path.rb +0 -159
- data/lib/metasploit/model/module/platform.rb +0 -32
- data/lib/metasploit/model/module/rank.rb +0 -85
- data/lib/metasploit/model/module/reference.rb +0 -32
- data/lib/metasploit/model/module/stance.rb +0 -16
- data/lib/metasploit/model/module/target.rb +0 -78
- data/lib/metasploit/model/module/target/architecture.rb +0 -34
- data/lib/metasploit/model/module/target/platform.rb +0 -34
- data/lib/metasploit/model/module/type.rb +0 -38
- data/lib/metasploit/model/platform.rb +0 -246
- data/lib/metasploit/model/real_pathname.rb +0 -16
- data/lib/metasploit/model/reference.rb +0 -104
- data/spec/app/models/metasploit/model/module/ancestor/spec/template_spec.rb +0 -174
- data/spec/app/models/metasploit/model/module/class/spec/template_spec.rb +0 -222
- data/spec/app/models/metasploit/model/module/instance/spec/template_spec.rb +0 -201
- data/spec/app/models/metasploit/model/search/operator/deprecated/app_spec.rb +0 -62
- data/spec/app/models/metasploit/model/search/operator/deprecated/author_spec.rb +0 -197
- data/spec/app/models/metasploit/model/search/operator/deprecated/authority_spec.rb +0 -135
- data/spec/app/models/metasploit/model/search/operator/deprecated/platform_spec.rb +0 -124
- data/spec/app/models/metasploit/model/search/operator/deprecated/ref_spec.rb +0 -387
- data/spec/app/models/metasploit/model/search/operator/deprecated/text_spec.rb +0 -399
- data/spec/app/models/metasploit/model/spec/template_spec.rb +0 -23
- data/spec/app/validators/derivation_validator_spec.rb +0 -92
- data/spec/app/validators/dynamic_length_validator_spec.rb +0 -293
- data/spec/dummy/app/models/dummy/architecture.rb +0 -92
- data/spec/dummy/app/models/dummy/author.rb +0 -15
- data/spec/dummy/app/models/dummy/authority.rb +0 -130
- data/spec/dummy/app/models/dummy/email_address.rb +0 -27
- data/spec/dummy/app/models/dummy/module/action.rb +0 -25
- data/spec/dummy/app/models/dummy/module/ancestor.rb +0 -67
- data/spec/dummy/app/models/dummy/module/architecture.rb +0 -19
- data/spec/dummy/app/models/dummy/module/author.rb +0 -28
- data/spec/dummy/app/models/dummy/module/class.rb +0 -69
- data/spec/dummy/app/models/dummy/module/instance.rb +0 -209
- data/spec/dummy/app/models/dummy/module/path.rb +0 -64
- data/spec/dummy/app/models/dummy/module/platform.rb +0 -19
- data/spec/dummy/app/models/dummy/module/rank.rb +0 -44
- data/spec/dummy/app/models/dummy/module/reference.rb +0 -19
- data/spec/dummy/app/models/dummy/module/target.rb +0 -62
- data/spec/dummy/app/models/dummy/module/target/architecture.rb +0 -19
- data/spec/dummy/app/models/dummy/module/target/platform.rb +0 -19
- data/spec/dummy/app/models/dummy/platform.rb +0 -58
- data/spec/dummy/app/models/dummy/reference.rb +0 -31
- data/spec/dummy/spec/factories/dummy/architectures.rb +0 -13
- data/spec/dummy/spec/factories/dummy/authorities.rb +0 -32
- data/spec/dummy/spec/factories/dummy/authors.rb +0 -8
- data/spec/dummy/spec/factories/dummy/email_addresses.rb +0 -8
- data/spec/dummy/spec/factories/dummy/module/actions.rb +0 -13
- data/spec/dummy/spec/factories/dummy/module/ancestors.rb +0 -45
- data/spec/dummy/spec/factories/dummy/module/architectures.rb +0 -35
- data/spec/dummy/spec/factories/dummy/module/authors.rb +0 -10
- data/spec/dummy/spec/factories/dummy/module/classes.rb +0 -40
- data/spec/dummy/spec/factories/dummy/module/instances.rb +0 -86
- data/spec/dummy/spec/factories/dummy/module/paths.rb +0 -16
- data/spec/dummy/spec/factories/dummy/module/platforms.rb +0 -35
- data/spec/dummy/spec/factories/dummy/module/ranks.rb +0 -14
- data/spec/dummy/spec/factories/dummy/module/references.rb +0 -17
- data/spec/dummy/spec/factories/dummy/module/target/architectures.rb +0 -40
- data/spec/dummy/spec/factories/dummy/module/target/platforms.rb +0 -41
- data/spec/dummy/spec/factories/dummy/module/targets.rb +0 -46
- data/spec/dummy/spec/factories/dummy/platforms.rb +0 -3
- data/spec/dummy/spec/factories/dummy/references.rb +0 -26
- data/spec/factories/metasploit/model/architectures.rb +0 -6
- data/spec/factories/metasploit/model/authorities.rb +0 -28
- data/spec/factories/metasploit/model/authors.rb +0 -9
- data/spec/factories/metasploit/model/email_addresses.rb +0 -14
- data/spec/factories/metasploit/model/module/actions.rb +0 -9
- data/spec/factories/metasploit/model/module/ancestors.rb +0 -180
- data/spec/factories/metasploit/model/module/architectures.rb +0 -15
- data/spec/factories/metasploit/model/module/classes.rb +0 -47
- data/spec/factories/metasploit/model/module/handlers.rb +0 -3
- data/spec/factories/metasploit/model/module/instances.rb +0 -83
- data/spec/factories/metasploit/model/module/paths.rb +0 -51
- data/spec/factories/metasploit/model/module/platforms.rb +0 -15
- data/spec/factories/metasploit/model/module/ranks.rb +0 -9
- data/spec/factories/metasploit/model/module/references.rb +0 -11
- data/spec/factories/metasploit/model/module/stances.rb +0 -3
- data/spec/factories/metasploit/model/module/targets.rb +0 -22
- data/spec/factories/metasploit/model/module/types.rb +0 -5
- data/spec/factories/metasploit/model/references.rb +0 -88
- data/spec/lib/metasploit/model/architecture_spec.rb +0 -52
- data/spec/lib/metasploit/model/author_spec.rb +0 -6
- data/spec/lib/metasploit/model/authority/bid_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/cve_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/msb_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/osvdb_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/pmasa_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/secunia_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/us_cert_vu_spec.rb +0 -17
- data/spec/lib/metasploit/model/authority/waraxe_spec.rb +0 -51
- data/spec/lib/metasploit/model/authority/zdi_spec.rb +0 -21
- data/spec/lib/metasploit/model/authority_spec.rb +0 -10
- data/spec/lib/metasploit/model/derivation/full_name_spec.rb +0 -75
- data/spec/lib/metasploit/model/derivation_spec.rb +0 -217
- data/spec/lib/metasploit/model/email_address_spec.rb +0 -19
- data/spec/lib/metasploit/model/module/action_spec.rb +0 -6
- data/spec/lib/metasploit/model/module/ancestor_spec.rb +0 -6
- data/spec/lib/metasploit/model/module/architecture_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/author_spec.rb +0 -6
- data/spec/lib/metasploit/model/module/class_spec.rb +0 -19
- data/spec/lib/metasploit/model/module/handler_spec.rb +0 -61
- data/spec/lib/metasploit/model/module/instance_spec.rb +0 -183
- data/spec/lib/metasploit/model/module/path_spec.rb +0 -6
- data/spec/lib/metasploit/model/module/platform_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/rank_spec.rb +0 -29
- data/spec/lib/metasploit/model/module/reference_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/stance_spec.rb +0 -30
- data/spec/lib/metasploit/model/module/target/architecture_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/target/platform_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/target_spec.rb +0 -9
- data/spec/lib/metasploit/model/module/type_spec.rb +0 -125
- data/spec/lib/metasploit/model/platform_spec.rb +0 -100
- data/spec/lib/metasploit/model/reference_spec.rb +0 -21
- data/spec/support/shared/contexts/metasploit/model/module/ancestor/contents/metasploit_module.rb +0 -12
- data/spec/support/shared/contexts/metasploit/model/module/ancestor/factory/contents.rb +0 -10
- data/spec/support/shared/contexts/metasploit/model/module/ancestor/factory/contents/metasploit_module.rb +0 -15
- data/spec/support/shared/examples/derives.rb +0 -115
- data/spec/support/shared/examples/metasploit/model/architecture.rb +0 -425
- data/spec/support/shared/examples/metasploit/model/architecture/seed.rb +0 -25
- data/spec/support/shared/examples/metasploit/model/author.rb +0 -27
- data/spec/support/shared/examples/metasploit/model/authority.rb +0 -124
- data/spec/support/shared/examples/metasploit/model/authority/seed.rb +0 -49
- data/spec/support/shared/examples/metasploit/model/email_address.rb +0 -220
- data/spec/support/shared/examples/metasploit/model/module/action.rb +0 -26
- data/spec/support/shared/examples/metasploit/model/module/ancestor.rb +0 -2004
- data/spec/support/shared/examples/metasploit/model/module/ancestor/payload_factory.rb +0 -63
- data/spec/support/shared/examples/metasploit/model/module/architecture.rb +0 -36
- data/spec/support/shared/examples/metasploit/model/module/author.rb +0 -29
- data/spec/support/shared/examples/metasploit/model/module/class.rb +0 -1514
- data/spec/support/shared/examples/metasploit/model/module/handler.rb +0 -21
- data/spec/support/shared/examples/metasploit/model/module/instance.rb +0 -1384
- data/spec/support/shared/examples/metasploit/model/module/instance/class_methods.rb +0 -537
- data/spec/support/shared/examples/metasploit/model/module/instance/is_not_stanced_with_module_type.rb +0 -22
- data/spec/support/shared/examples/metasploit/model/module/instance/is_stanced_with_module_type.rb +0 -38
- data/spec/support/shared/examples/metasploit/model/module/instance/validates/dynamic_length_of.rb +0 -131
- data/spec/support/shared/examples/metasploit/model/module/path.rb +0 -493
- data/spec/support/shared/examples/metasploit/model/module/platform.rb +0 -36
- data/spec/support/shared/examples/metasploit/model/module/rank.rb +0 -92
- data/spec/support/shared/examples/metasploit/model/module/reference.rb +0 -16
- data/spec/support/shared/examples/metasploit/model/module/target.rb +0 -29
- data/spec/support/shared/examples/metasploit/model/module/target/architecture.rb +0 -56
- data/spec/support/shared/examples/metasploit/model/module/target/platform.rb +0 -56
- data/spec/support/shared/examples/metasploit/model/platform.rb +0 -213
- data/spec/support/shared/examples/metasploit/model/real_pathname.rb +0 -29
- data/spec/support/shared/examples/metasploit/model/reference.rb +0 -410
- data/spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/app.rb +0 -44
- data/spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb +0 -72
- data/spec/support/templates/metasploit/model/module/ancestors/_attributes.rb.erb +0 -9
- data/spec/support/templates/metasploit/model/module/ancestors/_methods.rb.erb +0 -8
- data/spec/support/templates/metasploit/model/module/ancestors/_validations.rb.erb +0 -6
- data/spec/support/templates/metasploit/model/module/ancestors/base.rb.erb +0 -3
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_auxiliary.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_encoder.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_exploit.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_non_payload.rb.erb +0 -5
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_nop.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_payload.rb.erb +0 -4
- data/spec/support/templates/metasploit/model/module/ancestors/module_types/_post.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_handled.rb.erb +0 -20
- data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_single.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_stage.rb.erb +0 -0
- data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_stager.rb.erb +0 -1
- data/spec/support/templates/metasploit/model/module/classes/_methods.rb.erb +0 -9
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Module::Platform,
|
|
4
|
-
# setting the metadata type makes rspec-rails include RSpec::Rails::ModelExampleGroup, which includes a better
|
|
5
|
-
# be_valid matcher that will print full error messages
|
|
6
|
-
type: :model do
|
|
7
|
-
it_should_behave_like 'Metasploit::Model::Module::Platform',
|
|
8
|
-
namespace_name: 'Dummy'
|
|
9
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Module::Rank do
|
|
4
|
-
it_should_behave_like 'Metasploit::Model::Module::Rank',
|
|
5
|
-
namespace_name: 'Dummy'
|
|
6
|
-
|
|
7
|
-
# Not in 'Metasploit::Model::Module::Rank' shared example since sequence should not be overridden in namespaces.
|
|
8
|
-
context 'sequences' do
|
|
9
|
-
context 'metasploit_model_module_rank_name' do
|
|
10
|
-
subject(:metasploit_model_module_rank_name) do
|
|
11
|
-
FactoryGirl.generate :metasploit_model_module_rank_name
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
it 'should be key in Metasploit::Model::Module::Rank::NUMBER_BY_NAME' do
|
|
15
|
-
Metasploit::Model::Module::Rank::NUMBER_BY_NAME.should have_key(metasploit_model_module_rank_name)
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
context 'metasploit_model_module_rank_number' do
|
|
20
|
-
subject(:metasploit_model_module_rank_number) do
|
|
21
|
-
FactoryGirl.generate :metasploit_model_module_rank_number
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
it 'should be value in Metasploit::Model::Module::Rank::NUMBER_BY_NAME' do
|
|
25
|
-
Metasploit::Model::Module::Rank::NUMBER_BY_NAME.should have_value(metasploit_model_module_rank_number)
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Module::Reference,
|
|
4
|
-
# setting the metadata type makes rspec-rails include RSpec::Rails::ModelExampleGroup, which includes a better
|
|
5
|
-
# be_valid matcher that will print full error messages
|
|
6
|
-
type: :model do
|
|
7
|
-
it_should_behave_like 'Metasploit::Model::Module::Reference',
|
|
8
|
-
namespace_name: 'Dummy'
|
|
9
|
-
end
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Module::Stance do
|
|
4
|
-
context 'CONSTANTS' do
|
|
5
|
-
context 'ALL' do
|
|
6
|
-
subject(:all) do
|
|
7
|
-
described_class::ALL
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
it { should include(described_class::AGGRESSIVE) }
|
|
11
|
-
it { should include(described_class::PASSIVE) }
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
context 'AGGRESSIVE' do
|
|
15
|
-
subject(:aggressive) do
|
|
16
|
-
described_class::AGGRESSIVE
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
it { should == 'aggressive' }
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
context 'PASSIVE' do
|
|
23
|
-
subject(:passive) do
|
|
24
|
-
described_class::PASSIVE
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
it { should == 'passive' }
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Module::Target::Architecture,
|
|
4
|
-
# setting the metadata type makes rspec-rails include RSpec::Rails::ModelExampleGroup, which includes a better
|
|
5
|
-
# be_valid matcher that will print full error messages
|
|
6
|
-
type: :model do
|
|
7
|
-
it_should_behave_like 'Metasploit::Model::Module::Target::Architecture',
|
|
8
|
-
namespace_name: 'Dummy'
|
|
9
|
-
end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Module::Target::Platform,
|
|
4
|
-
# setting the metadata type makes rspec-rails include RSpec::Rails::ModelExampleGroup, which includes a better
|
|
5
|
-
# be_valid matcher that will print full error messages
|
|
6
|
-
type: :model do
|
|
7
|
-
it_should_behave_like 'Metasploit::Model::Module::Target::Platform',
|
|
8
|
-
namespace_name: 'Dummy'
|
|
9
|
-
end
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Module::Target,
|
|
4
|
-
# setting the metadata type makes rspec-rails include RSpec::Rails::ModelExampleGroup, which includes a better
|
|
5
|
-
# be_valid matcher that will print full error messages
|
|
6
|
-
type: :model do
|
|
7
|
-
it_should_behave_like 'Metasploit::Model::Module::Target',
|
|
8
|
-
namespace_name: 'Dummy'
|
|
9
|
-
end
|
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Module::Type do
|
|
4
|
-
context 'CONSTANTS' do
|
|
5
|
-
context 'ALL' do
|
|
6
|
-
subject(:all) do
|
|
7
|
-
described_class::ALL
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
it 'should not include ANY' do
|
|
11
|
-
all.should_not include(described_class::ANY)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
it 'should include AUX' do
|
|
15
|
-
all.should include(described_class::AUX)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
it 'should include ENCODER' do
|
|
19
|
-
all.should include(described_class::ENCODER)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
it 'should include EXPLOIT' do
|
|
23
|
-
all.should include(described_class::EXPLOIT)
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it 'should include NOP' do
|
|
27
|
-
all.should include(described_class::NOP)
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
it 'should include PAYLOAD' do
|
|
31
|
-
all.should include(described_class::PAYLOAD)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it 'should include POST' do
|
|
35
|
-
all.should include(described_class::POST)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
context 'ANY' do
|
|
40
|
-
subject(:any) do
|
|
41
|
-
described_class::ANY
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
it { should == '_any_' }
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
context 'AUX' do
|
|
48
|
-
subject(:aux) do
|
|
49
|
-
described_class::AUX
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
it { should == 'auxiliary' }
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
context 'ENCODER' do
|
|
56
|
-
subject(:encoder) do
|
|
57
|
-
described_class::ENCODER
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
it { should == 'encoder' }
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
context 'EXPLOIT' do
|
|
64
|
-
subject(:exploit) do
|
|
65
|
-
described_class::EXPLOIT
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
it { should == 'exploit' }
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
context 'NON_PAYLOAD' do
|
|
72
|
-
subject(:non_payload) do
|
|
73
|
-
described_class::NON_PAYLOAD
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
it 'should include AUX' do
|
|
77
|
-
non_payload.should include(described_class::AUX)
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
it 'should include ENCODER' do
|
|
81
|
-
non_payload.should include(described_class::ENCODER)
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
it 'should include EXPLOIT' do
|
|
85
|
-
non_payload.should include(described_class::EXPLOIT)
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
it 'should include NOP' do
|
|
89
|
-
non_payload.should include(described_class::NOP)
|
|
90
|
-
end
|
|
91
|
-
|
|
92
|
-
it 'should not include PAYLOAD' do
|
|
93
|
-
non_payload.should_not include(described_class::PAYLOAD)
|
|
94
|
-
end
|
|
95
|
-
|
|
96
|
-
it 'should include POST' do
|
|
97
|
-
non_payload.should include(described_class::POST)
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
|
|
101
|
-
context 'NOP' do
|
|
102
|
-
subject(:nop) do
|
|
103
|
-
described_class::NOP
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
it { should == 'nop' }
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
context 'PAYLOAD' do
|
|
110
|
-
subject(:payload_types) do
|
|
111
|
-
described_class::PAYLOAD
|
|
112
|
-
end
|
|
113
|
-
|
|
114
|
-
it { should == 'payload' }
|
|
115
|
-
end
|
|
116
|
-
|
|
117
|
-
context 'POST' do
|
|
118
|
-
subject(:post) do
|
|
119
|
-
described_class::POST
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
it { should == 'post'}
|
|
123
|
-
end
|
|
124
|
-
end
|
|
125
|
-
end
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Platform,
|
|
4
|
-
# setting the metadata type makes rspec-rails include RSpec::Rails::ModelExampleGroup, which includes a better
|
|
5
|
-
# be_valid matcher that will print full error messages
|
|
6
|
-
type: :model do
|
|
7
|
-
it_should_behave_like 'Metasploit::Model::Platform',
|
|
8
|
-
namespace_name: 'Dummy' do
|
|
9
|
-
def attribute_type(attribute)
|
|
10
|
-
type_by_attribute = {
|
|
11
|
-
fully_qualified_name: :string
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
type_by_attribute.fetch(attribute)
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
# @note Not tested in 'Metasploit::Model::Platform' shared example because it is a module method and not a class
|
|
19
|
-
# method because seeding should always refer back to {Metasploit::Model::Platform} and not the classes in which
|
|
20
|
-
# it is included.
|
|
21
|
-
context 'fully_qualified_names' do
|
|
22
|
-
subject(:fully_qualified_name_set) do
|
|
23
|
-
described_class.fully_qualified_name_set
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
it { should include 'AIX' }
|
|
27
|
-
it { should include 'Android' }
|
|
28
|
-
it { should include 'BSD' }
|
|
29
|
-
it { should include 'BSDi' }
|
|
30
|
-
it { should include 'Cisco' }
|
|
31
|
-
it { should include 'Firefox' }
|
|
32
|
-
it { should include 'FreeBSD' }
|
|
33
|
-
it { should include 'HPUX' }
|
|
34
|
-
it { should include 'IRIX' }
|
|
35
|
-
it { should include 'Java' }
|
|
36
|
-
it { should include 'Javascript' }
|
|
37
|
-
it { should include 'NetBSD' }
|
|
38
|
-
it { should include 'Netware' }
|
|
39
|
-
it { should include 'NodeJS' }
|
|
40
|
-
it { should include 'OpenBSD' }
|
|
41
|
-
it { should include 'OSX' }
|
|
42
|
-
it { should include 'PHP' }
|
|
43
|
-
it { should include 'Python' }
|
|
44
|
-
it { should include 'Ruby' }
|
|
45
|
-
|
|
46
|
-
it { should include 'Solaris'}
|
|
47
|
-
it { should include 'Solaris 4' }
|
|
48
|
-
it { should include 'Solaris 5' }
|
|
49
|
-
it { should include 'Solaris 6' }
|
|
50
|
-
it { should include 'Solaris 7' }
|
|
51
|
-
it { should include 'Solaris 8' }
|
|
52
|
-
it { should include 'Solaris 9' }
|
|
53
|
-
it { should include 'Solaris 10' }
|
|
54
|
-
|
|
55
|
-
it { should include 'Windows' }
|
|
56
|
-
|
|
57
|
-
it { should include 'Windows 95' }
|
|
58
|
-
|
|
59
|
-
it { should include 'Windows 98' }
|
|
60
|
-
it { should include 'Windows 98 FE' }
|
|
61
|
-
it { should include 'Windows 98 SE' }
|
|
62
|
-
|
|
63
|
-
it { should include 'Windows ME' }
|
|
64
|
-
|
|
65
|
-
it { should include 'Windows NT' }
|
|
66
|
-
it { should include 'Windows NT SP0' }
|
|
67
|
-
it { should include 'Windows NT SP1' }
|
|
68
|
-
it { should include 'Windows NT SP2' }
|
|
69
|
-
it { should include 'Windows NT SP3' }
|
|
70
|
-
it { should include 'Windows NT SP4' }
|
|
71
|
-
it { should include 'Windows NT SP5' }
|
|
72
|
-
it { should include 'Windows NT SP6' }
|
|
73
|
-
it { should include 'Windows NT SP6a' }
|
|
74
|
-
|
|
75
|
-
it { should include 'Windows 2000' }
|
|
76
|
-
it { should include 'Windows 2000 SP0' }
|
|
77
|
-
it { should include 'Windows 2000 SP1' }
|
|
78
|
-
it { should include 'Windows 2000 SP2' }
|
|
79
|
-
it { should include 'Windows 2000 SP3' }
|
|
80
|
-
it { should include 'Windows 2000 SP4' }
|
|
81
|
-
|
|
82
|
-
it { should include 'Windows XP' }
|
|
83
|
-
it { should include 'Windows XP SP0' }
|
|
84
|
-
it { should include 'Windows XP SP1' }
|
|
85
|
-
it { should include 'Windows XP SP2' }
|
|
86
|
-
it { should include 'Windows XP SP3' }
|
|
87
|
-
|
|
88
|
-
it { should include 'Windows 2003' }
|
|
89
|
-
it { should include 'Windows 2003 SP0' }
|
|
90
|
-
it { should include 'Windows 2003 SP1' }
|
|
91
|
-
|
|
92
|
-
it { should include 'Windows Vista' }
|
|
93
|
-
it { should include 'Windows Vista SP0' }
|
|
94
|
-
it { should include 'Windows Vista SP1' }
|
|
95
|
-
|
|
96
|
-
it { should include 'Windows 7' }
|
|
97
|
-
|
|
98
|
-
it { should include 'UNIX' }
|
|
99
|
-
end
|
|
100
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe Metasploit::Model::Reference do
|
|
4
|
-
it_should_behave_like 'Metasploit::Model::Reference',
|
|
5
|
-
namespace_name: 'Dummy' do
|
|
6
|
-
def attribute_type(attribute)
|
|
7
|
-
type_by_attribute = {
|
|
8
|
-
:designation => :string,
|
|
9
|
-
:url => :text
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
type = type_by_attribute.fetch(attribute)
|
|
13
|
-
|
|
14
|
-
type
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def authority_with_abbreviation(abbreviation)
|
|
18
|
-
Dummy::Authority.with_abbreviation(abbreviation)
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
data/spec/support/shared/contexts/metasploit/model/module/ancestor/contents/metasploit_module.rb
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
shared_context 'Metasploit::Model::Module::Ancestor#contents metasploit_module' do
|
|
2
|
-
def namespace_module_metasploit_module(namespace_module)
|
|
3
|
-
constant = namespace_module_metasploit_module_constant(namespace_module)
|
|
4
|
-
namespace_module.const_get(constant)
|
|
5
|
-
end
|
|
6
|
-
|
|
7
|
-
def namespace_module_metasploit_module_constant(namespace_module)
|
|
8
|
-
namespace_module.constants.find { |constant|
|
|
9
|
-
constant.to_s =~ /Metasploit\d+/
|
|
10
|
-
}
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
shared_context 'Metasploit::Model::Module::Ancestor factory contents' do
|
|
2
|
-
subject(:contents) do
|
|
3
|
-
module_ancestor.contents
|
|
4
|
-
end
|
|
5
|
-
|
|
6
|
-
before(:each) do
|
|
7
|
-
# need to validate so that real_path is derived so contents can be read
|
|
8
|
-
module_ancestor.valid?
|
|
9
|
-
end
|
|
10
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
shared_context 'Metasploit::Model::Module::Ancestor factory contents metasploit_module' do
|
|
2
|
-
include_context 'Metasploit::Model::Module::Ancestor#contents metasploit_module'
|
|
3
|
-
|
|
4
|
-
subject(:metasploit_module) do
|
|
5
|
-
namespace_module_metasploit_module(namespace_module)
|
|
6
|
-
end
|
|
7
|
-
|
|
8
|
-
let(:namespace_module) do
|
|
9
|
-
Module.new
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
before(:each) do
|
|
13
|
-
namespace_module.module_eval(contents)
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
shared_examples_for 'derives' do |attribute, options={}|
|
|
2
|
-
options.assert_valid_keys(:validates)
|
|
3
|
-
|
|
4
|
-
derived = "derived_#{attribute}"
|
|
5
|
-
validates = options.fetch(:validates)
|
|
6
|
-
|
|
7
|
-
context attribute do
|
|
8
|
-
it { should be_a Metasploit::Model::Derivation }
|
|
9
|
-
|
|
10
|
-
let(:validate) do
|
|
11
|
-
# don't use `described_class` as it won't be correct when testing mixin modules.
|
|
12
|
-
base_class.validate_by_derived_attribute[attribute]
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
it "should declare #{attribute} is derived" do
|
|
16
|
-
validate.should_not be_nil
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
if validates
|
|
20
|
-
it "should validate #{attribute}" do
|
|
21
|
-
validate.should be_true
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
context 'validation' do
|
|
25
|
-
before(:each) do
|
|
26
|
-
subject.send("#{attribute}=", value)
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
context "with #{attribute} matching #{derived}" do
|
|
30
|
-
let(:value) do
|
|
31
|
-
subject.send(derived)
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it { should be_valid }
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
context "without #{attribute} matching #{derived}" do
|
|
38
|
-
let(:value) do
|
|
39
|
-
"not #{subject.send(derived)}"
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
it { should_not be_valid }
|
|
43
|
-
|
|
44
|
-
it "should record error on #{attribute}" do
|
|
45
|
-
subject.valid?
|
|
46
|
-
|
|
47
|
-
subject.errors[attribute].should include("must match its derivation")
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
else
|
|
52
|
-
it "should not validate #{attribute}" do
|
|
53
|
-
validate.should be_false
|
|
54
|
-
end
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
context "##{derived}" do
|
|
58
|
-
it "should respond to #{derived}" do
|
|
59
|
-
subject.should respond_to(derived)
|
|
60
|
-
end
|
|
61
|
-
|
|
62
|
-
it 'should not be nil or the spec that expect a change will fail' do
|
|
63
|
-
subject.send(derived).should_not be_nil
|
|
64
|
-
end
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
context 'callbacks' do
|
|
68
|
-
context 'before validation' do
|
|
69
|
-
before(:each) do
|
|
70
|
-
subject.send("#{attribute}=", value)
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
context "with #{attribute}" do
|
|
74
|
-
let(:value) do
|
|
75
|
-
attribute_type = self.attribute_type(attribute)
|
|
76
|
-
|
|
77
|
-
case attribute_type
|
|
78
|
-
when :string, :text
|
|
79
|
-
'existing_value'
|
|
80
|
-
when :datetime
|
|
81
|
-
DateTime.new
|
|
82
|
-
else
|
|
83
|
-
raise ArgumentError,
|
|
84
|
-
"Don't know how to make valid existing value for attribute type (#{attribute_type.inspect})"
|
|
85
|
-
end
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
it "should not change #{attribute}" do
|
|
89
|
-
expect {
|
|
90
|
-
subject.valid?
|
|
91
|
-
}.to_not change {
|
|
92
|
-
subject.send(attribute)
|
|
93
|
-
}
|
|
94
|
-
end
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
context "without #{attribute}" do
|
|
98
|
-
let(:value) do
|
|
99
|
-
nil
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
it "should set #{attribute} to #{derived}" do
|
|
103
|
-
expect {
|
|
104
|
-
subject.valid?
|
|
105
|
-
}.to change {
|
|
106
|
-
subject.send(attribute)
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
subject.send(attribute).should == subject.send(derived)
|
|
110
|
-
end
|
|
111
|
-
end
|
|
112
|
-
end
|
|
113
|
-
end
|
|
114
|
-
end
|
|
115
|
-
end
|