public TriggersForActivityBlueprintAndWorkflowProvider(
     IBookmarkHasher bookmarkHasher,
     IEnumerable <IBookmarkProvider> bookmarkProviders,
     ICreatesActivityExecutionContextForActivityBlueprint activityExecutionContextFactory)
 {
     _bookmarkHasher    = bookmarkHasher;
     _bookmarkProviders = bookmarkProviders;
     _activityExecutionContextFactory = activityExecutionContextFactory;
 }
示例#2
0
 public TriggersForActivityBlueprintAndWorkflowProvider(
     IBookmarkHasher bookmarkHasher,
     IEnumerable <IBookmarkProvider> bookmarkProviders,
     ICreatesActivityExecutionContextForActivityBlueprint activityExecutionContextFactory)
 {
     this.bookmarkHasher    = bookmarkHasher ?? throw new System.ArgumentNullException(nameof(bookmarkHasher));
     this.bookmarkProviders = bookmarkProviders ?? throw new System.ArgumentNullException(nameof(bookmarkProviders));
     this.activityExecutionContextFactory = activityExecutionContextFactory ?? throw new System.ArgumentNullException(nameof(activityExecutionContextFactory));
 }
示例#3
0
 public BookmarkFinder(IBookmarkStore bookmarkStore, IBookmarkHasher hasher, IBookmarkSerializer serializer)
 {
     _bookmarkStore = bookmarkStore;
     _hasher        = hasher;
     _serializer    = serializer;
 }
示例#4
0
        public async Task GetTriggersForActivityBlueprintAsyncReturnsTriggersForEachBookmarkInSupportedBookmarkProviders(IBookmarkHasher bookmarkHasher,
                                                                                                                         IBookmarkProvider bookmarkProvider1,
                                                                                                                         IBookmarkProvider unsupportedBookmarkProvider,
                                                                                                                         IBookmarkProvider bookmarkProvider2,
                                                                                                                         ICreatesActivityExecutionContextForActivityBlueprint activityExecutionContextFactory,
                                                                                                                         [Frozen] IActivityBlueprint activityBlueprint,
                                                                                                                         [WithAutofixtureResolution, Frozen] IServiceProvider serviceProvider,
                                                                                                                         [Frozen] IWorkflowBlueprint workflowBlueprint,
                                                                                                                         [OmitOnRecursion, Frozen] WorkflowInstance workflowInstance,
                                                                                                                         [Frozen] WorkflowExecutionContext workflowExecutionContext,
                                                                                                                         [NoAutoProperties] ActivityExecutionContext activityExecutionContext,
                                                                                                                         ActivityType activityType,
                                                                                                                         IBookmark bookmark1,
                                                                                                                         IBookmark bookmark2,
                                                                                                                         IBookmark bookmark3,
                                                                                                                         IBookmark bookmark4)
        {
            var sut = new TriggersForActivityBlueprintAndWorkflowProvider(bookmarkHasher,
                                                                          new[] { bookmarkProvider1, unsupportedBookmarkProvider, bookmarkProvider2 },
                                                                          activityExecutionContextFactory);

            Mock.Get(activityExecutionContextFactory)
            .Setup(x => x.CreateActivityExecutionContext(activityBlueprint, workflowExecutionContext, default))
            .Returns(activityExecutionContext);
            Mock.Get(activityBlueprint).SetupGet(x => x.Type).Returns(activityType.TypeName);
            Mock.Get(bookmarkProvider1)
            .Setup(x => x.SupportsActivityAsync(It.Is <BookmarkProviderContext>(c => c.ActivityType == activityType), default))
            .Returns(() => ValueTask.FromResult(true));
            Mock.Get(unsupportedBookmarkProvider)
            .Setup(x => x.SupportsActivityAsync(It.Is <BookmarkProviderContext>(c => c.ActivityType == activityType), default))
            .Returns(() => ValueTask.FromResult(false));
            Mock.Get(bookmarkProvider2)
            .Setup(x => x.SupportsActivityAsync(It.Is <BookmarkProviderContext>(c => c.ActivityType == activityType), default))
            .Returns(() => ValueTask.FromResult(true));
            Mock.Get(bookmarkProvider1)
            .Setup(x => x.GetBookmarksAsync(It.IsAny <BookmarkProviderContext>(), default))
            .Returns(() => ValueTask.FromResult <IEnumerable <IBookmark> >(new [] { bookmark1, bookmark2 }));
            Mock.Get(bookmarkProvider2)
            .Setup(x => x.GetBookmarksAsync(It.IsAny <BookmarkProviderContext>(), default))
            .Returns(() => ValueTask.FromResult <IEnumerable <IBookmark> >(new [] { bookmark3, bookmark4 }));

            var result = await sut.GetTriggersForActivityBlueprintAsync(activityBlueprint,
                                                                        workflowExecutionContext,
                                                                        new Dictionary <string, ActivityType> {
                { activityType.TypeName, activityType }
            });

            Assert.True(result.Any(x => x.Bookmark == bookmark1), "Result contains a trigger for bookmark 1");
            Assert.True(result.Any(x => x.Bookmark == bookmark2), "Result contains a trigger for bookmark 2");
            Assert.True(result.Any(x => x.Bookmark == bookmark3), "Result contains a trigger for bookmark 3");
            Assert.True(result.Any(x => x.Bookmark == bookmark4), "Result contains a trigger for bookmark 4");
            Assert.True(result.Count() == 4, "Result has 4 items");
        }
示例#5
0
 public BookmarkFinder(IBookmarkStore bookmarkStore, IBookmarkHasher hasher)
 {
     _bookmarkStore      = bookmarkStore;
     _hasher             = hasher;
     _serializerSettings = new JsonSerializerSettings().ConfigureForNodaTime(DateTimeZoneProviders.Tzdb);
 }
示例#6
0
 public TriggerFinder(ITriggerStore triggerStore, IContentSerializer contentSerializer, IBookmarkHasher bookmarkHasher)
 {
     _triggerStore      = triggerStore;
     _contentSerializer = contentSerializer;
     _bookmarkHasher    = bookmarkHasher;
 }
示例#7
0
 public TriggerFinder(ITriggerStore triggerStore, IBookmarkHasher bookmarkHasher)
 {
     _triggerStore   = triggerStore;
     _bookmarkHasher = bookmarkHasher;
 }