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.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +3 -1
  3. data/config/locales/en.yml +0 -171
  4. data/lib/metasploit/model.rb +0 -2
  5. data/lib/metasploit/model/spec.rb +0 -130
  6. data/lib/metasploit/model/version.rb +1 -1
  7. data/spec/support/shared/examples/metasploit/model/search/operator/help.rb +4 -6
  8. data/spec/support/shared/examples/metasploit/model/translation.rb +1 -1
  9. data/spec/support/shared/examples/search_association.rb +1 -1
  10. data/spec/support/shared/examples/search_with.rb +4 -2
  11. metadata +2 -348
  12. data/app/models/metasploit/model/module/ancestor/spec/template.rb +0 -125
  13. data/app/models/metasploit/model/module/class/spec/template.rb +0 -92
  14. data/app/models/metasploit/model/module/instance/spec/template.rb +0 -97
  15. data/app/models/metasploit/model/spec/template.rb +0 -277
  16. data/app/validators/derivation_validator.rb +0 -17
  17. data/app/validators/dynamic_length_validator.rb +0 -45
  18. data/lib/metasploit/model/architecture.rb +0 -342
  19. data/lib/metasploit/model/author.rb +0 -54
  20. data/lib/metasploit/model/authority.rb +0 -141
  21. data/lib/metasploit/model/authority/bid.rb +0 -10
  22. data/lib/metasploit/model/authority/cve.rb +0 -10
  23. data/lib/metasploit/model/authority/msb.rb +0 -10
  24. data/lib/metasploit/model/authority/osvdb.rb +0 -10
  25. data/lib/metasploit/model/authority/pmasa.rb +0 -10
  26. data/lib/metasploit/model/authority/secunia.rb +0 -10
  27. data/lib/metasploit/model/authority/us_cert_vu.rb +0 -10
  28. data/lib/metasploit/model/authority/waraxe.rb +0 -31
  29. data/lib/metasploit/model/authority/zdi.rb +0 -10
  30. data/lib/metasploit/model/derivation.rb +0 -109
  31. data/lib/metasploit/model/derivation/full_name.rb +0 -19
  32. data/lib/metasploit/model/email_address.rb +0 -124
  33. data/lib/metasploit/model/module.rb +0 -20
  34. data/lib/metasploit/model/module/action.rb +0 -52
  35. data/lib/metasploit/model/module/ancestor.rb +0 -491
  36. data/lib/metasploit/model/module/ancestor/spec.rb +0 -6
  37. data/lib/metasploit/model/module/architecture.rb +0 -34
  38. data/lib/metasploit/model/module/author.rb +0 -40
  39. data/lib/metasploit/model/module/class.rb +0 -403
  40. data/lib/metasploit/model/module/class/spec.rb +0 -6
  41. data/lib/metasploit/model/module/handler.rb +0 -29
  42. data/lib/metasploit/model/module/instance.rb +0 -622
  43. data/lib/metasploit/model/module/instance/spec.rb +0 -6
  44. data/lib/metasploit/model/module/path.rb +0 -159
  45. data/lib/metasploit/model/module/platform.rb +0 -32
  46. data/lib/metasploit/model/module/rank.rb +0 -85
  47. data/lib/metasploit/model/module/reference.rb +0 -32
  48. data/lib/metasploit/model/module/stance.rb +0 -16
  49. data/lib/metasploit/model/module/target.rb +0 -78
  50. data/lib/metasploit/model/module/target/architecture.rb +0 -34
  51. data/lib/metasploit/model/module/target/platform.rb +0 -34
  52. data/lib/metasploit/model/module/type.rb +0 -38
  53. data/lib/metasploit/model/platform.rb +0 -246
  54. data/lib/metasploit/model/real_pathname.rb +0 -16
  55. data/lib/metasploit/model/reference.rb +0 -104
  56. data/spec/app/models/metasploit/model/module/ancestor/spec/template_spec.rb +0 -174
  57. data/spec/app/models/metasploit/model/module/class/spec/template_spec.rb +0 -222
  58. data/spec/app/models/metasploit/model/module/instance/spec/template_spec.rb +0 -201
  59. data/spec/app/models/metasploit/model/search/operator/deprecated/app_spec.rb +0 -62
  60. data/spec/app/models/metasploit/model/search/operator/deprecated/author_spec.rb +0 -197
  61. data/spec/app/models/metasploit/model/search/operator/deprecated/authority_spec.rb +0 -135
  62. data/spec/app/models/metasploit/model/search/operator/deprecated/platform_spec.rb +0 -124
  63. data/spec/app/models/metasploit/model/search/operator/deprecated/ref_spec.rb +0 -387
  64. data/spec/app/models/metasploit/model/search/operator/deprecated/text_spec.rb +0 -399
  65. data/spec/app/models/metasploit/model/spec/template_spec.rb +0 -23
  66. data/spec/app/validators/derivation_validator_spec.rb +0 -92
  67. data/spec/app/validators/dynamic_length_validator_spec.rb +0 -293
  68. data/spec/dummy/app/models/dummy/architecture.rb +0 -92
  69. data/spec/dummy/app/models/dummy/author.rb +0 -15
  70. data/spec/dummy/app/models/dummy/authority.rb +0 -130
  71. data/spec/dummy/app/models/dummy/email_address.rb +0 -27
  72. data/spec/dummy/app/models/dummy/module/action.rb +0 -25
  73. data/spec/dummy/app/models/dummy/module/ancestor.rb +0 -67
  74. data/spec/dummy/app/models/dummy/module/architecture.rb +0 -19
  75. data/spec/dummy/app/models/dummy/module/author.rb +0 -28
  76. data/spec/dummy/app/models/dummy/module/class.rb +0 -69
  77. data/spec/dummy/app/models/dummy/module/instance.rb +0 -209
  78. data/spec/dummy/app/models/dummy/module/path.rb +0 -64
  79. data/spec/dummy/app/models/dummy/module/platform.rb +0 -19
  80. data/spec/dummy/app/models/dummy/module/rank.rb +0 -44
  81. data/spec/dummy/app/models/dummy/module/reference.rb +0 -19
  82. data/spec/dummy/app/models/dummy/module/target.rb +0 -62
  83. data/spec/dummy/app/models/dummy/module/target/architecture.rb +0 -19
  84. data/spec/dummy/app/models/dummy/module/target/platform.rb +0 -19
  85. data/spec/dummy/app/models/dummy/platform.rb +0 -58
  86. data/spec/dummy/app/models/dummy/reference.rb +0 -31
  87. data/spec/dummy/spec/factories/dummy/architectures.rb +0 -13
  88. data/spec/dummy/spec/factories/dummy/authorities.rb +0 -32
  89. data/spec/dummy/spec/factories/dummy/authors.rb +0 -8
  90. data/spec/dummy/spec/factories/dummy/email_addresses.rb +0 -8
  91. data/spec/dummy/spec/factories/dummy/module/actions.rb +0 -13
  92. data/spec/dummy/spec/factories/dummy/module/ancestors.rb +0 -45
  93. data/spec/dummy/spec/factories/dummy/module/architectures.rb +0 -35
  94. data/spec/dummy/spec/factories/dummy/module/authors.rb +0 -10
  95. data/spec/dummy/spec/factories/dummy/module/classes.rb +0 -40
  96. data/spec/dummy/spec/factories/dummy/module/instances.rb +0 -86
  97. data/spec/dummy/spec/factories/dummy/module/paths.rb +0 -16
  98. data/spec/dummy/spec/factories/dummy/module/platforms.rb +0 -35
  99. data/spec/dummy/spec/factories/dummy/module/ranks.rb +0 -14
  100. data/spec/dummy/spec/factories/dummy/module/references.rb +0 -17
  101. data/spec/dummy/spec/factories/dummy/module/target/architectures.rb +0 -40
  102. data/spec/dummy/spec/factories/dummy/module/target/platforms.rb +0 -41
  103. data/spec/dummy/spec/factories/dummy/module/targets.rb +0 -46
  104. data/spec/dummy/spec/factories/dummy/platforms.rb +0 -3
  105. data/spec/dummy/spec/factories/dummy/references.rb +0 -26
  106. data/spec/factories/metasploit/model/architectures.rb +0 -6
  107. data/spec/factories/metasploit/model/authorities.rb +0 -28
  108. data/spec/factories/metasploit/model/authors.rb +0 -9
  109. data/spec/factories/metasploit/model/email_addresses.rb +0 -14
  110. data/spec/factories/metasploit/model/module/actions.rb +0 -9
  111. data/spec/factories/metasploit/model/module/ancestors.rb +0 -180
  112. data/spec/factories/metasploit/model/module/architectures.rb +0 -15
  113. data/spec/factories/metasploit/model/module/classes.rb +0 -47
  114. data/spec/factories/metasploit/model/module/handlers.rb +0 -3
  115. data/spec/factories/metasploit/model/module/instances.rb +0 -83
  116. data/spec/factories/metasploit/model/module/paths.rb +0 -51
  117. data/spec/factories/metasploit/model/module/platforms.rb +0 -15
  118. data/spec/factories/metasploit/model/module/ranks.rb +0 -9
  119. data/spec/factories/metasploit/model/module/references.rb +0 -11
  120. data/spec/factories/metasploit/model/module/stances.rb +0 -3
  121. data/spec/factories/metasploit/model/module/targets.rb +0 -22
  122. data/spec/factories/metasploit/model/module/types.rb +0 -5
  123. data/spec/factories/metasploit/model/references.rb +0 -88
  124. data/spec/lib/metasploit/model/architecture_spec.rb +0 -52
  125. data/spec/lib/metasploit/model/author_spec.rb +0 -6
  126. data/spec/lib/metasploit/model/authority/bid_spec.rb +0 -17
  127. data/spec/lib/metasploit/model/authority/cve_spec.rb +0 -17
  128. data/spec/lib/metasploit/model/authority/msb_spec.rb +0 -17
  129. data/spec/lib/metasploit/model/authority/osvdb_spec.rb +0 -17
  130. data/spec/lib/metasploit/model/authority/pmasa_spec.rb +0 -17
  131. data/spec/lib/metasploit/model/authority/secunia_spec.rb +0 -17
  132. data/spec/lib/metasploit/model/authority/us_cert_vu_spec.rb +0 -17
  133. data/spec/lib/metasploit/model/authority/waraxe_spec.rb +0 -51
  134. data/spec/lib/metasploit/model/authority/zdi_spec.rb +0 -21
  135. data/spec/lib/metasploit/model/authority_spec.rb +0 -10
  136. data/spec/lib/metasploit/model/derivation/full_name_spec.rb +0 -75
  137. data/spec/lib/metasploit/model/derivation_spec.rb +0 -217
  138. data/spec/lib/metasploit/model/email_address_spec.rb +0 -19
  139. data/spec/lib/metasploit/model/module/action_spec.rb +0 -6
  140. data/spec/lib/metasploit/model/module/ancestor_spec.rb +0 -6
  141. data/spec/lib/metasploit/model/module/architecture_spec.rb +0 -9
  142. data/spec/lib/metasploit/model/module/author_spec.rb +0 -6
  143. data/spec/lib/metasploit/model/module/class_spec.rb +0 -19
  144. data/spec/lib/metasploit/model/module/handler_spec.rb +0 -61
  145. data/spec/lib/metasploit/model/module/instance_spec.rb +0 -183
  146. data/spec/lib/metasploit/model/module/path_spec.rb +0 -6
  147. data/spec/lib/metasploit/model/module/platform_spec.rb +0 -9
  148. data/spec/lib/metasploit/model/module/rank_spec.rb +0 -29
  149. data/spec/lib/metasploit/model/module/reference_spec.rb +0 -9
  150. data/spec/lib/metasploit/model/module/stance_spec.rb +0 -30
  151. data/spec/lib/metasploit/model/module/target/architecture_spec.rb +0 -9
  152. data/spec/lib/metasploit/model/module/target/platform_spec.rb +0 -9
  153. data/spec/lib/metasploit/model/module/target_spec.rb +0 -9
  154. data/spec/lib/metasploit/model/module/type_spec.rb +0 -125
  155. data/spec/lib/metasploit/model/platform_spec.rb +0 -100
  156. data/spec/lib/metasploit/model/reference_spec.rb +0 -21
  157. data/spec/support/shared/contexts/metasploit/model/module/ancestor/contents/metasploit_module.rb +0 -12
  158. data/spec/support/shared/contexts/metasploit/model/module/ancestor/factory/contents.rb +0 -10
  159. data/spec/support/shared/contexts/metasploit/model/module/ancestor/factory/contents/metasploit_module.rb +0 -15
  160. data/spec/support/shared/examples/derives.rb +0 -115
  161. data/spec/support/shared/examples/metasploit/model/architecture.rb +0 -425
  162. data/spec/support/shared/examples/metasploit/model/architecture/seed.rb +0 -25
  163. data/spec/support/shared/examples/metasploit/model/author.rb +0 -27
  164. data/spec/support/shared/examples/metasploit/model/authority.rb +0 -124
  165. data/spec/support/shared/examples/metasploit/model/authority/seed.rb +0 -49
  166. data/spec/support/shared/examples/metasploit/model/email_address.rb +0 -220
  167. data/spec/support/shared/examples/metasploit/model/module/action.rb +0 -26
  168. data/spec/support/shared/examples/metasploit/model/module/ancestor.rb +0 -2004
  169. data/spec/support/shared/examples/metasploit/model/module/ancestor/payload_factory.rb +0 -63
  170. data/spec/support/shared/examples/metasploit/model/module/architecture.rb +0 -36
  171. data/spec/support/shared/examples/metasploit/model/module/author.rb +0 -29
  172. data/spec/support/shared/examples/metasploit/model/module/class.rb +0 -1514
  173. data/spec/support/shared/examples/metasploit/model/module/handler.rb +0 -21
  174. data/spec/support/shared/examples/metasploit/model/module/instance.rb +0 -1384
  175. data/spec/support/shared/examples/metasploit/model/module/instance/class_methods.rb +0 -537
  176. data/spec/support/shared/examples/metasploit/model/module/instance/is_not_stanced_with_module_type.rb +0 -22
  177. data/spec/support/shared/examples/metasploit/model/module/instance/is_stanced_with_module_type.rb +0 -38
  178. data/spec/support/shared/examples/metasploit/model/module/instance/validates/dynamic_length_of.rb +0 -131
  179. data/spec/support/shared/examples/metasploit/model/module/path.rb +0 -493
  180. data/spec/support/shared/examples/metasploit/model/module/platform.rb +0 -36
  181. data/spec/support/shared/examples/metasploit/model/module/rank.rb +0 -92
  182. data/spec/support/shared/examples/metasploit/model/module/reference.rb +0 -16
  183. data/spec/support/shared/examples/metasploit/model/module/target.rb +0 -29
  184. data/spec/support/shared/examples/metasploit/model/module/target/architecture.rb +0 -56
  185. data/spec/support/shared/examples/metasploit/model/module/target/platform.rb +0 -56
  186. data/spec/support/shared/examples/metasploit/model/platform.rb +0 -213
  187. data/spec/support/shared/examples/metasploit/model/real_pathname.rb +0 -29
  188. data/spec/support/shared/examples/metasploit/model/reference.rb +0 -410
  189. data/spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/app.rb +0 -44
  190. data/spec/support/shared/examples/search/query/metasploit/model/search/operator/deprecated/authority.rb +0 -72
  191. data/spec/support/templates/metasploit/model/module/ancestors/_attributes.rb.erb +0 -9
  192. data/spec/support/templates/metasploit/model/module/ancestors/_methods.rb.erb +0 -8
  193. data/spec/support/templates/metasploit/model/module/ancestors/_validations.rb.erb +0 -6
  194. data/spec/support/templates/metasploit/model/module/ancestors/base.rb.erb +0 -3
  195. data/spec/support/templates/metasploit/model/module/ancestors/module_types/_auxiliary.rb.erb +0 -1
  196. data/spec/support/templates/metasploit/model/module/ancestors/module_types/_encoder.rb.erb +0 -1
  197. data/spec/support/templates/metasploit/model/module/ancestors/module_types/_exploit.rb.erb +0 -1
  198. data/spec/support/templates/metasploit/model/module/ancestors/module_types/_non_payload.rb.erb +0 -5
  199. data/spec/support/templates/metasploit/model/module/ancestors/module_types/_nop.rb.erb +0 -1
  200. data/spec/support/templates/metasploit/model/module/ancestors/module_types/_payload.rb.erb +0 -4
  201. data/spec/support/templates/metasploit/model/module/ancestors/module_types/_post.rb.erb +0 -1
  202. data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_handled.rb.erb +0 -20
  203. data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_single.rb.erb +0 -1
  204. data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_stage.rb.erb +0 -0
  205. data/spec/support/templates/metasploit/model/module/ancestors/payload_types/_stager.rb.erb +0 -1
  206. data/spec/support/templates/metasploit/model/module/classes/_methods.rb.erb +0 -9
@@ -1,6 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Metasploit::Model::Module::Path do
4
- it_should_behave_like 'Metasploit::Model::Module::Path',
5
- namespace_name: 'Dummy'
6
- end
@@ -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
@@ -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