Path: blob/master/spec/lib/finders/dynamic_finder/version/config_parser_spec.rb
1469 views
# frozen_string_literal: true12describe WPScan::Finders::DynamicFinder::Version::ConfigParser do3module WPScan4module Finders5module Version6# Needed to be able to test the below7module Rspec8end9end10end11end1213let(:finder_module) { WPScan::Finders::Version::Rspec }14let(:finder_class) { WPScan::Finders::Version::Rspec::ConfigParser }15let(:finder_config) { { 'key' => 'some-key', 'path' => 'file.json' } }16let(:default) { { 'pattern' => /(?<v>\d+\.[.\d]+)/, 'confidence' => 70 } }1718before { described_class.create_child_class(finder_module, :ConfigParser, finder_config) }19after { finder_module.send(:remove_const, :ConfigParser) }2021describe '.create_child_class' do22context 'when CONFIDENCE' do23let(:finder_config) { super().merge('confidence' => 30) }2425it 'contains the expected constants' do26expect(finder_class::KEY).to eql finder_config['key']27expect(finder_class::CONFIDENCE).to eql finder_config['confidence']28expect(finder_class::PATH).to eql finder_config['path']2930expect(finder_class::PATTERN).to eql default['pattern']31end32end3334context 'when PATTERN' do35let(:finder_config) { super().merge('pattern' => /another pattern/i) }3637it 'contains the expected constants' do38expect(finder_class::KEY).to eql finder_config['key']39expect(finder_class::PATTERN).to eql finder_config['pattern']40expect(finder_class::PATH).to eql finder_config['path']4142expect(finder_class::CONFIDENCE).to eql default['confidence']43end44end45end4647describe '#passive, #aggressive' do48# Handled in spec/lib/finders/dynamic_finder/plugin_version_spec49end50end515253