public Task <ActionResult> EditMessage(EditStatusEventMessage model) { var startTime = ParseModelDateTime(model.StartTime); var timestamp = ParseModelDateTime(model.Timestamp); ManualStatusChangeEntity entity; if (model.Delete) { entity = new DeleteStatusMessageManualChangeEntity( model.AffectedComponentPath, startTime, timestamp); } else { entity = new EditStatusMessageManualChangeEntity( model.AffectedComponentPath, startTime, timestamp, model.EditMessage); } return(RunUpdateStatusTask(entity)); }
public async Task FailsIfMessageDoesNotExist() { var entity = new DeleteStatusMessageManualChangeEntity("path", new DateTime(2018, 8, 20), new DateTime(2018, 8, 21)); _table .Setup(x => x.RetrieveAsync <MessageEntity>(It.IsAny <string>())) .ReturnsAsync((MessageEntity)null); await Assert.ThrowsAsync <ArgumentException>(() => _handler.Handle(entity)); }
public async Task DeletesEvent(MessageType type) { var entity = new DeleteStatusMessageManualChangeEntity("path", new DateTime(2018, 8, 20), new DateTime(2018, 8, 21)); var eventEntity = new EventEntity( entity.EventAffectedComponentPath, entity.EventStartTime); var eventRowKey = eventEntity.RowKey; var messageEntity = new MessageEntity( eventEntity, entity.MessageTimestamp, "someContents", type); var messageRowKey = messageEntity.RowKey; _table .Setup(x => x.RetrieveAsync <MessageEntity>(messageRowKey)) .ReturnsAsync(messageEntity); _table .Setup(x => x.ReplaceAsync(It.Is <MessageEntity>( message => message.PartitionKey == MessageEntity.DefaultPartitionKey && message.RowKey == messageRowKey && message.ParentRowKey == eventRowKey && message.Time == messageEntity.Time && message.Contents == string.Empty && message.Type == (int)MessageType.Manual))) .Returns(Task.CompletedTask); await _handler.Handle(entity); _table.Verify(); }