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,537 +0,0 @@
1
- shared_examples_for 'Metasploit::Model::Module::Instance::ClassMethods' do
2
- context '#allows?' do
3
- subject(:allows?) do
4
- singleton_class.allows?(options)
5
- end
6
-
7
- let(:options) do
8
- {
9
- attribute: attribute,
10
- module_type: module_type
11
- }
12
- end
13
-
14
- context ":attribute" do
15
- context 'with :actions' do
16
- let(:attribute) do
17
- :actions
18
- end
19
-
20
- context ':module_type' do
21
- context 'with auxiliary' do
22
- let(:module_type) do
23
- 'auxiliary'
24
- end
25
-
26
- it { should be_true }
27
- end
28
-
29
- context 'with encoder' do
30
- let(:module_type) do
31
- 'encoder'
32
- end
33
-
34
- it { should be_false }
35
- end
36
-
37
- context 'with exploit' do
38
- let(:module_type) do
39
- 'exploit'
40
- end
41
-
42
- it { should be_false }
43
- end
44
-
45
- context 'with nop' do
46
- let(:module_type) do
47
- 'nop'
48
- end
49
-
50
- it { should be_false }
51
- end
52
-
53
- context 'with payload' do
54
- let(:module_type) do
55
- 'payload'
56
- end
57
-
58
- it { should be_false }
59
- end
60
-
61
- context 'with post' do
62
- let(:module_type) do
63
- 'post'
64
- end
65
-
66
- it { should be_true }
67
- end
68
- end
69
- end
70
-
71
- context 'with :module_architectures' do
72
- let(:attribute) do
73
- :module_architectures
74
- end
75
-
76
- context ':module_type' do
77
- context 'with auxiliary' do
78
- let(:module_type) do
79
- 'auxiliary'
80
- end
81
-
82
- it { should be_false }
83
- end
84
-
85
- context 'with encoder' do
86
- let(:module_type) do
87
- 'encoder'
88
- end
89
-
90
- it { should be_true }
91
- end
92
-
93
- context 'with exploit' do
94
- let(:module_type) do
95
- 'exploit'
96
- end
97
-
98
- it { should be_true }
99
- end
100
-
101
- context 'with nop' do
102
- let(:module_type) do
103
- 'nop'
104
- end
105
-
106
- it { should be_true }
107
- end
108
-
109
- context 'with payload' do
110
- let(:module_type) do
111
- 'payload'
112
- end
113
-
114
- it { should be_true }
115
- end
116
-
117
- context 'with post' do
118
- let(:module_type) do
119
- 'post'
120
- end
121
-
122
- it { should be_true }
123
- end
124
- end
125
- end
126
-
127
- context 'with :module_platforms' do
128
- let(:attribute) do
129
- :module_platforms
130
- end
131
-
132
- context ':module_type' do
133
- context 'with auxiliary' do
134
- let(:module_type) do
135
- 'auxiliary'
136
- end
137
-
138
- it { should be_false }
139
- end
140
-
141
- context 'with encoder' do
142
- let(:module_type) do
143
- 'encoder'
144
- end
145
-
146
- it { should be_false }
147
- end
148
-
149
- context 'with exploit' do
150
- let(:module_type) do
151
- 'exploit'
152
- end
153
-
154
- it { should be_true }
155
- end
156
-
157
- context 'with nop' do
158
- let(:module_type) do
159
- 'nop'
160
- end
161
-
162
- it { should be_false }
163
- end
164
-
165
- context 'with payload' do
166
- let(:module_type) do
167
- 'payload'
168
- end
169
-
170
- it { should be_true }
171
- end
172
-
173
- context 'with post' do
174
- let(:module_type) do
175
- 'post'
176
- end
177
-
178
- it { should be_true }
179
- end
180
- end
181
- end
182
-
183
- context 'with :module_references' do
184
- let(:attribute) do
185
- :module_references
186
- end
187
-
188
- context ':module_type' do
189
- context 'with auxiliary' do
190
- let(:module_type) do
191
- 'auxiliary'
192
- end
193
-
194
- it { should be_true }
195
- end
196
-
197
- context 'with encoder' do
198
- let(:module_type) do
199
- 'encoder'
200
- end
201
-
202
- it { should be_false }
203
- end
204
-
205
- context 'with exploit' do
206
- let(:module_type) do
207
- 'exploit'
208
- end
209
-
210
- it { should be_true }
211
- end
212
-
213
- context 'with nop' do
214
- let(:module_type) do
215
- 'nop'
216
- end
217
-
218
- it { should be_false }
219
- end
220
-
221
- context 'with payload' do
222
- let(:module_type) do
223
- 'payload'
224
- end
225
-
226
- it { should be_false }
227
- end
228
-
229
- context 'with post' do
230
- let(:module_type) do
231
- 'post'
232
- end
233
-
234
- it { should be_true }
235
- end
236
- end
237
- end
238
-
239
- context 'with :targets' do
240
- let(:attribute) do
241
- :targets
242
- end
243
-
244
- context ':module_type' do
245
- context 'with auxiliary' do
246
- let(:module_type) do
247
- 'auxiliary'
248
- end
249
-
250
- it { should be_false }
251
- end
252
-
253
- context 'with encoder' do
254
- let(:module_type) do
255
- 'encoder'
256
- end
257
-
258
- it { should be_false }
259
- end
260
-
261
- context 'with exploit' do
262
- let(:module_type) do
263
- 'exploit'
264
- end
265
-
266
- it { should be_true }
267
- end
268
-
269
- context 'with nop' do
270
- let(:module_type) do
271
- 'nop'
272
- end
273
-
274
- it { should be_false }
275
- end
276
-
277
- context 'with payload' do
278
- let(:module_type) do
279
- 'payload'
280
- end
281
-
282
- it { should be_false }
283
- end
284
-
285
- context 'with post' do
286
- let(:module_type) do
287
- 'post'
288
- end
289
-
290
- it { should be_false }
291
- end
292
- end
293
- end
294
- end
295
-
296
- context '#dynamic_length_validation_options' do
297
- let(:options) do
298
- # don't care about the options since #dynamic_length_validation_options is being stubbed
299
- {}
300
- end
301
-
302
- before(:each) do
303
- singleton_class.stub(dynamic_length_validation_options: dynamic_length_validation_options)
304
- end
305
-
306
- context 'with :is' do
307
- let(:dynamic_length_validation_options) do
308
- {
309
- is: is
310
- }
311
- end
312
-
313
- context '> 0' do
314
- let(:is) do
315
- 1
316
- end
317
-
318
- it { should be_true }
319
- end
320
-
321
- context '<= 0' do
322
- let(:is) do
323
- 0
324
- end
325
-
326
- it { should be_false }
327
- end
328
- end
329
-
330
- context 'without :is' do
331
- context 'with :maximum' do
332
- let(:dynamic_length_validation_options) do
333
- {
334
- maximum: maximum
335
- }
336
- end
337
-
338
- context '> 0' do
339
- let(:maximum) do
340
- 1
341
- end
342
-
343
- it { should be_true }
344
- end
345
-
346
- context '<= 0' do
347
- let(:maximum) do
348
- 0
349
- end
350
-
351
- it { should be_false }
352
- end
353
- end
354
-
355
- context 'without :maximum' do
356
- let(:dynamic_length_validation_options) do
357
- {}
358
- end
359
-
360
- it { should be_true }
361
- end
362
- end
363
- end
364
- end
365
-
366
- context '#dynamic_length_validation_options' do
367
- subject(:dynamic_length_validation_options) do
368
- singleton_class.dynamic_length_validation_options(options)
369
- end
370
-
371
- let(:attribute) do
372
- attributes.sample
373
- end
374
-
375
- let(:attributes) do
376
- [
377
- :actions,
378
- :module_architectures,
379
- :module_platforms,
380
- :module_references,
381
- :targets
382
- ]
383
- end
384
-
385
- let(:module_type) do
386
- FactoryGirl.generate :metasploit_model_module_type
387
- end
388
-
389
- let(:options) do
390
- {}
391
- end
392
-
393
- context 'with :attribute' do
394
- let(:options) do
395
- super().merge(
396
- attribute: attribute
397
- )
398
- end
399
-
400
- context 'with :module_type' do
401
- let(:options) do
402
- super().merge(
403
- module_type: module_type
404
- )
405
- end
406
-
407
- context 'with valid :attribute' do
408
- context 'with valid :module_type' do
409
- it 'should return Hash from DYNAMIC_LENGTH_VALIDATION_OPTIONS_BY_MODULE_TYPE_BY_ATTRIBUTE' do
410
- dynamic_length_validation_options.should be described_class::DYNAMIC_LENGTH_VALIDATION_OPTIONS_BY_MODULE_TYPE_BY_ATTRIBUTE[attribute][module_type]
411
- end
412
- end
413
-
414
- context 'without valid :module_type' do
415
- let(:module_type) do
416
- 'invalid_module_type'
417
- end
418
-
419
- specify {
420
- expect {
421
- dynamic_length_validation_options
422
- }.to raise_error(KeyError)
423
- }
424
- end
425
- end
426
-
427
- context 'without valid attribute' do
428
- let(:attribute) do
429
- :invalid_attribute
430
- end
431
-
432
- specify {
433
- expect {
434
- dynamic_length_validation_options
435
- }.to raise_error(KeyError)
436
- }
437
- end
438
- end
439
-
440
- context 'without :module_type' do
441
- specify {
442
- expect {
443
- dynamic_length_validation_options
444
- }.to raise_error(KeyError)
445
- }
446
- end
447
- end
448
-
449
- context 'without :attribute' do
450
- context 'with :module_type' do
451
- let(:options) do
452
- super().merge(
453
- module_type: module_type
454
- )
455
- end
456
-
457
- specify {
458
- expect {
459
- dynamic_length_validation_options
460
- }.to raise_error(KeyError)
461
- }
462
- end
463
-
464
- context 'without :module_type' do
465
- specify {
466
- expect {
467
- dynamic_length_validation_options
468
- }.to raise_error(KeyError)
469
- }
470
- end
471
- end
472
- end
473
-
474
- context '#stanced?' do
475
- subject(:stanced?) do
476
- singleton_class.stanced?(module_type)
477
- end
478
-
479
- context '#module_type' do
480
- context "with 'auxiliary'" do
481
- let(:module_type) do
482
- 'auxiliary'
483
- end
484
-
485
- it { should be_true }
486
- end
487
-
488
- context "with 'encoder'" do
489
- let(:module_type) do
490
- 'encoder'
491
- end
492
-
493
- it { should be_false }
494
- end
495
-
496
- context "with 'exploit'" do
497
- let(:module_type) do
498
- 'exploit'
499
- end
500
-
501
- it { should be_true }
502
- end
503
-
504
- context "with 'nop'" do
505
- let(:module_type) do
506
- 'nop'
507
- end
508
-
509
- it { should be_false }
510
- end
511
-
512
- context "with 'payload'" do
513
- let(:module_type) do
514
- 'payload'
515
- end
516
-
517
- it { should be_false }
518
- end
519
-
520
- context "with 'post'" do
521
- let(:module_type) do
522
- 'post'
523
- end
524
-
525
- it { should be_false }
526
- end
527
-
528
- context "with nil" do
529
- let(:module_type) do
530
- nil
531
- end
532
-
533
- it { should be_false }
534
- end
535
- end
536
- end
537
- end