Path: blob/master/spec/lib/msf/base/sessions/smb_spec.rb
24767 views
# frozen_string_literal: true12require 'spec_helper'34RSpec.describe Msf::Sessions::SMB do5let(:rstream) { instance_double(Rex::Socket) }6let(:client) { instance_double(RubySMB::Client) }7let(:dispatcher) { instance_double(RubySMB::Dispatcher::Socket) }8let(:opts) { { client: client } }9let(:console_class) { Rex::Post::SMB::Ui::Console }10let(:user_input) { instance_double(Rex::Ui::Text::Input::Readline) }11let(:user_output) { instance_double(Rex::Ui::Text::Output::Stdio) }12let(:name) { 'name' }13let(:log_source) { "session_#{name}" }14let(:type) { 'smb' }15let(:description) { 'SMB' }16let(:can_cleanup_files) { false }17let(:address) { '192.0.2.1' }18let(:port) { 1337 }19let(:peer_info) { "#{address}:#{port}" }2021before(:each) do22allow(user_input).to receive(:intrinsic_shell?).and_return(true)23allow(user_input).to receive(:output=)24allow(rstream).to receive(:peerinfo).and_return(peer_info)25allow(client).to receive(:dispatcher).and_return(dispatcher)26allow(dispatcher).to receive(:tcp_socket).and_return(rstream)27end2829it_behaves_like 'client session'30end313233