Add rspec for browser_profile_manager
parent
b2d723e4a3
commit
5a858d68a5
|
@ -0,0 +1,51 @@
|
||||||
|
require 'msf/core'
|
||||||
|
|
||||||
|
describe Msf::Exploit::Remote::BrowserProfileManager do
|
||||||
|
|
||||||
|
subject do
|
||||||
|
mod = Msf::Exploit::Remote.allocate
|
||||||
|
mod.extend described_class
|
||||||
|
mod
|
||||||
|
end
|
||||||
|
|
||||||
|
let(:default_profile) do
|
||||||
|
{
|
||||||
|
'PREFIX' => {'KEY'=>'VALUE'}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
before(:each) do
|
||||||
|
framework = double('framework')
|
||||||
|
allow(framework).to receive(:browser_profiles).and_return(default_profile)
|
||||||
|
allow_any_instance_of(described_class).to receive(:framework).and_return(framework)
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '#browser_profile_prefix' do
|
||||||
|
it 'raises a NoMethodError' do
|
||||||
|
expect{subject.browser_profile_prefix}.to raise_exception(NoMethodError)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '#browser_profile' do
|
||||||
|
before(:each) do
|
||||||
|
allow(subject).to receive(:browser_profile_prefix).and_return('PREFIX')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'returns a hash for the profile' do
|
||||||
|
expect(subject.browser_profile).to be_kind_of(Hash)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe '#clear_browser_profiles' do
|
||||||
|
before(:each) do
|
||||||
|
allow(subject).to receive(:browser_profile_prefix).and_return('PREFIX')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'clears profile cache' do
|
||||||
|
expect(subject.browser_profile.length).to eq(1)
|
||||||
|
subject.clear_browser_profiles
|
||||||
|
expect(subject.browser_profile).to be_empty
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
Loading…
Reference in New Issue