Skip to content

Commit 7ee5423

Browse files
committed
Add specs for Msf::HTTP::JBoss::Base
1 parent 4742dba commit 7ee5423

File tree

3 files changed

+63
-69
lines changed

3 files changed

+63
-69
lines changed

lib/msf/http/jboss/base.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ def deploy(opts = {}, num_attempts = 5)
2121
msg = nil
2222
if res.nil?
2323
msg = "Execution failed on #{uri} [No Response]"
24-
elsif res.code < 200 || res.code >= 300
25-
msg = "http request failed to #{uri} [#{res.code}]"
2624
elsif res.code == 200
2725
vprint_status("Successfully called '#{uri}'")
2826
return res
27+
else
28+
msg = "http request failed to #{uri} [#{res.code}]"
2929
end
3030

3131
if attempt < num_attempts - 1

spec/lib/msf/http/jboss/base_spec.rb

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#-*- coding:binary -*-
2+
require 'spec_helper'
3+
4+
require 'msf/core'
5+
require 'msf/http/jboss'
6+
7+
describe Msf::HTTP::JBoss::Base do
8+
subject do
9+
mod = ::Msf::Exploit.new
10+
mod.extend Msf::HTTP::JBoss
11+
mod.send(:initialize)
12+
mod
13+
end
14+
15+
describe "#deploy" do
16+
before :each do
17+
allow(subject).to receive(:send_request_cgi) do
18+
if res_code.nil?
19+
res = nil
20+
else
21+
res = Rex::Proto::Http::Response.new
22+
res.code = res_code
23+
end
24+
25+
res
26+
end
27+
end
28+
29+
let (:opts) do
30+
{
31+
'uri' => '/jmx-console'
32+
}
33+
end
34+
35+
it 'returns nil unless uri is provided' do
36+
expect(subject.deploy).to be_nil
37+
end
38+
39+
context 'when server timeouts' do
40+
let(:res_code) { nil }
41+
it { expect(subject.deploy(opts, 1)).to be_nil }
42+
end
43+
44+
context 'when server returns 200' do
45+
let(:res_code) { 200 }
46+
it { expect(subject.deploy(opts)).to be_kind_of Rex::Proto::Http::Response }
47+
end
48+
49+
context 'when server returns 404' do
50+
let(:res_code) { 404 }
51+
it { expect(subject.deploy(opts, 1)).to be_kind_of Rex::Proto::Http::Response }
52+
end
53+
end
54+
55+
describe "#http_verb" do
56+
it "returns POST by default" do
57+
expect(subject.http_verb).to eq("POST")
58+
end
59+
end
60+
61+
end

spec/lib/msf/http/jboss_spec.rb

Lines changed: 0 additions & 67 deletions
This file was deleted.

0 commit comments

Comments
 (0)