Sha256: eb34d67a8a64d8002a90eabc56034affc0b8b81b23f4223764905d6b0ac90d75

Contents?: true

Size: 1.39 KB

Versions: 2

Compression:

Stored size: 1.39 KB

Contents

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

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

require 'rex/post/meterpreter/extensions/stdapi/railgun/dll'
require 'rex/post/meterpreter/extensions/stdapi/railgun/mock_magic'
require 'test/unit'

module Rex
module Post
module Meterpreter
module Extensions
module Stdapi
module Railgun
class DLL::UnitTest < Test::Unit::TestCase

	include MockMagic

	def test_add_function
		mock_function_descriptions.each do |func|
			dll = DLL.new(func[:dll_name], nil)
			dll.add_function(func[:name], func[:return_type], func[:params])

			assert(dll.functions.has_key?(func[:name]),
				"add_function should expand the list of available functions")
		end
	end

	def test_call_function
		mock_function_descriptions.each do |func|
			client = make_mock_client(func[:platform], func[:request_to_client], func[:response_from_client])
			dll = DLL.new(func[:dll_name], nil)

			dll.add_function(func[:name], func[:return_type], func[:params])

			actual_returned_hash = dll.call_function(func[:name].to_sym, func[:ruby_args], client)

			assert(func[:returned_hash].has_key?('GetLastError'),
				"process_function_call should add the result of GetLastError to the key GetLastError")

			assert_equal(func[:returned_hash], actual_returned_hash,
				"process_function_call convert function result to a ruby hash")
		end
	end
end
end
end
end
end
end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
librex-0.0.68 lib/rex/post/meterpreter/extensions/stdapi/railgun/dll.rb.ut.rb
librex-0.0.66 lib/rex/post/meterpreter/extensions/stdapi/railgun/dll.rb.ut.rb