HELLO v3!!!

This commit is contained in:
Ryan Dewhurst
2018-09-26 21:12:01 +02:00
parent 28b9c15256
commit d268a86795
1871 changed files with 988118 additions and 0 deletions

View File

@@ -0,0 +1,78 @@
require 'spec_helper'
describe WPScan::Finders::DynamicFinder::Version::HeaderPattern do
module WPScan
module Finders
module Version
# Needed to be able to test the below
module Rspec
end
end
end
end
let(:finder_module) { WPScan::Finders::Version::Rspec }
let(:finder_class) { WPScan::Finders::Version::Rspec::HeaderPattern }
let(:finder_config) { { 'header' => 'Location' } }
let(:default) { { 'confidence' => 60 } }
before { described_class.create_child_class(finder_module, :HeaderPattern, finder_config) }
after { finder_module.send(:remove_const, :HeaderPattern) }
describe '.create_child_class' do
context 'when no PATH and CONFIDENCE' do
it 'contains the expected constants to their default values' do
# Doesn't work, dunno why
# expect(finder_module.const_get(:HeaderPattern)).to be_a described_class
# expect(finder_class.is_a?(described_class)).to eql true
# expect(finder_class).to be_a described_class
expect(finder_class::HEADER).to eql finder_config['header']
expect(finder_class::PATTERN).to eql nil
expect(finder_class::CONFIDENCE).to eql default['confidence']
expect(finder_class::PATH).to eql nil
end
end
context 'when CONFIDENCE' do
let(:finder_config) { super().merge('confidence' => 50) }
it 'contains the expected constants' do
expect(finder_class::HEADER).to eql finder_config['header']
expect(finder_class::CONFIDENCE).to eql finder_config['confidence']
expect(finder_class::PATTERN).to eql nil
expect(finder_class::PATH).to eql nil
end
end
context 'when PATH' do
let(:finder_config) { super().merge('path' => 'index.php') }
it 'contains the expected constants' do
expect(finder_class::HEADER).to eql finder_config['header']
expect(finder_class::PATH).to eql finder_config['path']
expect(finder_class::PATTERN).to eql nil
expect(finder_class::CONFIDENCE).to eql default['confidence']
end
end
context 'when PATTERN' do
let(:finder_config) { super().merge('pattern' => /Version: (?<v>[\d\.]+)/i) }
it 'contains the expected constants' do
expect(finder_class::HEADER).to eql finder_config['header']
expect(finder_class::PATTERN).to eql finder_config['pattern']
expect(finder_class::PATH).to eql nil
expect(finder_class::CONFIDENCE).to eql default['confidence']
end
end
end
describe '#passive, #aggressive' do
# Handled in spec/lib/finders/dynamic_finder/plugin_version_spec
end
end