# 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