Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        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");
        }