public static async Task FlushAsync(FlushOptions options, IPublicApi kisslogApi, FlushLogArgs flushArgs, CreateRequestLogRequest request) { IEnumerable <LoggedFile> files = CopyFiles(flushArgs); flushArgs.SetFiles(files); IEnumerable <File> requestFiles = files.Select(p => new File { FileName = p.FileName, FilePath = p.FilePath }).ToList(); try { ApiResult <RequestLog> result = null; if (options.UseAsync) { result = await kisslogApi.CreateRequestLogAsync(request, requestFiles).ConfigureAwait(false); } else { result = kisslogApi.CreateRequestLog(request, requestFiles); } if (result.HasException && options.OnException != null) { options.OnException.Invoke(new ExceptionArgs(flushArgs, result)); } } finally { DeleteFiles(files); } }
public void SetFilesThrowsExceptionForNull() { FlushLogArgs item = new FlushLogArgs(new FlushLogArgs.CreateOptions { HttpProperties = CommonTestHelpers.Factory.CreateHttpProperties() }); item.SetFiles(null); }
public void SetFilesUpdatesProperty() { var files = Enumerable.Range(0, 2).Select(p => CommonTestHelpers.Factory.CreateLoggedFile()).ToList(); FlushLogArgs item = new FlushLogArgs(new FlushLogArgs.CreateOptions { HttpProperties = CommonTestHelpers.Factory.CreateHttpProperties() }); item.SetFiles(files); Assert.AreEqual(JsonSerializer.Serialize(files), JsonSerializer.Serialize(item.Files)); }