public async Task PushTraceTestWithPojo() { var sdk = GetSdk <StateExample>(); await NewTraceTestWithPojo(); Assert.IsNotNull(someTraceState); Dictionary <string, object> data = new Dictionary <string, object>() { { "why", "because im testing the pushTrace 2" } }; DataClass d = new DataClass() { f11 = 1, f22 = data }; PushTransferInput <DataClass> push = new PushTransferInput <DataClass>(someTraceState.TraceId, "86", d, null); someTraceState = await sdk.PushTraceAsync <DataClass>(push); Assert.IsNotNull(push.TraceId); }
public async Task PushTraceTest() { await NewTraceTest(); Assert.NotNull(someTraceState); PushTransferInput <object> push = new PushTransferInput <object>(someTraceState.TraceId, OTHER_GROUP, new object(), null); someTraceState = await GetSdk().PushTraceAsync <object>(push); Assert.NotNull(push.TraceId); }
public async Task PushTraceTestWithPojo() { var sdk = GetSdk <StateExample>(); await NewTraceTestWithPojo(); Assert.NotNull(someTraceState); PushTransferInput <Object> push = new PushTransferInput <Object>(someTraceState.TraceId, OTHER_GROUP, new Object(), null); await sdk.PushTraceAsync <Object>(push); Assert.NotNull(push.TraceId); }
public async Task PushTraceToMyGroupTest() { await NewTraceTest(); Assert.IsNotNull(someTraceState); IDictionary <string, object> data = new Dictionary <string, object>() { { "why", "because im testing the pushTrace 2" } }; PushTransferInput <object> push = new PushTransferInput <object>(someTraceState.TraceId, MY_GROUP, data, null); someTraceState = await GetSdk().PushTraceAsync <object>(push); Assert.IsNotNull(push.TraceId); }
/// <summary> /// The PushTrace /// </summary> /// <typeparam name="TLinkData"></typeparam> /// <param name="input">The input<see cref="PushTransferInput{TLinkData}"/></param> /// <returns>The <see cref="Task{TraceState{TState, TLinkData}}"/></returns> public async Task <TraceState <TState, TLinkData> > PushTraceAsync <TLinkData>(PushTransferInput <TLinkData> input) { // retrieve parent link TransferResponseInput <TLinkData> headLinkInput = new TransferResponseInput <TLinkData>(input.TraceId, null); TraceLink <TLinkData> parentLink = await this.GetHeadLinkAsync <TLinkData>(headLinkInput); //extract info from input string recipient = input.Recipient; TLinkData data = input.Data; SdkConfig sdkConfig = await this.GetConfigAsync(); string workflowId = sdkConfig.WorkflowId; string configId = sdkConfig.ConfigId; string accountId = sdkConfig.AccountId; TraceLinkBuilderConfig <TLinkData> cfg = new TraceLinkBuilderConfig <TLinkData>() { // provide workflow id WorkflowId = workflowId, // and workflow config id ConfigId = configId, // and parent link to append to the existing trace ParentLink = parentLink }; // use a TraceLinkBuilder to create the first link // only provide workflowId to initiate a new trace TraceLinkBuilder <TLinkData> linkBuilder = new TraceLinkBuilder <TLinkData>(cfg); // this is a push transfer linkBuilder.ForPushTransfer(recipient, data).WithCreatedBy(accountId); // call createLink helper return(await this.CreateLinkAsync(linkBuilder)); }