/lib/rex/socket/udp.rb.ut.rb
Ruby | 45 lines | 29 code | 12 blank | 4 comment | 0 complexity | 92d30f58f067e9ea6c597840cc9730db MD5 | raw file
Possible License(s): BSD-3-Clause, Apache-2.0, LGPL-2.1, GPL-2.0, MIT
- #!/usr/bin/env ruby
- # -*- coding: binary -*-
- $:.unshift(File.join(File.dirname(__FILE__), '..', '..'))
- require 'test/unit'
- require 'rex/socket/udp'
- class Rex::Socket::Udp::UnitTest < Test::Unit::TestCase
- def test_udp
- serv_port = 55432
- serv = Rex::Socket::Udp.create(
- 'LocalHost' => '127.0.0.1',
- 'LocalPort' => serv_port)
- begin
- assert_kind_of(Rex::Socket::Udp, serv, "valid Udp server instance")
- # Test connected socket
- concli = Rex::Socket::Udp.create(
- 'PeerHost' => '127.0.0.1',
- 'PeerPort' => serv_port)
- assert_equal('127.0.0.1', concli.peerhost, "matching peerhost")
- assert_equal(serv_port, concli.peerport, "matching peerport")
- assert_equal(2, concli.write('yo'), "write succeeded")
- data, host, port = serv.recvfrom
- assert_equal('yo', data, "read data match")
- assert_equal('127.0.0.1', host, "matching client host")
- # Test non-connected socket
- concli = Rex::Socket::Udp.create
- assert_equal(3, concli.sendto('bob', '127.0.0.1', serv_port), "sendto")
- data, host, port = serv.recvfrom
- assert_equal('bob', data, "read data match")
- ensure
- serv.close
- end
- end
- end