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,29 +0,0 @@
1
- shared_examples_for 'Metasploit::Model::RealPathname' do
2
- context '#real_pathname' do
3
- subject(:real_pathname) do
4
- base_instance.real_pathname
5
- end
6
-
7
- before(:each) do
8
- base_instance.real_path = real_path
9
- end
10
-
11
- context 'with #real_path' do
12
- let(:real_path) do
13
- 'real/path.rb'
14
- end
15
-
16
- it 'should be Pathname wrapping #real_path' do
17
- real_pathname.should == Pathname.new(real_path)
18
- end
19
- end
20
-
21
- context 'without #real_path' do
22
- let(:real_path) do
23
- nil
24
- end
25
-
26
- it { should be_nil }
27
- end
28
- end
29
- end
@@ -1,410 +0,0 @@
1
- Metasploit::Model::Spec.shared_examples_for 'Reference' do
2
- #
3
- # Authority factories
4
- #
5
-
6
- authority_factory = "#{factory_namespace}_authority"
7
-
8
- #
9
- # Reference factoriess
10
- #
11
-
12
- obsolete_reference_factory = "obsolete_#{reference_factory}"
13
- url_reference_factory = "url_#{reference_factory}"
14
-
15
- context 'derivation' do
16
- subject(:reference) do
17
- FactoryGirl.build(
18
- reference_factory,
19
- :authority => authority,
20
- :designation => designation
21
- )
22
- end
23
-
24
- context 'with authority' do
25
- let(:authority) do
26
- authority_with_abbreviation(abbreviation)
27
- end
28
-
29
- context 'with abbreviation' do
30
- context 'BID' do
31
- let(:abbreviation) do
32
- 'BID'
33
- end
34
-
35
- let(:designation) do
36
- FactoryGirl.generate :metasploit_model_reference_bid_designation
37
- end
38
-
39
- it_should_behave_like 'derives', :url, :validates => false
40
- end
41
-
42
- context 'CVE' do
43
- let(:abbreviation) do
44
- 'CVE'
45
- end
46
-
47
- let(:designation) do
48
- FactoryGirl.generate :metasploit_model_reference_cve_designation
49
- end
50
-
51
- it_should_behave_like 'derives', :url, :validates => false
52
- end
53
-
54
- context 'MSB' do
55
- let(:abbreviation) do
56
- 'MSB'
57
- end
58
-
59
- let(:designation) do
60
- FactoryGirl.generate :metasploit_model_reference_msb_designation
61
- end
62
-
63
- it_should_behave_like 'derives', :url, :validates => false
64
- end
65
-
66
- context 'OSVDB' do
67
- let(:abbreviation) do
68
- 'OSVDB'
69
- end
70
-
71
- let(:designation) do
72
- FactoryGirl.generate :metasploit_model_reference_osvdb_designation
73
- end
74
-
75
- it_should_behave_like 'derives', :url, :validates => false
76
- end
77
-
78
- context 'PMASA' do
79
- let(:abbreviation) do
80
- 'PMASA'
81
- end
82
-
83
- let(:designation) do
84
- FactoryGirl.generate :metasploit_model_reference_pmasa_designation
85
- end
86
-
87
- it_should_behave_like 'derives', :url, :validates => false
88
- end
89
-
90
- context 'SECUNIA' do
91
- let(:abbreviation) do
92
- 'SECUNIA'
93
- end
94
-
95
- let(:designation) do
96
- FactoryGirl.generate :metasploit_model_reference_secunia_designation
97
- end
98
-
99
- it_should_behave_like 'derives', :url, :validates => false
100
- end
101
-
102
- context 'US-CERT-VU' do
103
- let(:abbreviation) do
104
- 'US-CERT-VU'
105
- end
106
-
107
- let(:designation) do
108
- FactoryGirl.generate :metasploit_model_reference_us_cert_vu_designation
109
- end
110
-
111
- it_should_behave_like 'derives', :url, :validates => false
112
- end
113
-
114
- context 'waraxe' do
115
- let(:abbreviation) do
116
- 'waraxe'
117
- end
118
-
119
- let(:designation) do
120
- FactoryGirl.generate :metasploit_model_reference_waraxe_designation
121
- end
122
-
123
- it_should_behave_like 'derives', :url, :validates => false
124
- end
125
-
126
- context 'ZDI' do
127
- let(:abbreviation) do
128
- 'ZDI'
129
- end
130
-
131
- let(:designation) do
132
- FactoryGirl.generate :metasploit_model_reference_zdi_designation
133
- end
134
-
135
- it_should_behave_like 'derives', :url, validates: false
136
- end
137
- end
138
- end
139
- end
140
-
141
- context 'factories' do
142
- context reference_factory do
143
- subject(reference_factory) do
144
- FactoryGirl.build(reference_factory)
145
- end
146
-
147
- it { should be_valid }
148
-
149
- its(:authority) { should_not be_nil }
150
- its(:designation) { should_not be_nil }
151
- its(:url) { should_not be_nil }
152
- end
153
-
154
- context obsolete_reference_factory do
155
- subject(obsolete_reference_factory) do
156
- FactoryGirl.build(obsolete_reference_factory)
157
- end
158
-
159
- it { should be_valid }
160
-
161
- its(:authority) { should_not be_nil }
162
- its(:designation) { should_not be_nil }
163
- its(:url) { should be_nil }
164
- end
165
-
166
- context url_reference_factory do
167
- subject(url_reference_factory) do
168
- FactoryGirl.build(url_reference_factory)
169
- end
170
-
171
- it { should be_valid }
172
-
173
- its(:authority) { should be_nil }
174
- its(:designation) { should be_nil }
175
- its(:url) { should_not be_nil }
176
- end
177
- end
178
-
179
- context 'mass assignment security' do
180
- it { should allow_mass_assignment_of(:designation) }
181
- it { should allow_mass_assignment_of(:url) }
182
- end
183
-
184
- context 'search' do
185
- context 'attributes' do
186
- it_should_behave_like 'search_attribute', :designation, :type => :string
187
- it_should_behave_like 'search_attribute', :url, :type => :string
188
- end
189
- end
190
-
191
- context 'validations' do
192
- subject(:reference) do
193
- FactoryGirl.build(
194
- reference_factory,
195
- :authority => authority,
196
- :designation => designation,
197
- :url => url
198
- )
199
- end
200
-
201
- context 'with authority' do
202
- let(:authority) do
203
- FactoryGirl.create(authority_factory)
204
- end
205
-
206
- context 'with designation' do
207
- let(:designation) do
208
- FactoryGirl.generate :metasploit_model_reference_designation
209
- end
210
-
211
- context 'with url' do
212
- let(:url) do
213
- FactoryGirl.generate :metasploit_model_reference_url
214
- end
215
-
216
- it { should be_valid }
217
- end
218
-
219
- context 'without url' do
220
- let(:url) do
221
- nil
222
- end
223
-
224
- it { should be_valid }
225
- end
226
- end
227
-
228
- context 'without designation' do
229
- let(:designation) do
230
- nil
231
- end
232
-
233
- context 'with url' do
234
- let(:url) do
235
- FactoryGirl.generate :metasploit_model_reference_url
236
- end
237
-
238
- it { should be_invalid }
239
-
240
- it 'should record error on designation' do
241
- reference.valid?
242
-
243
- reference.errors[:designation].should include("can't be blank")
244
- end
245
-
246
- it 'should not record error on url' do
247
- reference.valid?
248
-
249
- reference.errors[:url].should be_empty
250
- end
251
- end
252
-
253
- context 'without url' do
254
- let(:url) do
255
- nil
256
- end
257
-
258
- it { should be_invalid }
259
-
260
- it 'should record error on designation' do
261
- reference.valid?
262
-
263
- reference.errors[:designation].should include("can't be blank")
264
- end
265
-
266
- it 'should not record error on url' do
267
- reference.valid?
268
-
269
- reference.errors[:url].should be_empty
270
- end
271
- end
272
- end
273
- end
274
-
275
- context 'without authority' do
276
- let(:authority) do
277
- nil
278
- end
279
-
280
- context 'with designation' do
281
- let(:designation) do
282
- FactoryGirl.generate :metasploit_model_reference_designation
283
- end
284
-
285
- let(:url) do
286
- nil
287
- end
288
-
289
- it { should be_invalid }
290
-
291
- it 'should record error on designation' do
292
- reference.valid?
293
-
294
- reference.errors[:designation].should include('must be nil')
295
- end
296
- end
297
-
298
- context 'without designation' do
299
- let(:designation) do
300
- nil
301
- end
302
-
303
- context 'with url' do
304
- let(:url) do
305
- FactoryGirl.generate :metasploit_model_reference_url
306
- end
307
-
308
- it { should be_valid }
309
- end
310
-
311
- context 'without url' do
312
- let(:url) do
313
- nil
314
- end
315
-
316
- it { should be_invalid }
317
-
318
- it 'should record error on url' do
319
- reference.valid?
320
-
321
- reference.errors[:url].should include("can't be blank")
322
- end
323
- end
324
- end
325
- end
326
- end
327
-
328
- context '#derived_url' do
329
- subject(:derived_url) do
330
- reference.derived_url
331
- end
332
-
333
- let(:reference) do
334
- FactoryGirl.build(
335
- reference_factory,
336
- :authority => authority,
337
- :designation => designation
338
- )
339
- end
340
-
341
- context 'with authority' do
342
- let(:authority) do
343
- FactoryGirl.create(
344
- authority_factory
345
- )
346
- end
347
-
348
- context 'with blank designation' do
349
- let(:designation) do
350
- ''
351
- end
352
-
353
- it { should be_nil }
354
- end
355
-
356
- context 'without blank designation' do
357
- let(:designation) do
358
- '31337'
359
- end
360
-
361
- it 'should call Metasploit::Model::Authority#designation_url' do
362
- authority.should_receive(:designation_url).with(designation)
363
-
364
- derived_url
365
- end
366
- end
367
- end
368
-
369
- context 'without authority' do
370
- let(:authority) do
371
- nil
372
- end
373
-
374
- let(:designation) do
375
- nil
376
- end
377
-
378
- it { should be_nil }
379
- end
380
- end
381
-
382
- context '#authority?' do
383
- subject(:authority?) do
384
- reference.authority?
385
- end
386
-
387
- let(:reference) do
388
- FactoryGirl.build(
389
- reference_factory,
390
- :authority => authority
391
- )
392
- end
393
-
394
- context 'with authority' do
395
- let(:authority) do
396
- FactoryGirl.create(authority_factory)
397
- end
398
-
399
- it { should be_true }
400
- end
401
-
402
- context 'without authority' do
403
- let(:authority) do
404
- nil
405
- end
406
-
407
- it { should be_false }
408
- end
409
- end
410
- end
@@ -1,44 +0,0 @@
1
- shared_examples_for 'search query with Metasploit::Model::Search::Operator::Deprecated::App' do
2
- context 'with app' do
3
- subject(:query) do
4
- Metasploit::Model::Search::Query.new(
5
- :formatted => formatted,
6
- :klass => base_class
7
- )
8
- end
9
-
10
- let(:formatted) do
11
- "app:#{formatted_value}"
12
- end
13
-
14
- context 'operations' do
15
- subject(:operations) do
16
- query.operations
17
- end
18
-
19
- context 'stance' do
20
- subject(:operation) do
21
- operations.find { |operation|
22
- operation.operator.name == :stance
23
- }
24
- end
25
-
26
- context 'with client' do
27
- let(:formatted_value) do
28
- 'client'
29
- end
30
-
31
- its(:value) { should == 'passive' }
32
- end
33
-
34
- context 'with server' do
35
- let(:formatted_value) do
36
- 'server'
37
- end
38
-
39
- its(:value) { should == 'aggressive' }
40
- end
41
- end
42
- end
43
- end
44
- end