Skip to content

Commit 33ea5fd

Browse files
committed
Use named subjects
1 parent c4bba02 commit 33ea5fd

File tree

1 file changed

+36
-36
lines changed

1 file changed

+36
-36
lines changed

spec/tools/msu_finder_spec.rb

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -83,45 +83,45 @@ def get_stderr(&block)
8383
fake.string
8484
end
8585

86-
subject do
86+
subject(:object_helper) do
8787
mod = Object.new
8888
mod.extend MicrosoftPatchFinder::Helper
8989
mod
9090
end
9191

9292
describe '#print_debug' do
9393
it 'prints a [DEBUG] message' do
94-
output = get_stderr { subject.print_debug }
94+
output = get_stderr { object_helper.print_debug }
9595
expect(output).to include('[DEBUG]')
9696
end
9797
end
9898

9999
describe '#print_status' do
100100
it 'prints a [*] message' do
101-
output = get_stderr { subject.print_status }
101+
output = get_stderr { object_helper.print_status }
102102
expect(output).to include('[*]')
103103
end
104104
end
105105

106106
describe '#print_error' do
107107
it 'prints an [ERROR] message' do
108-
output = get_stderr { subject.print_error }
108+
output = get_stderr { object_helper.print_error }
109109
expect(output).to include('[ERROR]')
110110
end
111111
end
112112

113113
describe '#print_line' do
114114
it 'prints a regular message' do
115115
msg = 'TEST'
116-
output = get_stdout { subject.print_line(msg) }
116+
output = get_stdout { object_helper.print_line(msg) }
117117
expect(output).to eq("#{msg}\n")
118118
end
119119
end
120120

121121
describe '#send_http_request' do
122122
it 'returns a Rex::Proto::Http::Response object' do
123-
allow(subject).to receive(:print_debug)
124-
res = subject.send_http_request(MicrosoftPatchFinder::SiteInfo::TECHNET)
123+
allow(object_helper).to receive(:print_debug)
124+
res = object_helper.send_http_request(MicrosoftPatchFinder::SiteInfo::TECHNET)
125125
expect(res).to be_kind_of(Rex::Proto::Http::Response)
126126
end
127127
end
@@ -200,17 +200,17 @@ def get_stderr(&block)
200200
|
201201
end
202202

203-
subject do
203+
subject(:patch_link_collector) do
204204
MicrosoftPatchFinder::PatchLinkCollector.new
205205
end
206206

207207
before(:each) do
208-
allow(subject).to receive(:print_debug)
208+
allow(patch_link_collector).to receive(:print_debug)
209209
end
210210

211211
describe '#download_advisory' do
212212
it 'returns a Rex::Proto::Http::Response object' do
213-
res = subject.download_advisory('ms15-100')
213+
res = patch_link_collector.download_advisory('ms15-100')
214214
expect(res).to be_kind_of(Rex::Proto::Http::Response)
215215
end
216216
end
@@ -219,25 +219,25 @@ def get_stderr(&block)
219219

220220
it 'returns a pattern for ms15-100' do
221221
expected_pattern = '//div[@id="mainBody"]//div//div[@class="sectionblock"]//table//a'
222-
p = subject.get_appropriate_pattern(::Nokogiri::HTML(ms15_100_html))
222+
p = patch_link_collector.get_appropriate_pattern(::Nokogiri::HTML(ms15_100_html))
223223
expect(p).to eq(expected_pattern)
224224
end
225225

226226
it 'returns a pattern for ms07-029' do
227227
expected_pattern = '//div[@id="mainBody"]//ul//li//a[contains(text(), "Download the update")]'
228-
p = subject.get_appropriate_pattern(::Nokogiri::HTML(ms07_029_html))
228+
p = patch_link_collector.get_appropriate_pattern(::Nokogiri::HTML(ms07_029_html))
229229
expect(p).to eq(expected_pattern)
230230
end
231231

232232
it 'returns a pattern for ms03-039' do
233233
expected_pattern = '//div[@id="mainBody"]//div//div[@class="sectionblock"]//ul//li//a'
234-
p = subject.get_appropriate_pattern(::Nokogiri::HTML(ms03_039_html))
234+
p = patch_link_collector.get_appropriate_pattern(::Nokogiri::HTML(ms03_039_html))
235235
expect(p).to eq(expected_pattern)
236236
end
237237

238238
it 'returns a pattern for ms07-030' do
239239
expected_pattern = '//div[@id="mainBody"]//table//a'
240-
p = subject.get_appropriate_pattern(::Nokogiri::HTML(ms07_030_html))
240+
p = patch_link_collector.get_appropriate_pattern(::Nokogiri::HTML(ms07_030_html))
241241
expect(p).to eq(expected_pattern)
242242
end
243243
end
@@ -250,7 +250,7 @@ def get_stderr(&block)
250250
end
251251

252252
it 'returns an URI object to a details aspx' do
253-
links = subject.get_details_aspx(details_aspx)
253+
links = patch_link_collector.get_details_aspx(details_aspx)
254254
expected_uri = 'https://www.microsoft.com/downloads/details.aspx?familyid=1'
255255
expect(links.length).to eq(1)
256256
expect(links.first).to be_kind_of(URI)
@@ -276,14 +276,14 @@ def get_stderr(&block)
276276
allow(cli).to receive(:send_recv).and_return(http_res)
277277
allow(Rex::Proto::Http::Client).to receive(:new).and_return(cli)
278278

279-
expect(subject.follow_redirect(technet, http_res).headers).to eq(expected_header)
279+
expect(patch_link_collector.follow_redirect(technet, http_res).headers).to eq(expected_header)
280280
end
281281
end
282282

283283
describe '#get_download_page' do
284284
it 'returns a Rex::Proto::Http::Response object' do
285285
uri = URI('http://www.example.com/')
286-
expect(subject.get_download_page(uri)).to be_kind_of(Rex::Proto::Http::Response)
286+
expect(patch_link_collector.get_download_page(uri)).to be_kind_of(Rex::Proto::Http::Response)
287287
end
288288
end
289289

@@ -319,14 +319,14 @@ def get_stderr(&block)
319319
allow(cli).to receive(:send_recv).and_return(download_html_res)
320320
allow(Rex::Proto::Http::Client).to receive(:new).and_return(cli)
321321

322-
expect(subject.get_download_links(confirm_aspx).first).to eq(expected_link)
322+
expect(patch_link_collector.get_download_links(confirm_aspx).first).to eq(expected_link)
323323
end
324324
end
325325

326326
describe '#has_advisory?' do
327327
it 'returns true if the page is found' do
328328
res = Rex::Proto::Http::Response.new
329-
expect(subject.has_advisory?(res)).to be_truthy
329+
expect(patch_link_collector.has_advisory?(res)).to be_truthy
330330
end
331331

332332
it 'returns false if the page is not found' do
@@ -338,7 +338,7 @@ def get_stderr(&block)
338338

339339
res = Rex::Proto::Http::Response.new
340340
allow(res).to receive(:body).and_return(html)
341-
expect(subject.has_advisory?(res)).to be_falsey
341+
expect(patch_link_collector.has_advisory?(res)).to be_falsey
342342
end
343343
end
344344

@@ -352,11 +352,11 @@ def get_stderr(&block)
352352
end
353353

354354
it 'returns true if the MSB format is correct' do
355-
expect(subject.is_valid_msb?(good_msb)).to be_truthy
355+
expect(patch_link_collector.is_valid_msb?(good_msb)).to be_truthy
356356
end
357357

358358
it 'returns false if the MSB format is incorrect' do
359-
expect(subject.is_valid_msb?(bad_msb)).to be_falsey
359+
expect(patch_link_collector.is_valid_msb?(bad_msb)).to be_falsey
360360
end
361361

362362
end
@@ -365,7 +365,7 @@ def get_stderr(&block)
365365

366366
describe MicrosoftPatchFinder::TechnetMsbSearch do
367367

368-
subject do
368+
subject(:technet_msb_search) do
369369
MicrosoftPatchFinder::TechnetMsbSearch.new
370370
end
371371

@@ -425,39 +425,39 @@ def get_stderr(&block)
425425

426426
describe '#find_msb_numbers' do
427427
it 'returns an array of found MSB numbers' do
428-
msb = subject.find_msb_numbers(ie10)
428+
msb = technet_msb_search.find_msb_numbers(ie10)
429429
expect(msb).to be_kind_of(Array)
430430
expect(msb.first).to eq('ms15-100')
431431
end
432432
end
433433

434434
describe '#search' do
435435
it 'returns search results in JSON format' do
436-
results = subject.search(ie10)
436+
results = technet_msb_search.search(ie10)
437437
expect(results).to be_kind_of(Hash)
438438
expect(results['b'].first['Id']).to eq('MS15-100')
439439
end
440440
end
441441

442442
describe '#search_by_product_ids' do
443443
it 'returns an array of found MSB numbers' do
444-
results = subject.search_by_product_ids([ie10_id])
444+
results = technet_msb_search.search_by_product_ids([ie10_id])
445445
expect(results).to be_kind_of(Array)
446446
expect(results.first).to eq('ms15-100')
447447
end
448448
end
449449

450450
describe '#search_by_keyword' do
451451
it 'returns an array of found MSB numbers' do
452-
results = subject.search_by_keyword('ms15-100')
452+
results = technet_msb_search.search_by_keyword('ms15-100')
453453
expect(results).to be_kind_of(Array)
454454
expect(results.first).to eq('ms15-100')
455455
end
456456
end
457457

458458
describe '#get_product_dropdown_list' do
459459
it 'returns an array of products' do
460-
results = subject.get_product_dropdown_list
460+
results = technet_msb_search.get_product_dropdown_list
461461
expect(results).to be_kind_of(Array)
462462
expect(results.first).to be_kind_of(Hash)
463463
expected_hash = {:option_value=>"10175", :option_text=>"Active Directory"}
@@ -469,7 +469,7 @@ def get_stderr(&block)
469469

470470
describe MicrosoftPatchFinder::GoogleMsbSearch do
471471

472-
subject do
472+
subject(:google_msb_search) do
473473
MicrosoftPatchFinder::GoogleMsbSearch.new
474474
end
475475

@@ -571,15 +571,15 @@ def get_stderr(&block)
571571

572572
describe '#find_msb_numbers' do
573573
it 'returns an array of msb numbers' do
574-
results = subject.find_msb_numbers(expected_msb)
574+
results = google_msb_search.find_msb_numbers(expected_msb)
575575
expect(results).to be_kind_of(Array)
576576
expect(results).to eq([expected_msb])
577577
end
578578
end
579579

580580
describe '#search' do
581581
it 'returns a hash (json data)' do
582-
results = subject.search(starting_index: 1)
582+
results = google_msb_search.search(starting_index: 1)
583583
expect(results).to be_kind_of(Hash)
584584
end
585585
end
@@ -589,21 +589,21 @@ def get_stderr(&block)
589589
res = Rex::Proto::Http::Response.new
590590
allow(res).to receive(:body).and_return(json_data)
591591

592-
results = subject.parse_results(res)
592+
results = google_msb_search.parse_results(res)
593593
expect(results).to be_kind_of(Hash)
594594
end
595595
end
596596

597597
describe '#get_total_results' do
598598
it 'returns a fixnum' do
599-
total = subject.get_total_results(JSON.parse(json_data))
599+
total = google_msb_search.get_total_results(JSON.parse(json_data))
600600
expect(total).to be_kind_of(Fixnum)
601601
end
602602
end
603603

604604
describe '#get_next_index' do
605605
it 'returns a fixnum' do
606-
i = subject.get_next_index(JSON.parse(json_data))
606+
i = google_msb_search.get_next_index(JSON.parse(json_data))
607607
expect(i).to be_kind_of(Fixnum)
608608
end
609609
end
@@ -633,13 +633,13 @@ def get_stderr(&block)
633633
allow_any_instance_of(MicrosoftPatchFinder::PatchLinkCollector).to receive(:print_error)
634634
end
635635

636-
subject do
636+
subject(:driver) do
637637
MicrosoftPatchFinder::Driver.new
638638
end
639639

640640
describe '#get_download_links' do
641641
it 'returns an array of links' do
642-
results = subject.get_download_links(msb)
642+
results = driver.get_download_links(msb)
643643
expect(results).to be_kind_of(Array)
644644
expect(results.first).to eq(expected_link)
645645
end

0 commit comments

Comments
 (0)