Vulnerability specs
This commit is contained in:
42
spec/lib/common/models/vulnerability_spec.rb
Normal file
42
spec/lib/common/models/vulnerability_spec.rb
Normal file
@@ -0,0 +1,42 @@
|
||||
# encoding: UTF-8
|
||||
|
||||
require 'spec_helper'
|
||||
|
||||
describe Vulnerability do
|
||||
|
||||
describe '#new' do
|
||||
subject(:vulnerability) { Vulnerability.new(title, type, references, modules) }
|
||||
let(:title) { 'A vulnerability title' }
|
||||
let(:type) { 'XSS' }
|
||||
let(:references) { %w{http://ref1.com http://ref2.com} }
|
||||
|
||||
context 'w/o metasploit modules argument' do
|
||||
subject(:vulnerability) { Vulnerability.new(title, type, references) }
|
||||
|
||||
its(:title) { should be title }
|
||||
its(:references) { should be references }
|
||||
its(:type) { should be type }
|
||||
its(:metasploit_modules) { should be_empty }
|
||||
end
|
||||
|
||||
context 'with metasploit modules argument' do
|
||||
let(:modules) { %w{exploit/some_exploit exploit/unix/anotherone } }
|
||||
|
||||
its(:metasploit_modules) { should be modules }
|
||||
end
|
||||
end
|
||||
|
||||
describe '::load_from_xml_node' do
|
||||
subject(:vulnerability) { Vulnerability.load_from_xml_node(node) }
|
||||
let(:node) {
|
||||
xml(MODELS_FIXTURES + '/vulnerability/load_from_xml_node.xml').
|
||||
xpath('//vulnerability')
|
||||
}
|
||||
|
||||
its(:title) { should == 'Vuln Title' }
|
||||
its(:type) { should == 'CSRF' }
|
||||
its(:references) { should == ['Ref 1', 'Ref 2'] }
|
||||
its(:metasploit_modules) { should == %w{exploit/ex1} }
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user