public void DeletePersistentFilter_HappyPath(FilterType filterType) { DateTime firstCreatedUtc = new DateTime(2017, 1, 1, 2, 30, 3); var createFilterEvent = new CreateFilterEvent { CustomerUID = Guid.NewGuid(), ProjectUID = Guid.NewGuid(), UserID = Guid.NewGuid().ToString(), FilterUID = Guid.NewGuid(), Name = "hasOne", FilterType = filterType, FilterJson = "blah", ActionUTC = firstCreatedUtc }; var deleteFilterEvent = new DeleteFilterEvent { CustomerUID = createFilterEvent.CustomerUID, ProjectUID = createFilterEvent.ProjectUID, UserID = createFilterEvent.UserID, FilterUID = createFilterEvent.FilterUID, ActionUTC = firstCreatedUtc.AddMinutes(2) }; this.FilterRepo.StoreEvent(createFilterEvent).Wait(); WriteEventToDb(deleteFilterEvent, "Filter event not deleted"); var g = this.FilterRepo.GetFilter(createFilterEvent.FilterUID.ToString()); g.Wait(); Assert.IsNull(g.Result, "Should not be able to retrieve filter from filterRepo"); }
/// <summary> /// Create an instance of the master data events. Convert to JSON. /// </summary> /// <param name="eventObject">event to be published</param> /// <returns>json string with event serialized</returns> private string BuildEventIntoObject(dynamic eventObject) { var jsonString = string.Empty; string eventType = eventObject.EventType; switch (eventType) { case "CreateFilterEvent": var createFilterEvent = new CreateFilterEvent { ActionUTC = EventDate, FilterUID = eventObject.FilterUID, CustomerUID = eventObject.CustomerUID, ProjectUID = eventObject.ProjectUID, UserID = eventObject.UserID, FilterJson = eventObject.FilterJson, FilterType = eventObject.FilterType }; jsonString = JsonConvert.SerializeObject(new { CreateFilterEvent = createFilterEvent }, JsonSettings); break; case "UpdateFilterEvent": var updateFilterEvent = new UpdateFilterEvent { ActionUTC = EventDate, FilterUID = eventObject.FilterUID, CustomerUID = eventObject.CustomerUID, ProjectUID = eventObject.ProjectUID, UserID = eventObject.UserID, FilterJson = eventObject.FilterJson, FilterType = eventObject.FilterType }; jsonString = JsonConvert.SerializeObject(new { UpdateFilterEvent = updateFilterEvent }, JsonSettings); break; case "DeleteFilterEvent": var deleteFilterEvent = new DeleteFilterEvent { ActionUTC = EventDate, FilterUID = eventObject.FilterUID, CustomerUID = eventObject.CustomerUID, ProjectUID = eventObject.ProjectUID, UserID = eventObject.UserID, }; jsonString = JsonConvert.SerializeObject(new { DeleteFilterEvent = deleteFilterEvent }, JsonSettings); break; } return(jsonString); }
public void DeleteTransientFilter_UnhappyPath() { DateTime firstCreatedUtc = new DateTime(2017, 1, 1, 2, 30, 3); var deleteFilterEvent = new DeleteFilterEvent { CustomerUID = Guid.NewGuid(), ProjectUID = Guid.NewGuid(), UserID = Guid.NewGuid().ToString(), FilterUID = Guid.NewGuid(), ActionUTC = firstCreatedUtc.AddMinutes(2) }; WriteEventToDb(deleteFilterEvent, "Filter event set to deleted"); var g = this.FilterRepo.GetFilter(deleteFilterEvent.FilterUID.ToString()); g.Wait(); Assert.IsNull(g.Result, "Should not be able to retrieve deleted filter from filterRepo"); g = ((FilterRepository)this.FilterRepo).GetFilterForUnitTest(deleteFilterEvent.FilterUID.ToString()); g.Wait(); Assert.IsNotNull(g.Result, "Should be able to retrieve deleted filter from filterRepo"); }