public void ValidateTask_Throws_WhenActivityFunctionHasNoProperBinding( string bindingType, BindingInfo.Types.Direction bindingDirection) { var history = CreateHistory(scheduled: false, completed: false, output: InvocationResultJson); var orchestrationContext = new OrchestrationContext { History = history }; var loadedFunctions = new[] { DurableTestUtilities.CreateFakeAzFunctionInfo(FunctionName, "fakeTriggerBindingName", bindingType, bindingDirection) }; var durableTaskHandler = new DurableTaskHandler(); var exception = Assert.Throws <InvalidOperationException>( () => ActivityInvocationTask.ValidateTask( new ActivityInvocationTask(FunctionName, FunctionInput), loadedFunctions)); Assert.Contains(FunctionName, exception.Message); Assert.Contains(ActivityTriggerBindingType, exception.Message); DurableTestUtilities.VerifyNoActionAdded(orchestrationContext); }
protected override void EndProcessing() { var privateData = (Hashtable)MyInvocation.MyCommand.Module.PrivateData; var context = (OrchestrationContext)privateData[SetFunctionInvocationContextCommand.ContextKey]; var loadedFunctions = FunctionLoader.GetLoadedFunctions(); var task = new ActivityInvocationTask(FunctionName, Input, RetryOptions); ActivityInvocationTask.ValidateTask(task, loadedFunctions); _durableTaskHandler.StopAndInitiateDurableTaskOrReplay( task, context, NoWait.IsPresent, output: WriteObject, onFailure: failureReason => DurableActivityErrorHandler.Handle(this, failureReason), retryOptions: RetryOptions); }