Class: Rex::Proto::DRDA::Utils::UnitTest
- Inherits:
-
Test::Unit::TestCase
- Object
- Test::Unit::TestCase
- Rex::Proto::DRDA::Utils::UnitTest
- Defined in:
- lib/rex/proto/drda/utils.rb.ut.rb
Constant Summary collapse
- Klass =
Rex::Proto::DRDA
Instance Method Summary collapse
-
#test_client_auth ⇒ Object
Client auth requires a successful probe.
- #test_client_probe ⇒ Object
- #test_client_probe_create ⇒ Object
- #test_socket_connectivity ⇒ Object
Instance Method Details
#test_client_auth ⇒ Object
Client auth requires a successful probe. This is a complete authentication sequence, culminating in info returning either true or false.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
# File 'lib/rex/proto/drda/utils.rb.ut.rb', line 57 def test_client_auth probe_pkt = Klass::Utils.client_probe('toolsdb') auth_pkt = Klass::Utils.client_auth(:dbname => 'toolsdb', :dbuser => $_REX_TEST_DRDA_USER.to_s, :dbpass => $_REX_TEST_DRDA_PASS.to_s ) begin Timeout.timeout($_REX_TEST_TIMEOUT) do socket = Rex::Socket.create_tcp( 'PeerHost' => $_REX_TEST_DRDA_HOST.to_s, 'PeerPort' => 50000 ) sent = socket.put probe_pkt probe_reply = socket.get_once sent = socket.put auth_pkt assert_equal(75, sent) auth_reply = socket.get_once parsed_auth_reply = Klass::SERVER_PACKET.new.read auth_reply info = Klass::Utils.server_packet_info(parsed_auth_reply) assert info[:db_login_success] socket.close end rescue Timeout::Error flunk("Timed out") end end |
#test_client_probe ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/rex/proto/drda/utils.rb.ut.rb', line 32 def test_client_probe probe_pkt = Klass::Utils.client_probe('toolsdb') begin Timeout.timeout($_REX_TEST_TIMEOUT) do socket = Rex::Socket.create_tcp( 'PeerHost' => $_REX_TEST_DRDA_HOST.to_s, 'PeerPort' => 50000 ) sent = socket.put probe_pkt assert_equal 76, sent probe_reply = socket.get_once assert_operator probe_reply.size, :>=, 10 parsed_reply = Klass::SERVER_PACKET.new.read probe_reply assert_kind_of Array, parsed_reply assert_equal parsed_reply[0].codepoint, Klass::Constants::EXCSATRD socket.close end rescue Timeout::Error flunk("Timed out") end end |
#test_client_probe_create ⇒ Object
27 28 29 30 |
# File 'lib/rex/proto/drda/utils.rb.ut.rb', line 27 def test_client_probe_create probe_pkt = Klass::Utils.client_probe assert_equal 54, probe_pkt.size end |
#test_socket_connectivity ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/rex/proto/drda/utils.rb.ut.rb', line 14 def test_socket_connectivity assert_nothing_raised do socket = Rex::Socket.create_tcp( 'PeerHost' => $_REX_TEST_DRDA_HOST.to_s, # PeerHost can be nil! 'PeerPort' => 50000 ) assert_kind_of Socket, socket assert !socket.closed? socket.close assert socket.closed? end end |