46 lines
1.2 KiB
Ruby
46 lines
1.2 KiB
Ruby
# test identify action
|
|
|
|
require 'test/unit'
|
|
require File.expand_path(File.join(File.dirname(__FILE__),'_loadpath'))
|
|
require 'openwsman'
|
|
require 'auth-callback'
|
|
require '_client'
|
|
|
|
class IdentifyTest < Test::Unit::TestCase
|
|
def test_identify
|
|
Openwsman::debug = 1
|
|
|
|
client = Client.open
|
|
assert client
|
|
options = Openwsman::ClientOptions.new
|
|
assert options
|
|
options.set_dump_request
|
|
|
|
doc = client.identify( options )
|
|
unless doc
|
|
puts "identify failed with #{client.last_error}:#{client.fault_string}"
|
|
raise
|
|
end
|
|
assert doc
|
|
puts "Error!" if doc.fault?
|
|
root = doc.root
|
|
assert root
|
|
|
|
# print root
|
|
#
|
|
# root.find is the 'clumsy' way
|
|
# prot_version = root.find( Openwsman::XML_NS_WSMAN_ID, "ProtocolVersion" )
|
|
# prod_vendor = root.find( Openwsman::XML_NS_WSMAN_ID, "ProductVendor" )
|
|
# prod_version = root.find( Openwsman::XML_NS_WSMAN_ID, "ProductVersion" )
|
|
|
|
# Ruby allows to catch 'method_missing' making it much more elegant:
|
|
prot_version = root.ProtocolVersion
|
|
prod_vendor = root.ProductVendor
|
|
prod_version = root.ProductVersion
|
|
|
|
puts "\tProtocol #{prot_version}\n\tVendor #{prod_vendor}\n\tVersion #{prod_version}"
|
|
|
|
end
|
|
end
|
|
|