public void WithLogging_Sync()
        {
            var logger = new MemoryLogger("category");
            var call   = new ApiServerStreamingCall <SimpleRequest, SimpleResponse>(
                "SimpleMethod",
                (req, cs) => Task.FromResult(default(AsyncServerStreamingCall <SimpleResponse>)),
                (req, cs) => null,
                null).WithLogging(logger);

            call.Call(new SimpleRequest(), null);
            var entries = logger.ListLogEntries();

            Assert.Equal(2, entries.Count);
            Assert.All(entries, entry => Assert.Contains("SimpleMethod", entry.Message));
        }
示例#2
0
 /// <summary>
 /// Executes an SQL Query on Spanner returning the results as a set of partialresult streams.
 /// </summary>
 /// <param name="request"></param>
 /// <param name="callSettings"></param>
 /// <returns></returns>
 public override AsyncServerStreamingCall <PartialResultSet> ExecuteSqlStream(ExecuteSqlRequest request, CallSettings callSettings = null)
 {
     Modify_ExecuteSqlRequest(ref request, ref callSettings);
     return(_callExecuteSqlStream.Call(request, callSettings));
 }
示例#3
0
        private static async Task <TResponse> Call <TRequest, TResponse>(
            bool async, ApiServerStreamingCall <TRequest, TResponse> call, TRequest request, CallSettings callSettings)
            where TRequest : class, IMessage <TRequest>
            where TResponse : class, IMessage <TResponse>
        {
            var streamingCall = async ? await call.CallAsync(request, callSettings) : call.Call(request, callSettings);

            // return the first (and only) response message.
            await streamingCall.ResponseStream.MoveNext();

            return(streamingCall.ResponseStream.Current);
        }