Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wpscanteam
GitHub Repository: wpscanteam/wpscan
Path: blob/master/spec/lib/finders/dynamic_finder/version/body_pattern_spec.rb
1469 views
1
# frozen_string_literal: true
2
3
describe WPScan::Finders::DynamicFinder::Version::BodyPattern do
4
module WPScan
5
module Finders
6
module Version
7
# Needed to be able to test the below
8
module Rspec
9
end
10
end
11
end
12
end
13
14
let(:finder_module) { WPScan::Finders::Version::Rspec }
15
let(:finder_class) { WPScan::Finders::Version::Rspec::BodyPattern }
16
let(:finder_config) { { 'pattern' => /aaa/i } }
17
let(:default) { { 'confidence' => 60 } }
18
19
before { described_class.create_child_class(finder_module, :BodyPattern, finder_config) }
20
after { finder_module.send(:remove_const, :BodyPattern) }
21
22
describe '.create_child_class' do
23
context 'when no PATH and CONFIDENCE' do
24
it 'contains the expected constants to their default values' do
25
# Doesn't work, dunno why
26
# expect(finder_module.const_get(:BodyPattern)).to be_a described_class
27
# expect(finder_class.is_a?(described_class)).to eql true
28
# expect(finder_class).to be_a described_class
29
30
expect(finder_class::PATTERN).to eql finder_config['pattern']
31
expect(finder_class::CONFIDENCE).to eql default['confidence']
32
expect(finder_class::PATH).to eql nil
33
end
34
end
35
36
context 'when CONFIDENCE' do
37
let(:finder_config) { super().merge('confidence' => 50) }
38
39
it 'contains the expected constants' do
40
expect(finder_class::PATTERN).to eql finder_config['pattern']
41
expect(finder_class::CONFIDENCE).to eql finder_config['confidence']
42
43
expect(finder_class::PATH).to eql nil
44
end
45
end
46
47
context 'when PATH' do
48
let(:finder_config) { super().merge('path' => 'changelog.txt') }
49
50
it 'contains the expected constants' do
51
expect(finder_class::PATTERN).to eql finder_config['pattern']
52
expect(finder_class::PATH).to eql finder_config['path']
53
54
expect(finder_class::CONFIDENCE).to eql default['confidence']
55
end
56
end
57
end
58
59
describe '#passive, #aggressive' do
60
# Handled in spec/lib/finders/dynamic_finder/plugin_version_spec
61
end
62
end
63
64