public static async Task <TestDurableClient> StartOrchestratorAsync( this JobHost host, string functionName, object input, ITestOutputHelper output, string instanceId = null, bool useTaskHubFromAppSettings = false) { var startFunction = useTaskHubFromAppSettings ? typeof(ClientFunctions).GetMethod(nameof(ClientFunctions.StartFunctionWithTaskHub)) : typeof(ClientFunctions).GetMethod(nameof(ClientFunctions.StartFunction)); var clientRef = new TestDurableClient[1]; var args = new Dictionary <string, object> { { "functionName", functionName }, { "instanceId", instanceId }, { "input", input }, { "clientRef", clientRef }, }; await host.CallAsync(startFunction, args); TestDurableClient client = clientRef[0]; output.WriteLine($"Started {functionName}, Instance ID = {client.InstanceId}"); return(client); }
public static async Task StartFunctionWithTaskHub( [DurableClient(TaskHub = "%TestTaskHub%")] IDurableClient client, string functionName, string instanceId, object input, TestDurableClient[] clientRef) { DateTime instanceCreationTime = DateTime.UtcNow; instanceId = await client.StartNewAsync(functionName, instanceId, input); clientRef[0] = new TestDurableClient( client, functionName, instanceId, instanceCreationTime); }