diff --git a/lib/common/browser.rb b/lib/common/browser.rb index 6adb4cf2..4d8ab167 100644 --- a/lib/common/browser.rb +++ b/lib/common/browser.rb @@ -92,7 +92,13 @@ class Browser data = JSON.parse(File.read(config_file)) end - override_config(data) + OPTIONS.each do |option| + option_name = option.to_s + unless data[option_name].nil? + self.send(:"#{option_name}=", data[option_name]) + end + end + end # @param [ String ] url diff --git a/spec/lib/common/browser_spec.rb b/spec/lib/common/browser_spec.rb index 20730060..d932d034 100644 --- a/spec/lib/common/browser_spec.rb +++ b/spec/lib/common/browser_spec.rb @@ -16,14 +16,13 @@ describe Browser do } let(:options) { {} } let(:instance_vars_to_check) { - ['user-agent', 'random-agent', 'proxy', - 'max_threads', 'cache_ttl', 'request_timeout', 'connect_timeout'] + ['proxy', 'max_threads', 'cache_ttl', 'request_timeout', 'connect_timeout'] } let(:json_config_without_proxy) { JSON.parse(File.read(CONFIG_FILE_WITHOUT_PROXY)) } let(:json_config_with_proxy) { JSON.parse(File.read(CONFIG_FILE_WITH_PROXY)) } def check_instance_variables(browser, json_expected_vars) - json_expected_vars['max_threads'] ||= 1 # max_thread can not be nil + json_expected_vars['max_threads'] ||= 20 # max_thread can not be nil instance_vars_to_check.each do |variable_name| browser.send(:"#{variable_name}").should === json_expected_vars[variable_name] @@ -39,12 +38,6 @@ describe Browser do describe '::instance' do after { check_instance_variables(browser, @json_expected_vars) } - context "when default config_file = #{CONFIG_FILE_WITHOUT_PROXY}" do - it 'will check the instance vars' do - @json_expected_vars = json_config_without_proxy - end - end - context "when :config_file = #{CONFIG_FILE_WITH_PROXY}" do let(:options) { { config_file: CONFIG_FILE_WITH_PROXY } } diff --git a/spec/lib/wpscan/web_site_spec.rb b/spec/lib/wpscan/web_site_spec.rb index 1d563ea4..c69c245f 100644 --- a/spec/lib/wpscan/web_site_spec.rb +++ b/spec/lib/wpscan/web_site_spec.rb @@ -12,7 +12,7 @@ describe 'WebSite' do before :all do Browser::reset Browser.instance( - config_file: SPEC_FIXTURES_CONF_DIR + '/browser/browser.conf.json', + config_file: SPEC_FIXTURES_CONF_DIR + '/browser.conf.json', cache_ttl: 0 ) end diff --git a/spec/lib/wpscan/wp_target_spec.rb b/spec/lib/wpscan/wp_target_spec.rb index de663d81..57d9db87 100644 --- a/spec/lib/wpscan/wp_target_spec.rb +++ b/spec/lib/wpscan/wp_target_spec.rb @@ -9,7 +9,7 @@ describe WpTarget do let(:login_url) { wp_target.uri.merge('wp-login.php').to_s } let(:options) { { - config_file: SPEC_FIXTURES_CONF_DIR + '/browser/browser.conf.json', + config_file: SPEC_FIXTURES_CONF_DIR + '/browser.conf.json', cache_ttl: 0, wp_content_dir: 'wp-content', wp_plugins_dir: 'wp-content/plugins' diff --git a/spec/samples/conf/browser.conf.json b/spec/samples/conf/browser.conf.json index 1c98ea30..5b691431 100644 --- a/spec/samples/conf/browser.conf.json +++ b/spec/samples/conf/browser.conf.json @@ -1,8 +1,7 @@ { "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0) Gecko/20100101 Firefox/9.0", - "user_agent_mode": "static", - "cache_ttl": 300, + "cache_ttl": 600, "request_timeout": 2000, "connect_timeout": 1000, - "max_threads": 5 + "max_threads": 20 } diff --git a/spec/samples/conf/browser.conf_proxy.json b/spec/samples/conf/browser.conf_proxy.json index edcf137f..dfbe4898 100644 --- a/spec/samples/conf/browser.conf_proxy.json +++ b/spec/samples/conf/browser.conf_proxy.json @@ -1,6 +1,5 @@ { "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0) Gecko/20100101 Firefox/11.0", - "user_agent_mode": "static", "proxy": "127.0.0.1:3038", "cache_ttl": 300, "request_timeout": 2000, diff --git a/spec/samples/conf/browser.conf_proxy_auth.json b/spec/samples/conf/browser.conf_proxy_auth.json index 92324b49..9282e256 100644 --- a/spec/samples/conf/browser.conf_proxy_auth.json +++ b/spec/samples/conf/browser.conf_proxy_auth.json @@ -1,6 +1,5 @@ { "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:10.0) Gecko/20100101 Firefox/11.0", - "user_agent_mode": "static", "proxy": "127.0.0.1:3038", "proxy_auth": "user:pass", "cache_ttl": 300, diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 664e0fb6..0d9398ec 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -15,7 +15,7 @@ SPEC_FIXTURES_CONF_DIR = SPEC_FIXTURES_DIR + '/conf' # FIXME Remove it SPEC_FIXTURES_WP_VERSIONS_DIR = SPEC_FIXTURES_DIR + '/wp_versions' redefine_constant(:CACHE_DIR, SPEC_DIR + '/cache') -redefine_constant(:CONF_DIR, SPEC_FIXTURES_DIR + '/conf/browser') # FIXME Remove the /browser +redefine_constant(:CONF_DIR, SPEC_FIXTURES_DIR + '/conf') MODELS_FIXTURES = SPEC_FIXTURES_DIR + '/common/models' COLLECTIONS_FIXTURES = SPEC_FIXTURES_DIR + '/common/collections'