blob: 892037ec7b1c13c0431cd82b69ba1e6aef8e625e [file] [log] [blame]
#!/usr/bin/env ruby
$:.push('gen-rb')
$:.push('../../lib/rb/lib')
require 'thrift/transport/tsocket'
require 'thrift/protocol/tbinaryprotocol'
require 'thrift/server/tserver'
require 'ThriftTest'
class TestHandler
def testVoid()
print "testVoid()\n"
end
def testString(thing)
print "testString(#{thing})\n"
return thing
end
def testByte(thing)
print "testByte(#{thing})\n"
return thing
end
def testI32(thing)
print "testI32(#{thing})\n"
return thing
end
def testI64(thing)
print "testI64(#{thing})\n"
return thing
end
def testDouble(thing)
print "testDouble(#{thing})\n"
return thing
end
def testStruct(thing)
print "testStruct(#{thing})\n"
print " with attrs: #{thing.string_thing}, #{thing.byte_thing}, #{thing.i32_thing}"
return thing
end
def testMap(thing)
print "testMap(#{thing})\n"
return thing
end
def testSet(thing)
print "testSet(#{thing})\n"
return thing
end
def testList(thing)
print "testList(#{thing})\n"
return thing
end
def testNest(thing)
print "testNest(#{thing})\n"
puts " i32_thing: #{thing.i32_thing}"
puts " with struct: "
%w{ string_thing byte_thing i32_thing }.each do |t|
puts " #{t}: #{thing.struct_thing.send(t)}"
end
return thing
end
def testNest(thing)
print "testNest(#{thing})\n"
puts " i32_thing: #{thing.i32_thing}"
puts " with struct: "
%w{ string_thing byte_thing i32_thing }.each do |t|
puts " #{t}: #{thing.struct_thing.send(t)}"
end
return thing
end
def testInsanity(thing)
puts "insanity:"
puts " #{thing.inspect}"
num, uid = thing.userMap.find { true }
return {uid => {num => thing}}
end
def testMapMap(thing)
puts "got: #{thing}"
return {thing => {thing => thing}}
end
end
handler = TestHandler.new()
processor = Thrift::Test::ThriftTest::Processor.new(handler)
transport = TServerSocket.new(9090)
server = TSimpleServer.new(processor, transport)
server.serve()