CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
rapid7

CoCalc provides the best real-time collaborative environment for Jupyter Notebooks, LaTeX documents, and SageMath, scalable from individual users to large groups and classes!

GitHub Repository: rapid7/metasploit-framework
Path: blob/master/spec/lib/metasploit/framework/login_scanner_spec.rb
Views: 1904
1
require 'spec_helper'
2
require 'metasploit/framework/login_scanner'
3
require 'metasploit/framework/login_scanner/http'
4
require 'metasploit/framework/login_scanner/smb'
5
require 'metasploit/framework/login_scanner/vnc'
6
7
RSpec.describe Metasploit::Framework::LoginScanner do
8
9
subject { described_class.classes_for_service(service) }
10
let(:port) { nil }
11
let(:name) { nil }
12
13
let(:service) do
14
s = double('service')
15
allow(s).to receive(:port) { port }
16
allow(s).to receive(:name) { name }
17
s
18
end
19
20
context "with name 'smb'" do
21
let(:name) { 'smb' }
22
23
it { is_expected.to include Metasploit::Framework::LoginScanner::SMB }
24
it { is_expected.not_to include Metasploit::Framework::LoginScanner::HTTP }
25
end
26
27
28
context "with port 445" do
29
let(:port) { 445 }
30
31
it { is_expected.to include Metasploit::Framework::LoginScanner::SMB }
32
it { is_expected.not_to include Metasploit::Framework::LoginScanner::HTTP }
33
it { is_expected.not_to include Metasploit::Framework::LoginScanner::VNC }
34
end
35
36
37
context "with name 'http'" do
38
let(:name) { 'http' }
39
40
it { is_expected.to include Metasploit::Framework::LoginScanner::HTTP }
41
it { is_expected.not_to include Metasploit::Framework::LoginScanner::SMB }
42
it { is_expected.not_to include Metasploit::Framework::LoginScanner::VNC }
43
end
44
45
[ 80, 8080, 8000, 443 ].each do |foo|
46
context "with port #{foo}" do
47
let(:port) { foo }
48
49
it { is_expected.to include Metasploit::Framework::LoginScanner::HTTP }
50
it { is_expected.to include Metasploit::Framework::LoginScanner::Axis2 }
51
it { is_expected.to include Metasploit::Framework::LoginScanner::Tomcat }
52
it { is_expected.not_to include Metasploit::Framework::LoginScanner::SMB }
53
end
54
end
55
56
end
57
58