Ejemplo n.º 1
0
        public static object[] GenerateBodyANdModelParameters(string JSOnText)
        {
            object[] BodyParamArray = new object[2];

            JsonExtended JE = new JsonExtended(JSOnText);

            ObservableList <AppModelParameter> AppModelParameters = new ObservableList <AppModelParameter>();

            JToken jt = JToken.Parse(JSOnText);
            Dictionary <string, string> ParamPath = new Dictionary <string, string>();
            List <string> consts = new List <string>();

            foreach (var Jn in JE.GetEndingNodes())
            {
                if (Jn == null)
                {
                    continue;
                }
                string tagName   = Jn.Path.Split('.').LastOrDefault();
                string paramname = tagName.ToUpper();
                int    i         = 0;
                string param     = "<" + paramname + ">";
                while (ParamPath.ContainsKey(param))
                {
                    i++;
                    param = "<" + paramname + i + ">";
                }

                ParamPath.Add(param, Jn.Path);
                JToken jt2 = jt.SelectToken(Jn.Path);
                try
                {
                    if (jt2.Type != JTokenType.String && jt2.Type != JTokenType.Array)
                    {
                        consts.Add(param);
                    }
                    ((JValue)jt2).Value = param;
                }

                catch (Exception)
                {
                    if (jt2.Type != JTokenType.String && jt2.Type != JTokenType.Array)
                    {
                        consts.Add(param);
                    }
                    jt2.Replace(param);
                }
                AppModelParameters.Add(new AppModelParameter(param, "", tagName, Jn.Path, new ObservableList <OptionalValue>()));
            }
            string body = jt.ToString();

            foreach (var item in consts)
            {
                body = body.Replace("\"" + item + "\"", item);
            }
            BodyParamArray[0] = body;
            BodyParamArray[1] = AppModelParameters;
            return(BodyParamArray);
        }
Ejemplo n.º 2
0
        public void XMLDocGetAllNodesTest()
        {
            //Arrange
            string jsonfilepath = TestResources.GetTestResourcesFile(@"JSON\sample.json");
            string JSOnText     = System.IO.File.ReadAllText(jsonfilepath);

            //Act
            XDE = new JsonExtended(JSOnText);
            int nodesCount  = XDE.GetAllNodes().Count;
            var endingNodes = XDE.GetEndingNodes();

            //Assert
            Assert.AreEqual(12, nodesCount);
        }
        public void GetJSONAllOptionalValuesFromExamplesFile(string fileContent, Dictionary <Tuple <string, string>, List <string> > optionalValuesPerParameterDict)
        {
            JsonExtended JE = new JsonExtended(fileContent);

            foreach (JsonExtended JTN in JE.GetEndingNodes())
            {
                try
                {
                    AddJSONValueToOptionalValuesPerParameterDict(optionalValuesPerParameterDict, JTN.GetToken());
                }
                catch (Exception ex)
                {
                    Reporter.ToLog(eLogLevel.ERROR, ex.StackTrace);
                }
            }
        }
        private void GetJSONAllOptionalValuesFromExamplesFile(TemplateFile xMLTemplateFile, Dictionary <Tuple <string, string>, List <string> > optionalValuesPerParameterDict)
        {
            string       FileContent = File.ReadAllText(xMLTemplateFile.FilePath);
            JsonExtended JE          = new JsonExtended(FileContent);

            foreach (JsonExtended JTN in JE.GetEndingNodes())
            {
                try
                {
                    AddJSONValueToOptionalValuesPerParameterDict(optionalValuesPerParameterDict, JTN.GetToken());
                }
                catch
                {
                }
            }
        }
Ejemplo n.º 5
0
        public static ObservableList <ActReturnValue> ParseJSONResponseSampleIntoReturnValues(string JSOnText)
        {
            ObservableList <ActReturnValue> ReturnValues = new ObservableList <ActReturnValue>();

            JToken jt = JToken.Parse(JSOnText);

            JsonExtended JE = new JsonExtended(JSOnText);

            foreach (var Jn in JE.GetEndingNodes())
            {
                string tagName = Jn.Path.Split('.').LastOrDefault();

                ReturnValues.Add(new ActReturnValue()
                {
                    Param = tagName, Path = Jn.Path, Active = true, DoNotConsiderAsTemp = true
                });
            }

            return(ReturnValues);
        }
Ejemplo n.º 6
0
        private void JSONValidation(string json)
        {
            JToken jo = null;

            try
            {
                jo = JObject.Parse(json);
            }
            catch
            {
                jo = JArray.Parse(json);
            }

            foreach (ActInputValue aiv in DynamicElements)
            {
                ValueExpression VE = new ValueExpression(RunOnEnvironment, RunOnBusinessFlow, DSList);
                VE.Value = @aiv.Param;
                if (string.IsNullOrEmpty(VE.ValueCalculated))
                {
                    continue;
                }
                JToken Tokenfound = jo.SelectToken(VE.ValueCalculated);
                if (Tokenfound != null)
                {
                    AddOrUpdateReturnParamActualWithPath("InnerText", Tokenfound.ToString(), VE.ValueCalculated);
                    if (Tokenfound.Children().Count() > 0)
                    {
                        JsonExtended JE = new JsonExtended(Tokenfound.ToString());
                        foreach (JsonExtended item in JE.GetEndingNodes())
                        {
                            AddOrUpdateReturnParamActualWithPath(item.Name, item.JsonString, item.Path);
                        }
                    }
                }
            }
        }
Ejemplo n.º 7
0
        public static object[] GenerateBodyANdModelParameters(string JSOnText)
        {
            object[] BodyParamArray = new object[2];

            JsonExtended JE = new JsonExtended(JSOnText);

            ObservableList <AppModelParameter> AppModelParameters = new ObservableList <AppModelParameter>();

            JToken jt = JToken.Parse(JSOnText);
            Dictionary <string, string> ParamPath = new Dictionary <string, string>();
            List <string> consts = new List <string>();

            IEnumerable <JsonExtended> EndingNodesList = JE.GetEndingNodes();

            foreach (var Jn in EndingNodesList)
            {
                if (Jn == null)
                {
                    continue;
                }
                string tagName   = Jn.Path.Split('.').LastOrDefault();
                string paramname = tagName.ToUpper();
                int    i         = 0;
                string param     = "<" + paramname + ">";
                while (ParamPath.ContainsKey(param))
                {
                    i++;
                    param = "<" + paramname + i + ">";
                }

                ParamPath.Add(param, Jn.Path);
                JToken jt2 = jt.SelectToken(Jn.Path);
                try
                {
                    if (jt2.Type != JTokenType.String && jt2.Type != JTokenType.Array)
                    {
                        consts.Add(param);
                    }
                    //handling empty aaray like 'NewCar':[ ]
                    if (jt2.Type == JTokenType.Array && jt2.Children().Count() == 0)
                    {
                        string jsonarraystring = "[ ]";
                        jt2 = JArray.Parse(jsonarraystring);
                    }
                    else
                    {
                        ((JValue)jt2).Value = param;
                    }
                }

                catch (Exception ex)
                {
                    Console.WriteLine("GenerateBodyANdModelParameters error - " + ex.Message);

                    // Why do we do work in exception !!!!!!!!!!!!!
                    if (jt2.Type != JTokenType.String && jt2.Type != JTokenType.Array)
                    {
                        consts.Add(param);
                    }
                    jt2.Replace(param);
                }
                AppModelParameters.Add(new AppModelParameter(param, "", tagName, Jn.Path, new ObservableList <OptionalValue>()));
            }
            string body = jt.ToString();

            foreach (var item in consts)
            {
                body = body.Replace("\"" + item + "\"", item);
            }
            BodyParamArray[0] = body;
            BodyParamArray[1] = AppModelParameters;
            return(BodyParamArray);
        }