public async Task <Guid?> Handle(CreateNotificationPipelineCommand request, CancellationToken cancellationToken) { _logger.LogDebug("Handle started"); var pipeline = NotificationPipeline.Create( NotificationPipelineName.FromString(request.Name), String.IsNullOrEmpty(request.Description) == true ? NotificationPipelineDescription.Empty : NotificationPipelineDescription.FromString(request.Description), request.TriggerName, _conditionFactory.Initilize(new NotificationConditionCreateModel { Typename = request.CondtionName, PropertiesAndValues = request.ConditionProperties, }), _actorFactory.Initilize(new NotificationActorCreateModel { Typename = request.ActorName, PropertiesAndValues = request.ActorProperties, }), _loggerFactory.CreateLogger <NotificationPipeline>(), _conditionFactory, _actorFactory ); Boolean storeResult = await _engine.AddNotificationPipeline(pipeline); if (storeResult == false) { return(null); } return(pipeline.Id); }
public void FromString_Failed_Empty() { IEnumerable <String> emptyInputs = InputHelper.GetEmptyStringInputs(); foreach (String input in emptyInputs) { Assert.ThrowsAny <Exception>(() => NotificationPipelineName.FromString(input)); } }
public void FromString() { Random random = new Random(); String value = random.GetAlphanumericString(); NotificationPipelineName name = NotificationPipelineName.FromString(value); Assert.NotNull(name); Assert.Equal(value, name.Value); Assert.Equal(value, name); }
public void Ceate() { Random random = new Random(); String name = random.GetAlphanumericString(); String description = random.GetAlphanumericString(); String triggerInputName = random.GetAlphanumericString(); NotificationConditionCreateModel conditionCreateModel = new NotificationConditionCreateModel() { Typename = random.GetAlphanumericString() }; NotificationActorCreateModel actorCreateModel = new NotificationActorCreateModel() { Typename = random.GetAlphanumericString() }; DummyNotificationCondition condition = new DummyNotificationCondition { ToCreateModelResult = conditionCreateModel }; DummyNotificationActor actor = new DummyNotificationActor { ToCreateModelResult = actorCreateModel }; Mock <INotificationConditionFactory> conditionFactoryMock = new Mock <INotificationConditionFactory>(MockBehavior.Strict); conditionFactoryMock.Setup(x => x.Initilize(conditionCreateModel)).Returns(condition).Verifiable(); Mock <INotificationActorFactory> actorFactoryMock = new Mock <INotificationActorFactory>(MockBehavior.Strict); actorFactoryMock.Setup(x => x.Initilize(actorCreateModel)).Returns(actor).Verifiable(); var pipeline = NotificationPipeline.Create( NotificationPipelineName.FromString(name), NotificationPipelineDescription.FromString(description), triggerInputName, condition, actor, Mock.Of <ILogger <NotificationPipeline> >(), conditionFactoryMock.Object, actorFactoryMock.Object); Assert.Equal(name, pipeline.Name); Assert.Equal(description, pipeline.Description); Assert.Equal(triggerInputName, pipeline.TriggerIdentifier); Assert.Equal(condition, pipeline.Condition); Assert.Equal(actor, pipeline.Actor); var @event = GetFirstEvent <NotificationPipelineCreatedEvent>(pipeline); Assert.Equal(name, @event.Name); Assert.Equal(description, @event.Description); Assert.Equal(triggerInputName, @event.TriggerIdentifier); Assert.Equal(actorCreateModel, @event.ActorCreateInfo); Assert.Equal(conditionCreateModel, @event.ConditionCreateInfo); }
public void FromString_MinMax(Int32 lenght, Boolean shouldThrowException) { Random random = new Random(); String value = random.GetAlphanumericString(lenght); if (shouldThrowException == true) { Assert.ThrowsAny <Exception>(() => NotificationPipelineName.FromString(value)); } else { NotificationPipelineName name = NotificationPipelineName.FromString(value); Assert.NotNull(name); Assert.Equal(value, name.Value); Assert.Equal(value, name); } }