private ConfluentResponse <List <AvroMessage <string, LogMessage> > > CreateTestRecords(int responseCount) { // Arrange var payload = Enumerable.Range(0, responseCount) .Select(_ => CreateResult()) .ToList(); return(ConfluentResponse <List <AvroMessage <string, LogMessage> > > .Success(payload)); }
public async Task <ConfluentResponse> DeleteConsumerAsync(ConsumerInstance consumerInstance, CancellationToken cancellationToken) { HttpRequestMessage request = CreateRequestMessage(HttpMethod.Delete, "", consumerInstance.BaseUri) .WithContentType(ContentTypeKafkaDefault) .WithHostHeader(consumerInstance.BaseUri); var response = await SendRequest(request, cancellationToken).ConfigureAwait(false); if (response.IsSuccessStatusCode) { return(ConfluentResponse.Success()); } return(ConfluentResponse.Failed(await ReadResponseAs <Error>(response).ConfigureAwait(false))); }
private async Task <ConfluentResponse <TResponse> > ProcessRequest <TResponse>(HttpRequestMessage request, CancellationToken cancellationToken) where TResponse : class { var response = await SendRequest(request, cancellationToken).ConfigureAwait(false); try { if (response.IsSuccessStatusCode) { return(ConfluentResponse <TResponse> .Success(await ReadResponseAs <TResponse>(response).ConfigureAwait(false))); } return(ConfluentResponse <TResponse> .Failed(await ReadResponseAs <Error>(response).ConfigureAwait(false))); } catch (Exception e) { throw new ConfluentApiSerializationException("Failed to deserialize response", e); } }
private static void SendResultToObserver <TK, TV>( ConfluentResponse <List <AvroMessage <TK, TV> > > result, IObserver <Try <Record <TK, TV> > > observer) where TK : class where TV : class { if (result.IsSuccess()) { // flatten the result foreach (var record in result.Payload) { Console.WriteLine("Sending " + record.Value + " to observer"); observer.OnNext(new Success <Record <TK, TV> >(new Record <TK, TV>(record.Key, record.Value))); } } else { Console.WriteLine("Got an error: " + result.Error.Message); observer.OnNext(new Failure <Record <TK, TV> >( new Exception(result.Error.ErrorCode + ": " + result.Error.Message))); } }
private Func<IConfluentClient, ConsumerInstance, string, Task<ConfluentResponse<List<AvroMessage<string, LogMessage>>>>> MockDataTask( ConfluentResponse<List<AvroMessage<string, LogMessage>>> confluentResponse) { return (_1, _2, _3) => Task.FromResult(confluentResponse); }
private void WriteLog(ConfluentResponse response) { WriteLog(JsonConvert.SerializeObject(response, Formatting.Indented)); }
private ConfluentResponse <List <AvroMessage <string, LogMessage> > > CreateErrorMessage(int errorCode, string testError) { return(ConfluentResponse <List <AvroMessage <string, LogMessage> > > .Failed(new Error { ErrorCode = errorCode, Message = testError })); }
private Func <IConfluentClient, ConsumerInstance, string, Task <ConfluentResponse <List <AvroMessage <string, LogMessage> > > > > MockDataTask( ConfluentResponse <List <AvroMessage <string, LogMessage> > > confluentResponse) { return((_1, _2, _3) => Task.FromResult(confluentResponse)); }