Sha256: 8e06f1a523deaf0ca4ae4d98141257c9cd7952cd552104b39d3e76267b601103

Contents?: true

Size: 1.17 KB

Versions: 2

Compression:

Stored size: 1.17 KB

Contents

#!/usr/bin/env ruby
# -*- coding: binary -*-

$:.unshift(File.join(File.dirname(__FILE__), '..', '..'))

require 'test/unit'
require 'rex/socket/tcp_server'

class Rex::Socket::TcpServer::UnitTest < Test::Unit::TestCase

	def test_tcp_server
		serv_port = 65433
		serv = Rex::Socket.create_tcp_server(
			'LocalPort' => serv_port)
		ccli = nil

		begin
			assert_kind_of(Rex::Socket::TcpServer, serv, "valid TcpServer")
			assert_kind_of(Rex::IO::StreamServer, serv, "valid StreamServer")

			# Connect to the server
			assert_nothing_raised {
				ccli = Rex::Socket.create_tcp(
					'PeerHost' => '127.0.0.1',
					'PeerPort' => serv_port)
			}
			assert_kind_of(Rex::Socket::Tcp, ccli, "valid client client Tcp")

			# Accept the client connection
			scli = serv.accept
			assert_kind_of(Rex::Socket::Tcp, scli, "valid server client Tcp")

			assert_equal(2, scli.put("Yo"), "scli: put Yo")
			assert_equal("Yo", ccli.get(), "ccli: get Yo")
			assert(scli.methods.include?('<<'), "no << operator")
			assert(scli.methods.include?('>>'), "no >> operator")
			assert(scli.methods.include?('has_read_data?'), "no has_read_data?")
			
		ensure
			ccli.close if (ccli)
			serv.close
		end
	end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
librex-0.0.68 lib/rex/socket/tcp_server.rb.ut.rb
librex-0.0.66 lib/rex/socket/tcp_server.rb.ut.rb