public FakeINotificationQuery(IReadOnlyCollection <NotificationItem>?notificationItem = null) { if (notificationItem == null) { return; } FakeContent.AddRange(notificationItem); }
public FakeTopicReply(int topicId, int replyId) { ReplyId = replyId; TopicId = topicId; ReplyMemberId = RandomHelper.Next(10000); ReplyMemberName = FakeName.MakeFakeUserName(); ReplyMemberImage = FakeImage.MakeFakeImage(); ReplyTime = RandomHelper.Time(); Content = FakeContent.MakeContent(); }
public async Task MultipleHandlers_CanReexecuteSendAsync_FirstResponseDisposed() { // Arrange var policy1 = HttpPolicyExtensions.HandleTransientHttpError() .RetryAsync(retryCount: 1); var policy2 = HttpPolicyExtensions.HandleTransientHttpError() .CircuitBreakerAsync(handledEventsAllowedBeforeBreaking: 2, durationOfBreak: TimeSpan.FromSeconds(10)); var callCount = 0; var fakeContent = new FakeContent(); var firstResponse = new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.InternalServerError, Content = fakeContent, }; var expected = new HttpResponseMessage(); var handler1 = new PolicyHttpMessageHandler(policy1); var handler2 = new PolicyHttpMessageHandler(policy2); handler1.InnerHandler = handler2; handler2.InnerHandler = new TestHandler() { OnSendAsync = (req, ct) => { if (callCount == 0) { callCount++; return(Task.FromResult(firstResponse)); } else if (callCount == 1) { callCount++; return(Task.FromResult(expected)); } else { throw new InvalidOperationException(); } } }; var invoke = new HttpMessageInvoker(handler1); // Act var response = await invoke.SendAsync(new HttpRequestMessage(), CancellationToken.None); // Assert Assert.Equal(2, callCount); Assert.Same(expected, response); Assert.True(fakeContent.Disposed); }
public FakeTopic(int topicId) { TopicId = topicId; CreatorId = RandomHelper.Next(10000); TopicTitle = FakeContent.MakeTitle(); ViewCount = RandomHelper.Next(32423); for (int i = 0; i < RandomHelper.Next(2, 10); i++) { ReplyList.Add(new FakeTopicReply(topicId, RandomHelper.Next(10000))); } CreateTime = RandomHelper.Time(); LastUpdateTime = RandomHelper.Time(); Owner = new FakeCommunityInfo(); Content = FakeContent.MakeContent(); }
public async Task SendAsync_StaticPolicy_PolicyTriggers_CanReexecuteSendAsync_FirstResponseDisposed() { // Arrange var policy = HttpPolicyExtensions.HandleTransientHttpError() .RetryAsync(retryCount: 1); var callCount = 0; var fakeContent = new FakeContent(); var firstResponse = new HttpResponseMessage() { StatusCode = System.Net.HttpStatusCode.InternalServerError, Content = fakeContent, }; var expected = new HttpResponseMessage(); var handler = new PolicyHttpMessageHandler(policy); handler.InnerHandler = new TestHandler() { OnSendAsync = (req, ct) => { if (callCount == 0) { callCount++; return(Task.FromResult(firstResponse)); } else if (callCount == 1) { callCount++; return(Task.FromResult(expected)); } else { throw new InvalidOperationException(); } } }; var invoke = new HttpMessageInvoker(handler); // Act var response = await invoke.SendAsync(new HttpRequestMessage(), CancellationToken.None); // Assert Assert.Equal(2, callCount); Assert.Same(expected, response); Assert.True(fakeContent.Disposed); }
private static ExcelWorksheet GetWorksheetFromStream <TItem>(XlsxMediaTypeFormatter formatter, TItem data) { var content = new FakeContent(); content.Headers.ContentType = new MediaTypeHeaderValue("application/atom+xml"); var httpContext = new DefaultHttpContext(); httpContext.Response.Body = new MemoryStream(); httpContext.RequestServices = new FakeServiceProvider(); var context = new OutputFormatterWriteContext(httpContext, new TestHttpResponseStreamWriterFactory().CreateWriter, typeof(TItem), data); formatter.WriteResponseBodyAsync(context, Encoding.UTF8).GetAwaiter().GetResult(); context.HttpContext.Response.Body.Seek(0, SeekOrigin.Begin); var package = new ExcelPackage(context.HttpContext.Response.Body); return(package.Workbook.Worksheets[0]); }
public FakeCommunityInfo() { CommunityId = RandomHelper.Next(23432); ParentId = RandomHelper.Bool() ? RandomHelper.Next(234) : 0; ParentName = ParentId > 0 ? FakeName.MakeFakeGroupName() : ""; Name = FakeName.MakeFakeCommunityName(); Image = FakeImage.MakeFakeImage(); MasterId = RandomHelper.Next(23432); MemberCount = RandomHelper.Next(546); CreateTime = RandomHelper.Time(); Description = FakeContent.MakeDescription(); LastActivityTime = RandomHelper.Time(); CloseTime = RandomHelper.Bool() ? RandomHelper.Time() : DateTime.MaxValue; int tagCount = RandomHelper.Next(10); for (int i = 0; i < tagCount; i++) { Tags.Add(new TagModel()); } }
/// <summary> /// Generate a worksheet containing the specified data using the provided <c>XlsxMediaTypeFormatter</c> /// instance. /// </summary> /// <typeparam name="TItem">Type of items to be serialised.</typeparam> /// <param name="formatter">Formatter instance to use for serialisation.</param> /// <param name="data">Data to be serialised.</param> /// <returns></returns> public ExcelWorksheet GetWorksheetFromStream <TItem>(XlsxMediaTypeFormatter formatter, TItem data) { var ms = new MemoryStream(); var content = new FakeContent(); content.Headers.ContentType = new MediaTypeHeaderValue("application/atom+xml"); var task = formatter.WriteToStreamAsync(typeof(IEnumerable <TItem>), data, ms, content, new FakeTransport()); task.Wait(); ms.Seek(0, SeekOrigin.Begin); var package = new ExcelPackage(ms); return(package.Workbook.Worksheets[1]); }