public void PostEvents() { var container = AppBuilder.CreateContainer(); using (WebApp.Start(Settings.Current.BaseURL, app => AppBuilder.BuildWithContainer(app, container, false))) { EnsureSampleData(container); var events = new List<Event> { new Event { Message = "Testing" } }; var configuration = GetClient().Configuration; var serializer = new DefaultJsonSerializer(); var client = new DefaultSubmissionClient(); var response = client.PostEvents(events, configuration, serializer); Assert.True(response.Success, response.Message); Assert.Null(response.Message); } }
public void PostUserDescription() { var container = AppBuilder.CreateContainer(); using (WebApp.Start(Settings.Current.BaseURL, app => AppBuilder.BuildWithContainer(app, container, false))) { const string referenceId = "fda94ff32921425ebb08b73df1d1d34c"; var statsCounter = container.GetInstance<IAppStatsClient>() as InMemoryAppStatsClient; Assert.NotNull(statsCounter); EnsureSampleData(container); var events = new List<Event> { new Event { Message = "Testing", ReferenceId = referenceId } }; var configuration = GetClient().Configuration; var serializer = new DefaultJsonSerializer(); var client = new DefaultSubmissionClient(); var description = new UserDescription { EmailAddress = "*****@*****.**", Description = "Some description." }; var response = client.PostUserDescription(referenceId, description, configuration, serializer); Assert.True(response.Success, response.Message); Assert.Null(response.Message); response = client.PostEvents(events, configuration, serializer); Assert.True(response.Success, response.Message); Assert.Null(response.Message); statsCounter.WaitForCounter(StatNames.EventsUserDescriptionProcessed, 1); var eventRepository = container.GetInstance<IEventRepository>(); var ev = eventRepository.GetByReferenceId("537650f3b77efe23a47914f4", referenceId).FirstOrDefault(); Assert.NotNull(ev); Assert.NotNull(ev.GetUserDescription()); Assert.Equal(description.ToJson(), ev.GetUserDescription().ToJson()); Assert.Equal(0, statsCounter.GetCount(StatNames.EventsUserDescriptionErrors)); response = client.PostUserDescription(referenceId + 1, description, configuration, serializer); Assert.True(response.Success, response.Message); Assert.Null(response.Message); statsCounter.WaitForCounter(StatNames.EventsUserDescriptionErrors, 1); Assert.Equal(1, statsCounter.GetCount(StatNames.EventsUserDescriptionErrors)); } }
public async Task PostUserDescription() { var container = AppBuilder.CreateContainer(); using (WebApp.Start(Settings.Current.BaseURL, app => AppBuilder.BuildWithContainer(app, container, false))) { var repository = container.GetInstance<IEventRepository>(); repository.RemoveAll(); const string referenceId = "fda94ff32921425ebb08b73df1d1d34c"; const string badReferenceId = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"; var statsCounter = container.GetInstance<IAppStatsClient>() as InMemoryAppStatsClient; var descQueue = container.GetInstance<IQueue<EventUserDescription>>() as InMemoryQueue<EventUserDescription>; Assert.NotNull(statsCounter); EnsureSampleData(container); var events = new List<Event> { new Event { Message = "Testing", ReferenceId = referenceId } }; var configuration = GetClient().Configuration; var serializer = new DefaultJsonSerializer(); var client = new DefaultSubmissionClient(); var description = new UserDescription { EmailAddress = "*****@*****.**", Description = "Some description." }; Debug.WriteLine("Before Submit Description"); statsCounter.DisplayStats(); Assert.True(statsCounter.WaitForCounter(StatNames.EventsUserDescriptionErrors, work: () => { var response = client.PostUserDescription(referenceId, description, configuration, serializer); Debug.WriteLine("After Submit Description"); Assert.True(response.Success, response.Message); Assert.Null(response.Message); })); statsCounter.DisplayStats(); Debug.WriteLine(descQueue.GetQueueCount()); Debug.WriteLine("Before Post Event"); Assert.True(statsCounter.WaitForCounter(StatNames.EventsProcessed, work: () => { var response = client.PostEvents(events, configuration, serializer); Debug.WriteLine("After Post Event"); Assert.True(response.Success, response.Message); Assert.Null(response.Message); })); statsCounter.DisplayStats(); if (statsCounter.GetCount(StatNames.EventsUserDescriptionProcessed) == 0) Assert.True(statsCounter.WaitForCounter(StatNames.EventsUserDescriptionProcessed)); container.GetInstance<IElasticClient>().Refresh(); var ev = repository.GetByReferenceId("537650f3b77efe23a47914f4", referenceId).FirstOrDefault(); Assert.NotNull(ev); Assert.NotNull(ev.GetUserDescription()); Assert.Equal(description.ToJson(), ev.GetUserDescription().ToJson()); Assert.InRange(statsCounter.GetCount(StatNames.EventsUserDescriptionErrors), 1, 5); Assert.True(statsCounter.WaitForCounter(StatNames.EventsUserDescriptionErrors, work: () => { var response = client.PostUserDescription(badReferenceId, description, configuration, serializer); Assert.True(response.Success, response.Message); Assert.Null(response.Message); })); statsCounter.DisplayStats(); Assert.InRange(statsCounter.GetCount(StatNames.EventsUserDescriptionErrors), 2, 10); } }