예제 #1
0
        public static StepResult RefreshSample(ScenarioContext context)
        {
            var baseAddress = $"{context[Context.ServiceUrl] as string}/api/DataX.Flow/Flow.SchemaInferenceService/inputdata/refreshsample";

            string jsonResult = Request.Post(baseAddress,
                                             RequestContent.EncodeAsJson(
                                                 JObject.Parse(context[Context.InferSchemaInputJson] as string)),
                                             context[Context.AuthToken] as string);
            dynamic result = JObject.Parse(jsonResult);

            return(new StepResult(((string)result.result).Contains("success"),
                                  nameof(RefreshSample),
                                  $"Refreshing Sample"));
        }
        public static StepResult SaveJob(ScenarioContext context)
        {
            var    baseAddress = $"{context[Context.ServiceUrl] as string}/api/DataX.Flow/Flow.ManagementService/flow/save";
            string jsonResult  = Request.Post(baseAddress,
                                              RequestContent.EncodeAsJson(
                                                  JObject.Parse(context[Context.FlowConfigContent] as string)),
                                              context[Context.AuthToken] as string);

            dynamic result = JObject.Parse(jsonResult);

            context[Context.FlowName] = (string)result.result.name;
            return(new StepResult(!string.IsNullOrWhiteSpace(context[Context.FlowName] as string),
                                  nameof(SaveJob),
                                  $"created a flow '{context[Context.FlowName]}' "));
        }
예제 #3
0
        public static StepResult RefreshKernel(ScenarioContext context)
        {
            var baseAddress = $"{context[Context.ServiceUrl] as string}/api/DataX.Flow/Flow.InteractiveQueryService/kernel/refresh";

            string jsonResult = Request.Post(baseAddress,
                                             RequestContent.EncodeAsJson(
                                                 JObject.Parse(context[Context.InitializeKernelJson] as string)),
                                             context[Context.AuthToken] as string);

            dynamic result = JObject.Parse(jsonResult);

            context[Context.KernelId] = (string)result.result.result;
            return(new StepResult(!(string.IsNullOrWhiteSpace(context[Context.KernelId] as string) && (string)result.result.message == ""),
                                  nameof(RefreshKernel),
                                  $"Refresh the kernel '{context[Context.KernelId]}' "));
        }
예제 #4
0
        public static StepResult InferSchema(ScenarioContext context)
        {
            var baseAddress = $"{context[Context.ServiceUrl] as string}/api/DataX.Flow/Flow.SchemaInferenceService/inputdata/inferschema";

            context[Context.InferSchemaInputJson] = $"{{\"name\": \"{context[Context.FlowName] as string}\", \"userName\": \"{context[Context.FlowName] as string}\", \"eventhubConnectionString\": \"{context[Context.EventhubConnectionString] as string}\", \"eventHubNames\": \"{context[Context.EventHubName] as string}\", \"inputType\": \"iothub\", \"seconds\": \"{context[Context.Seconds] as string}\", \"databricksToken\": \"{context[Context.DataBricksToken] as string}\"}}";
            string jsonResult = Request.Post(baseAddress,
                                             RequestContent.EncodeAsJson(
                                                 JObject.Parse(context[Context.InferSchemaInputJson] as string)),
                                             context[Context.AuthToken] as string);
            dynamic result = JObject.Parse(jsonResult);

            context[Context.InputSchema] = JsonConvert.SerializeObject((string)result.result.Schema);
            return(new StepResult(!string.IsNullOrWhiteSpace(context[Context.InputSchema] as string),
                                  nameof(InferSchema),
                                  $"Inferring Schema '{context[Context.InputSchema]}' "));
        }
예제 #5
0
        public static StepResult RefreshSampleAndKernel(ScenarioContext context)
        {
            var baseAddress = $"{context[Context.ServiceUrl] as string}/api/DataX.Flow/Flow.LiveDataService/inputdata/refreshsampleandkernel";

            context[Context.InitializeKernelJson] = new Helper().GetInitializeKernelJson(context);

            string jsonResult = Request.Post(baseAddress,
                                             RequestContent.EncodeAsJson(
                                                 JObject.Parse(context[Context.InitializeKernelJson] as string)),
                                             context[Context.AuthToken] as string);

            dynamic result = JObject.Parse(jsonResult);

            context[Context.KernelId] = (string)result.result.result;
            return(new StepResult(!(string.IsNullOrWhiteSpace(context[Context.KernelId] as string) && (string)result.result.message == ""),
                                  nameof(RefreshSampleAndKernel),
                                  $"Refresh the sample and kernel '{context[Context.KernelId]}' "));
        }
예제 #6
0
        /// <summary>
        /// Creates a JSON post request for an object representation based in the current context data
        /// </summary>
        /// <param name="baseAddress"></param>
        /// <param name="jsonObjectValue"></param>
        /// <returns></returns>
        public dynamic DoHttpPostJsonObject(string baseAddress, string jsonObjectValue)
        {
            string jsonResult = DoHttpPost(baseAddress, RequestContent.EncodeAsJson(JObject.Parse(jsonObjectValue), ApplicationJson));

            return(JObject.Parse(jsonResult));
        }