Merge pull request #2934 from tbetbetbe/grpc-ruby-add-more-auth-interop-tests

Adds the remaining ruby interop tests
pull/2948/head
Michael Lumish 9 years ago
commit 591c8ee864
  1. 51
      src/ruby/bin/interop/interop_client.rb

@ -110,6 +110,14 @@ def create_stub(opts)
end end
end end
if opts.test_case == 'oauth2_auth_token'
auth_creds = Google::Auth.get_application_default(opts.oauth_scope)
kw = auth_creds.updater_proc.call({}) # gives as an auth token
# use a metadata update proc that just adds the auth token.
stub_opts[:update_metadata] = proc { |md| md.merge(kw) }
end
if opts.test_case == 'jwt_token_creds' # don't use a scope if opts.test_case == 'jwt_token_creds' # don't use a scope
auth_creds = Google::Auth.get_application_default auth_creds = Google::Auth.get_application_default
stub_opts[:update_metadata] = auth_creds.updater_proc stub_opts[:update_metadata] = auth_creds.updater_proc
@ -228,6 +236,33 @@ class NamedTests
p 'OK: compute_engine_creds' p 'OK: compute_engine_creds'
end end
def oauth2_auth_token
resp = perform_large_unary(fill_username: true,
fill_oauth_scope: true)
json_key = File.read(ENV[AUTH_ENV])
wanted_email = MultiJson.load(json_key)['client_email']
assert_equal(wanted_email, resp.username,
"#{__callee__}: incorrect username")
assert(@args.oauth_scope.include?(resp.oauth_scope),
"#{__callee__}: incorrect oauth_scope")
p "OK: #{__callee__}"
end
def per_rpc_creds
auth_creds = Google::Auth.get_application_default(@args.oauth_scope)
kw = auth_creds.updater_proc.call({})
resp = perform_large_unary(fill_username: true,
fill_oauth_scope: true,
**kw)
json_key = File.read(ENV[AUTH_ENV])
wanted_email = MultiJson.load(json_key)['client_email']
assert_equal(wanted_email, resp.username,
"#{__callee__}: incorrect username")
assert(@args.oauth_scope.include?(resp.oauth_scope),
"#{__callee__}: incorrect oauth_scope")
p "OK: #{__callee__}"
end
def client_streaming def client_streaming
msg_sizes = [27_182, 8, 1828, 45_904] msg_sizes = [27_182, 8, 1828, 45_904]
wanted_aggregate_size = 74_922 wanted_aggregate_size = 74_922
@ -276,6 +311,18 @@ class NamedTests
p "OK: #{__callee__}" p "OK: #{__callee__}"
end end
def empty_stream
ppp = PingPongPlayer.new([])
resps = @stub.full_duplex_call(ppp.each_item)
count = 0
resps.each do
|r| ppp.queue.push(r)
count += 1
end
assert_equal(0, count, 'too many responses, expect 0')
p 'OK: empty_stream'
end
def cancel_after_begin def cancel_after_begin
msg_sizes = [27_182, 8, 1828, 45_904] msg_sizes = [27_182, 8, 1828, 45_904]
reqs = msg_sizes.map do |x| reqs = msg_sizes.map do |x|
@ -311,7 +358,7 @@ class NamedTests
private private
def perform_large_unary(fill_username: false, fill_oauth_scope: false) def perform_large_unary(fill_username: false, fill_oauth_scope: false, **kw)
req_size, wanted_response_size = 271_828, 314_159 req_size, wanted_response_size = 271_828, 314_159
payload = Payload.new(type: :COMPRESSABLE, body: nulls(req_size)) payload = Payload.new(type: :COMPRESSABLE, body: nulls(req_size))
req = SimpleRequest.new(response_type: :COMPRESSABLE, req = SimpleRequest.new(response_type: :COMPRESSABLE,
@ -319,7 +366,7 @@ class NamedTests
payload: payload) payload: payload)
req.fill_username = fill_username req.fill_username = fill_username
req.fill_oauth_scope = fill_oauth_scope req.fill_oauth_scope = fill_oauth_scope
resp = @stub.unary_call(req) resp = @stub.unary_call(req, **kw)
assert_equal(:COMPRESSABLE, resp.payload.type, assert_equal(:COMPRESSABLE, resp.payload.type,
'large_unary: payload had the wrong type') 'large_unary: payload had the wrong type')
assert_equal(wanted_response_size, resp.payload.body.length, assert_equal(wanted_response_size, resp.payload.body.length,

Loading…
Cancel
Save