public async Task NewTraceTestWithPojo() { var sdk = GetSdk <StateExample>(); Dictionary <string, object> data = new Dictionary <string, object> { ["weight"] = "123", ["valid"] = true, ["operators"] = new string[] { "1", "2" }, ["operation"] = "my new operation 1" }; DataClass d = new DataClass() { f11 = 1, f22 = data }; NewTraceInput <DataClass> input = new NewTraceInput <DataClass>(ACTION_KEY, d); TraceState <StateExample, DataClass> state = await sdk.NewTraceAsync <DataClass>(input); someTraceState = state; Assert.NotNull(state.TraceId); }
public async Task NewTraceTestWithGenericType() { var sdk = GetSdk <StateExample>(); Dictionary <string, object> data = new Dictionary <string, object> { ["weight"] = "123", ["valid"] = true, ["operators"] = new string[] { "1", "2" }, ["operation"] = "my new operation 1" }; SomeClass d = new SomeClass() { f11 = 1, f22 = data }; NewTraceInput <SomeClass> input = new NewTraceInput <SomeClass>(FORM_ID, d); TraceState <StateExample, SomeClass> state = await sdk.NewTraceAsync <SomeClass>(input); someTraceState2 = state; Assert.IsNotNull(state.TraceId); }
public async Task NewTraceUploadInClassTest() { Sdk <Object> sdk = GetSdk <Object>(); Step s = new Step(); s.data = new StepData(); s.data.stp_form_section = new Identifiable[] { FileWrapper.FromFilePath(Path.GetFullPath("../../Resources/TestFile1.txt")) }; NewTraceInput <Step> newTraceInput = new NewTraceInput <Step>(FORM_ID, s); TraceState <object, Step> state = await sdk.NewTraceAsync <Step>(newTraceInput); Assert.IsNotNull(state.TraceId); Debug.WriteLine(state.TraceId); }
public async Task NewTraceTest() { var sdk = GetSdk(); IDictionary <string, object> data = new Dictionary <string, object> { ["weight"] = "123", ["valid"] = true, ["operators"] = new string[] { "1", "2" }, ["operation"] = "my new operation 1" }; NewTraceInput <object> input = new NewTraceInput <object>(ACTION_KEY, data); TraceState <object, object> state = await sdk.NewTraceAsync <object>(input); someTraceState = state; Assert.NotNull(state.TraceId); }
public async Task NewTraceTest() { var sdk = GetSdk(); IDictionary <string, object> data = new Dictionary <string, object> { ["entity"] = config.OTHER_GROUP_NAME, ["submissionPeriod"] = "2021.Q4", ["startDate"] = "2021-01-30", ["deadline"] = "2021-06-30", ["comment"] = "init comment" }; NewTraceInput <object> input = new NewTraceInput <object>(config.INIT_ACTION_KEY, data); TraceState <object, object> state = await sdk.NewTraceAsync <object>(input); someTraceState = state; Debug.WriteLine(JsonHelper.ToJson(state)); Assert.NotNull(state.TraceId); }
public async Task NewTraceTestWithPojo() { var sdk = GetSdk <StateExample>(); InitDataClass data = new InitDataClass(); data.entity = config.OTHER_GROUP_NAME; data.submissionPeriod = "2021.Q4"; data.startDate = "2021-01-30"; data.deadline = "2021-06-30"; data.comment = "init comment"; NewTraceInput <InitDataClass> input = new NewTraceInput <InitDataClass>(config.INIT_ACTION_KEY, data); TraceState <StateExample, InitDataClass> state = await sdk.NewTraceAsync <InitDataClass>(input); initTraceState = state; Debug.WriteLine(JsonHelper.ToJson(state)); Assert.NotNull(state.TraceId); }
public async Task NewTraceUploadTest() { Sdk <Object> sdk = GetSdk(); IDictionary <string, object> data = new Dictionary <string, object> { ["weight"] = "123", ["valid"] = true, ["operators"] = new string[] { "1", "2" }, ["operation"] = "my new operation 1" }; data.Add("Certificate1", FileWrapper.FromFilePath(Path.GetFullPath("../../Resources/TestFile1.txt"))); data.Add("Certificates", new Identifiable[] { FileWrapper.FromFilePath(Path.GetFullPath("../../Resources/TestFile1.txt")) }); NewTraceInput <Object> newTraceInput = new NewTraceInput <Object>(FORM_ID, data); TraceState <object, object> state = await sdk.NewTraceAsync <object>(newTraceInput); Assert.IsNotNull(state.TraceId); someTraceState = state; }
/// <summary> /// The NewTrace /// </summary> /// <typeparam name="TLinkData"></typeparam> /// <param name="input">The input<see cref="NewTraceInput{TLinkData}"/></param> /// <returns>The <see cref="Task{TraceState{TState, TLinkData}}"/></returns> public async Task <TraceState <TState, TLinkData> > NewTraceAsync <TLinkData>(NewTraceInput <TLinkData> input) { //extract info from input string actionKey = input.ActionKey; TLinkData data = input.Data; string groupLabel = input.GroupLabel; SdkConfig sdkConfig = await this.GetConfigAsync(); string workflowId = sdkConfig.WorkflowId; string configId = sdkConfig.ConfigId; string accountId = sdkConfig.AccountId; string groupId = sdkConfig.GetGroupId(groupLabel); // upload files and transform data await this.UploadFilesInLinkData(data); TraceLinkBuilderConfig <TLinkData> cfg = new TraceLinkBuilderConfig <TLinkData>() { WorkflowId = workflowId, // and workflow config id ConfigId = configId, }; // 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 an attestation linkBuilder.ForAttestation(actionKey, data).WithGroup(groupId).WithCreatedBy(accountId); // call createLink helper return(await this.CreateLinkAsync(linkBuilder)); }
/// <summary> /// The NewTrace /// </summary> /// <typeparam name="TLinkData"></typeparam> /// <param name="input">The input<see cref="NewTraceInput{TLinkData}"/></param> /// <returns>The <see cref="Task{TraceState{TState, TLinkData}}"/></returns> public async Task <TraceState <TState, TLinkData> > NewTraceAsync <TLinkData>(NewTraceInput <TLinkData> input) { //extract info from input string formId = input.FormId; TLinkData data = input.Data; SdkConfig sdkConfig = await this.GetConfigAsync(); string workflowId = sdkConfig.WorkflowId; string userId = sdkConfig.UserId; string ownerId = sdkConfig.OwnerId; string groupId = sdkConfig.GroupId; IDictionary <string, string> actionNames = sdkConfig.ActionNames; // upload files and transform data await this.UploadFilesInLinkData(data); TraceLinkBuilderConfig <TLinkData> cfg = new TraceLinkBuilderConfig <TLinkData>() { WorkflowId = workflowId }; // use a TraceLinkBuilder to create the first link // only provide workflowId to initiate a new trace TraceLinkBuilder <TLinkData> linkBuilder = new TraceLinkBuilder <TLinkData>(cfg); var action = actionNames.ContainsKey(formId) ? actionNames[formId] : null; // this is an attestation linkBuilder.ForAttestation(formId, action, data).WithOwner(ownerId).WithGroup(groupId).WithCreatedBy(userId); // call createLink helper return(await this.CreateLinkAsync(linkBuilder)); }