custom plugins directory
This commit is contained in:
@@ -44,27 +44,27 @@ shared_examples_for "WpPlugins" do
|
||||
File.exist?(@plugin_vulns_file).should == true
|
||||
File.exist?(@plugins_file).should == true
|
||||
@targets = [WpPlugin.new({:url => "http://example.localhost/",
|
||||
:path => "plugins/exclude-pages/exclude_pages.php",
|
||||
:path => "exclude-pages/exclude_pages.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "exclude-pages"}),
|
||||
WpPlugin.new({:url => "http://example.localhost/",
|
||||
:path => "plugins/display-widgets/display-widgets.php",
|
||||
:path => "display-widgets/display-widgets.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "display-widgets"}),
|
||||
WpPlugin.new({:url => "http://example.localhost/",
|
||||
:path => "plugins/media-library",
|
||||
:path => "media-library",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "media-library"}),
|
||||
WpPlugin.new({:url => "http://example.localhost/",
|
||||
:path => "plugins/deans",
|
||||
:path => "deans",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "deans"}),
|
||||
WpPlugin.new({:url => "http://example.localhost/",
|
||||
:path => "plugins/formidable/formidable.php",
|
||||
:path => "formidable/formidable.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "formidable"}),
|
||||
WpPlugin.new({:url => "http://example.localhost/",
|
||||
:path => "plugins/regenerate-thumbnails/readme.txt",
|
||||
:path => "regenerate-thumbnails/readme.txt",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "regenerate-thumbnails"})]
|
||||
end
|
||||
|
||||
@@ -44,55 +44,55 @@ shared_examples_for "WpThemes" do
|
||||
File.exist?(@theme_vulns_file).should == true
|
||||
File.exist?(@themes_file).should == true
|
||||
@targets = [WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zenpro/404.php",
|
||||
:path => "zenpro/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zenpro"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zeta-zip/404.php",
|
||||
:path => "zeta-zip/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zeta-zip"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zfirst/404.php",
|
||||
:path => "zfirst/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zfirst"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zgrey/404.php",
|
||||
:path => "zgrey/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zgrey"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zindi-ii/404.php",
|
||||
:path => "zindi-ii/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zindi-ii"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zindi/404.php",
|
||||
:path => "zindi/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zindi"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zombie-apocalypse/404.php",
|
||||
:path => "zombie-apocalypse/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zombie-apocalypse"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zsofa/404.php",
|
||||
:path => "zsofa/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zsofa"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/zwei-seiten/404.php",
|
||||
:path => "zwei-seiten/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "zwei-seiten"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/twentyten/404.php",
|
||||
:path => "twentyten/404.php",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "twentyten"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/shopperpress",
|
||||
:path => "shopperpress",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "shopperpress"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/wise",
|
||||
:path => "wise",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "wise"}),
|
||||
WpTheme.new({:url => "http://example.localhost/",
|
||||
:path => "themes/webfolio",
|
||||
:path => "webfolio",
|
||||
:wp_content_dir => "wp-content",
|
||||
:name => "webfolio"})]
|
||||
end
|
||||
|
||||
@@ -28,6 +28,8 @@ shared_examples_for "WpTimthumbs" do
|
||||
@options[:error_404_hash] = "xx"
|
||||
@options[:show_progress_bar] = false
|
||||
@options[:only_vulnerable_ones] = false
|
||||
@options[:vulns_file] = "xx"
|
||||
@options[:type] = "timthumbs"
|
||||
@module = WpScanModuleSpec.new(@url)
|
||||
@fixtures_dir = SPEC_FIXTURES_WPSCAN_MODULES_DIR + "/wp_timthumbs"
|
||||
@timthumbs_file = @fixtures_dir + "/timthumbs.txt"
|
||||
@@ -58,8 +60,7 @@ shared_examples_for "WpTimthumbs" do
|
||||
targets.length.should > 0
|
||||
temp = []
|
||||
targets.each do |t|
|
||||
url = "#{t[:url]}#{t[:wp_content_dir]}/#{t[:path]}"
|
||||
temp << url
|
||||
temp << t.get_url.to_s
|
||||
end
|
||||
temp.sort.should === @targets_from_theme.sort
|
||||
end
|
||||
@@ -68,8 +69,6 @@ shared_examples_for "WpTimthumbs" do
|
||||
describe "#timthumbs and #has_timthumbs?" do
|
||||
before :each do
|
||||
@options[:file] = @timthumbs_file
|
||||
@options[:vulns_file] = "xxx"
|
||||
@options[:type] = "timthumbs"
|
||||
@targets_from_file.each do |url|
|
||||
stub_request(:get, url).to_return(:status => 404)
|
||||
end
|
||||
@@ -92,7 +91,7 @@ shared_examples_for "WpTimthumbs" do
|
||||
urls = []
|
||||
urls_hash = WpEnumerator.generate_items(@options)
|
||||
urls_hash.each do |u|
|
||||
url = "#{u[:url]}#{u[:wp_content_dir]}/#{u[:path]}"
|
||||
url = u.get_url.to_s
|
||||
urls << url
|
||||
stub_request(:get, url).to_return(:status => 404)
|
||||
end
|
||||
@@ -107,8 +106,7 @@ shared_examples_for "WpTimthumbs" do
|
||||
|
||||
temp = []
|
||||
timthumbs.each do |t|
|
||||
url = "#{t[:url]}#{t[:wp_content_dir]}/#{t[:path]}"
|
||||
temp << url
|
||||
temp << t.get_url.to_s
|
||||
end
|
||||
temp.sort.should === expected.sort
|
||||
@module.has_timthumbs?(nil).should be_true
|
||||
|
||||
@@ -21,10 +21,11 @@ require File.expand_path(File.dirname(__FILE__) + '/wpscan_helper')
|
||||
describe WpPlugin do
|
||||
before :each do
|
||||
@instance = WpItem.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "plugins/test/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:path => "test/asdf.php",
|
||||
:vulns_file => "XXX.xml",
|
||||
:name => "test",
|
||||
:vulns_xpath => "XX"
|
||||
:vulns_xpath => "XX",
|
||||
:type => "plugins"
|
||||
)
|
||||
end
|
||||
|
||||
@@ -32,7 +33,7 @@ describe WpPlugin do
|
||||
it "should create a correct instance" do
|
||||
@instance.wp_content_dir.should == "wp-content"
|
||||
@instance.url.should == "http://sub.example.com/path/to/wordpress/"
|
||||
@instance.path.should == "plugins/test/asdf.php"
|
||||
@instance.path.should == "test/asdf.php"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -43,13 +44,15 @@ describe WpPlugin do
|
||||
|
||||
it "should return the correct url (custom wp_content_dir)" do
|
||||
@instance.wp_content_dir = "custom"
|
||||
@instance.type = "plugins"
|
||||
@instance.get_url.to_s.should == "http://sub.example.com/path/to/wordpress/custom/plugins/test/asdf.php"
|
||||
end
|
||||
|
||||
it "should trim / and add missing / before concatenating url" do
|
||||
@instance.wp_content_dir = "/custom/"
|
||||
@instance.url = "http://sub.example.com/path/to/wordpress"
|
||||
@instance.path = "plugins/test/asdf.php"
|
||||
@instance.path = "test/asdf.php"
|
||||
@instance.type = "plugins"
|
||||
@instance.get_url.to_s.should == "http://sub.example.com/path/to/wordpress/custom/plugins/test/asdf.php"
|
||||
end
|
||||
end
|
||||
@@ -67,12 +70,14 @@ describe WpPlugin do
|
||||
it "should trim / and add missing / before concatenating url" do
|
||||
@instance.wp_content_dir = "/custom/"
|
||||
@instance.url = "http://sub.example.com/path/to/wordpress"
|
||||
@instance.path = "plugins/test/asdf.php"
|
||||
@instance.path = "test/asdf.php"
|
||||
@instance.type = "plugins"
|
||||
@instance.get_url_without_filename.to_s.should == "http://sub.example.com/path/to/wordpress/custom/plugins/test/"
|
||||
end
|
||||
|
||||
it "should not remove the last foldername" do
|
||||
@instance.path = "plugins/test/"
|
||||
@instance.path = "test/"
|
||||
@instance.type = "plugins"
|
||||
@instance.get_url_without_filename.to_s.should == "http://sub.example.com/path/to/wordpress/wp-content/plugins/test/"
|
||||
end
|
||||
|
||||
@@ -82,7 +87,8 @@ describe WpPlugin do
|
||||
end
|
||||
|
||||
it "should add the last slash if it's not present" do
|
||||
@instance.path = "plugins/test-one"
|
||||
@instance.path = "test-one"
|
||||
@instance.type = "plugins"
|
||||
@instance.get_url_without_filename.to_s.should == "http://sub.example.com/path/to/wordpress/wp-content/plugins/test-one/"
|
||||
end
|
||||
end
|
||||
@@ -145,17 +151,20 @@ describe WpPlugin do
|
||||
it "should extract the correct name" do
|
||||
@instance.wp_content_dir = "/custom/"
|
||||
@instance.url = "http://sub.example.com/path/to/wordpress"
|
||||
@instance.path = "plugins/test2/asdf.php"
|
||||
@instance.path = "test2/asdf.php"
|
||||
@instance.type = "plugins"
|
||||
@instance.extract_name_from_url.should == "test2"
|
||||
end
|
||||
|
||||
it "should extract the correct plugin name" do
|
||||
@instance.path = "plugins/testplugin/"
|
||||
@instance.path = "testplugin/"
|
||||
@instance.type = "plugins"
|
||||
@instance.extract_name_from_url.should == "testplugin"
|
||||
end
|
||||
|
||||
it "should extract the correct theme name" do
|
||||
@instance.path = "themes/testtheme/"
|
||||
@instance.path = "testtheme/"
|
||||
@instance.type = "plugins"
|
||||
@instance.extract_name_from_url.should == "testtheme"
|
||||
end
|
||||
end
|
||||
@@ -175,8 +184,9 @@ describe WpPlugin do
|
||||
describe "#==" do
|
||||
it "should return false" do
|
||||
instance2 = WpItem.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "plugins/newname/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:path => "newname/asdf.php",
|
||||
:type => "plugins",
|
||||
:vulns_file => "XXX.xml",
|
||||
:vulns_xpath => "XX"
|
||||
)
|
||||
(@instance==instance2).should == false
|
||||
@@ -184,14 +194,82 @@ describe WpPlugin do
|
||||
|
||||
it "should return true" do
|
||||
instance2 = WpItem.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "plugins/test/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:path => "test/asdf.php",
|
||||
:type => "plugins",
|
||||
:vulns_file => "XXX.xml",
|
||||
:vulns_xpath => "XX"
|
||||
)
|
||||
(@instance==instance2).should == true
|
||||
end
|
||||
end
|
||||
|
||||
describe "#get_sub_folder" do
|
||||
it "should return plugins" do
|
||||
item = WpItem.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "test/asdf.php",
|
||||
:vulns_file => "XXX.xml",
|
||||
:wp_content_dir => "wp-content",
|
||||
:wp_plugins_dir => "plugins",
|
||||
:name => "test",
|
||||
:vulns_xpath => "XX",
|
||||
:type => "plugins"
|
||||
)
|
||||
item.get_sub_folder.should == "plugins"
|
||||
end
|
||||
|
||||
it "should return custom-plugins" do
|
||||
item = WpItem.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "test/asdf.php",
|
||||
:vulns_file => "XXX.xml",
|
||||
:wp_content_dir => "wp-content",
|
||||
:wp_plugins_dir => "custom-plugins",
|
||||
:name => "test",
|
||||
:vulns_xpath => "XX",
|
||||
:type => "plugins"
|
||||
)
|
||||
item.get_sub_folder.should == "custom-plugins"
|
||||
end
|
||||
|
||||
it "should return themes" do
|
||||
item = WpItem.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "test/asdf.php",
|
||||
:vulns_file => "XXX.xml",
|
||||
:wp_content_dir => "wp-content",
|
||||
:wp_plugins_dir => "plugins",
|
||||
:name => "test",
|
||||
:vulns_xpath => "XX",
|
||||
:type => "themes"
|
||||
)
|
||||
item.get_sub_folder.should == "themes"
|
||||
end
|
||||
|
||||
it "should return nil" do
|
||||
item = WpItem.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "test/asdf.php",
|
||||
:vulns_file => "XXX.xml",
|
||||
:wp_content_dir => "wp-content",
|
||||
:wp_plugins_dir => "plugins",
|
||||
:name => "test",
|
||||
:vulns_xpath => "XX",
|
||||
:type => "timthumbs"
|
||||
)
|
||||
item.get_sub_folder.should == nil
|
||||
end
|
||||
|
||||
it "should raise an exception" do
|
||||
item = WpItem.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "test/asdf.php",
|
||||
:vulns_file => "XXX.xml",
|
||||
:wp_content_dir => "wp-content",
|
||||
:wp_plugins_dir => "plugins",
|
||||
:name => "test",
|
||||
:vulns_xpath => "XX",
|
||||
:type => "type"
|
||||
)
|
||||
expect { item.get_sub_folder }.to raise_error(RuntimeError, "unknown type type")
|
||||
end
|
||||
end
|
||||
|
||||
describe "#readme_url" do
|
||||
it "should return the corrent plugin readme url" do
|
||||
@instance.readme_url.to_s.should == "http://sub.example.com/path/to/wordpress/wp-content/plugins/test/readme.txt"
|
||||
@@ -199,17 +277,20 @@ describe WpPlugin do
|
||||
|
||||
it "should return the corrent plugin readme url (custom wp_content)" do
|
||||
@instance.wp_content_dir = "custom"
|
||||
@instance.type = "plugins"
|
||||
@instance.readme_url.to_s.should == "http://sub.example.com/path/to/wordpress/custom/plugins/test/readme.txt"
|
||||
end
|
||||
|
||||
it "should return the corrent theme readme url" do
|
||||
@instance.path = "themes/test/asdf.php"
|
||||
@instance.path = "test/asdf.php"
|
||||
@instance.type = "themes"
|
||||
@instance.readme_url.to_s.should == "http://sub.example.com/path/to/wordpress/wp-content/themes/test/readme.txt"
|
||||
end
|
||||
|
||||
it "should return the corrent theme readme url (custom wp_content)" do
|
||||
@instance.wp_content_dir = "custom"
|
||||
@instance.path = "themes/test/asdf.php"
|
||||
@instance.path = "test/asdf.php"
|
||||
@instance.type = "themes"
|
||||
@instance.readme_url.to_s.should == "http://sub.example.com/path/to/wordpress/custom/themes/test/readme.txt"
|
||||
end
|
||||
end
|
||||
@@ -221,17 +302,20 @@ describe WpPlugin do
|
||||
|
||||
it "should return the corrent plugin changelog url (custom wp_content)" do
|
||||
@instance.wp_content_dir = "custom"
|
||||
@instance.type = "plugins"
|
||||
@instance.changelog_url.to_s.should == "http://sub.example.com/path/to/wordpress/custom/plugins/test/changelog.txt"
|
||||
end
|
||||
|
||||
it "should return the corrent theme changelog url" do
|
||||
@instance.path = "themes/test/asdf.php"
|
||||
@instance.path = "test/asdf.php"
|
||||
@instance.type = "themes"
|
||||
@instance.changelog_url.to_s.should == "http://sub.example.com/path/to/wordpress/wp-content/themes/test/changelog.txt"
|
||||
end
|
||||
|
||||
it "should return the corrent theme changelog url (custom wp_content)" do
|
||||
@instance.wp_content_dir = "custom"
|
||||
@instance.path = "themes/test/asdf.php"
|
||||
@instance.path = "test/asdf.php"
|
||||
@instance.type = "themes"
|
||||
@instance.changelog_url.to_s.should == "http://sub.example.com/path/to/wordpress/custom/themes/test/changelog.txt"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -44,7 +44,7 @@ describe WpPlugin do
|
||||
describe "#error_log_url" do
|
||||
it "should return a correct url" do
|
||||
temp = WpPlugin.new(:url => "http://wordpress.com",
|
||||
:path => "plugins/test/asdf.php")
|
||||
:path => "test/asdf.php")
|
||||
temp.error_log_url.to_s.should == "http://wordpress.com/wp-content/plugins/test/error_log"
|
||||
end
|
||||
end
|
||||
@@ -52,7 +52,7 @@ describe WpPlugin do
|
||||
describe "#error_log?" do
|
||||
before :each do
|
||||
@temp = WpPlugin.new(:url => "http://wordpress.com",
|
||||
:path => "plugins/test/asdf.php")
|
||||
:path => "test/asdf.php")
|
||||
end
|
||||
|
||||
it "should return true" do
|
||||
|
||||
@@ -24,9 +24,10 @@ describe WpTarget do
|
||||
Browser.reset
|
||||
@options =
|
||||
{
|
||||
:config_file => SPEC_FIXTURES_CONF_DIR + '/browser/browser.conf.json',
|
||||
:cache_timeout => 0,
|
||||
:wp_plugins_dir => "wp-content/plugins"
|
||||
:config_file => SPEC_FIXTURES_CONF_DIR + '/browser/browser.conf.json',
|
||||
:cache_timeout => 0,
|
||||
:wp_content_dir => "wp-content",
|
||||
:wp_plugins_dir => "plugins"
|
||||
}
|
||||
@wp_target = WpTarget.new("http://example.localhost/", @options)
|
||||
end
|
||||
@@ -162,9 +163,9 @@ describe WpTarget do
|
||||
@expected = "custom-plugins"
|
||||
end
|
||||
|
||||
it "should return 'wp-content/plugins'" do
|
||||
it "should return 'plugins'" do
|
||||
@stub_value = "wp-content"
|
||||
@expected = "wp-content/plugins"
|
||||
@expected = "plugins"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -181,12 +181,12 @@ describe WpTheme do
|
||||
it "should return false (name not equal)" do
|
||||
instance = WpTheme.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "themes/name/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:vulns_file => "XXX.xml",
|
||||
:version => "1.0"
|
||||
)
|
||||
instance2 = WpTheme.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "themes/newname/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:vulns_file => "XXX.xml",
|
||||
:version => "1.0"
|
||||
)
|
||||
(instance===instance2).should == false
|
||||
@@ -195,12 +195,12 @@ describe WpTheme do
|
||||
it "should return false (version not equal)" do
|
||||
instance = WpTheme.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "themes/name/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:vulns_file => "XXX.xml",
|
||||
:version => "1.0"
|
||||
)
|
||||
instance2 = WpTheme.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "themes/name/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:vulns_file => "XXX.xml",
|
||||
:version => "2.0"
|
||||
)
|
||||
(instance===instance2).should == false
|
||||
@@ -209,12 +209,12 @@ describe WpTheme do
|
||||
it "should return false (version and name not equal)" do
|
||||
instance = WpTheme.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "themes/name/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:vulns_file => "XXX.xml",
|
||||
:version => "1.0"
|
||||
)
|
||||
instance2 = WpTheme.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "themes/newname/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:vulns_file => "XXX.xml",
|
||||
:version => "2.0"
|
||||
)
|
||||
(instance===instance2).should == false
|
||||
@@ -223,12 +223,12 @@ describe WpTheme do
|
||||
it "should return true" do
|
||||
instance = WpTheme.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "themes/test/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:vulns_file => "XXX.xml",
|
||||
:version => "1.0"
|
||||
)
|
||||
instance2 = WpTheme.new(:url => "http://sub.example.com/path/to/wordpress/",
|
||||
:path => "themes/test/asdf.php",
|
||||
:vulns_xml => "XXX.xml",
|
||||
:vulns_file => "XXX.xml",
|
||||
:version => "1.0"
|
||||
)
|
||||
(instance===instance2).should == true
|
||||
|
||||
@@ -154,7 +154,7 @@ describe WpVersion do
|
||||
|
||||
describe "#initialize" do
|
||||
it "should initialize a WpVersion object" do
|
||||
v = WpVersion.new(1, {:discovery_method => "method", :vulns_xml => "asdf.xml"})
|
||||
v = WpVersion.new(1, {:discovery_method => "method", :vulns_file => "asdf.xml"})
|
||||
v.number.should == 1
|
||||
v.discovery_method.should == "method"
|
||||
end
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
describe "#vulnerabilities" do
|
||||
let(:location_url) { "http://example.localhost/" }
|
||||
let(:fixtures_dir) { SPEC_FIXTURES_WPSCAN_WP_PLUGIN_DIR + "/vulnerabilities" }
|
||||
let(:vulns_xml) { fixtures_dir + "/plugin_vulns.xml" }
|
||||
let(:vulns_file) { fixtures_dir + "/plugin_vulns.xml" }
|
||||
let(:wp_plugin) { WpPlugin.new(:url => location_url,
|
||||
:name => "spec-plugin",
|
||||
:path => "plugins/spec-plugin/",
|
||||
:vulns_xml => vulns_xml)
|
||||
:vulns_file => vulns_file)
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ describe "#vulnerabilities" do
|
||||
WpPlugin.new(:url => "http://example.localhost/",
|
||||
:name => "no-vulns",
|
||||
:path => "plugins/no-vulns/",
|
||||
:vulns_xml => vulns_xml).vulnerabilities.should be_empty
|
||||
:vulns_file => vulns_file).vulnerabilities.should be_empty
|
||||
end
|
||||
|
||||
it "should return an arry with 2 vulnerabilities" do
|
||||
|
||||
Reference in New Issue
Block a user