Google-ProtocolBuffers-Dynamic
view release on metacpan or search on metacpan
t/620_stream_bidi_grpc.t view on Meta::CPAN
use t::lib::GrpcClient;
spawn_server('t/grpc/sayhello_stream_bidi.pl');
my $d = Google::ProtocolBuffers::Dynamic->new('t/proto');
$d->load_file("grpc/greeter.proto");
$d->map(
{ package => 'helloworld', prefix => 'Helloworld', options => { client_services => 'grpc_xs' } },
);
my $credentials = Grpc::XS::ChannelCredentials::createInsecure;
my $greeter = Helloworld::Greeter->new(
server_address,
credentials => $credentials,
);
my $call = $greeter->WavingHello();
my @chars = split //, 'grpc-perl';
my @responses;
for (;;) {
my $response = $call->read;
push @responses, $response if $response;
last if !$response && !@chars;
if (@chars) {
$call->write(Helloworld::HelloRequest->new({
name => shift @chars,
}));
$call->writesDone if !@chars;
}
}
is(scalar @responses, 10);
is(join('', map $_->get_message, @responses), 'Hello, grpc-perl');
done_testing();
( run in 0.443 second using v1.01-cache-2.11-cpan-d06a3f9ecfd )