Sha256: 8bcdb6beef35799ac4b40baa7c44b4cc50ddfae35c21a5ac2052b68614f2a5de

Contents?: true

Size: 1.51 KB

Versions: 4

Compression:

Stored size: 1.51 KB

Contents

require 'spec_helper'
require 'ronin/network/telnet'

describe Network::Telnet do
  describe "helpers", :network do
    let(:host) { 'towel.blinkenlights.nl' }

    subject do
      obj = Object.new
      obj.extend described_class
      obj
    end

    describe "#telnet_connect" do
      it "should return a Net::Telnet object" do
        telnet = subject.telnet_connect(host)

        telnet.should be_kind_of(Net::Telnet)
        telnet.close
      end

      it "should connect to a telnet service on port 23" do
        telnet = subject.telnet_connect(host)

        telnet.close
      end

      context "when given a block" do
        it "should yield the new Net::Telnet object" do
          telnet = nil

          subject.telnet_connect(host) do |telnet_object|
            telnet = telnet_object
          end

          telnet.should be_kind_of(Net::Telnet)
          telnet.close
        end
      end
    end

    describe "#telnet_session" do
      it "should yield a new Net::Telnet object" do
        yielded_telnet = nil

        subject.telnet_session(host) do |telnet|
          yielded_telnet = telnet
        end

        yielded_telnet.should be_kind_of(Net::Telnet)
      end

      it "should close the Telnet session after yielding it" do
        session  = nil
        was_open = nil

        subject.telnet_session(host) do |telnet|
          session   = telnet
          was_open  = !telnet.sock.closed?
        end

        was_open.should == true
        session.sock.should be_closed
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ronin-support-0.5.1 spec/network/telnet_spec.rb
ronin-support-0.5.0 spec/network/telnet_spec.rb
ronin-support-0.5.0.rc2 spec/network/telnet_spec.rb
ronin-support-0.5.0.rc1 spec/network/telnet_spec.rb