//Function to parse build request content
        public static List <string[]> ParseBuildRequest(string path_of_xml, string savePath)
        {
            TestRequestUtil obj = new TestRequestUtil();

            Console.WriteLine(path_of_xml);
            loadXml(path_of_xml);
            var             items     = doc.Descendants("test");
            List <string[]> finallist = new List <string[]>();
            List <string>   arr       = new List <string>();

            string[] one;
            foreach (var item in items)
            {
                if (item.Descendants("testDriver").First().Value != null)
                {
                    try
                    {
                        var childs = item.Descendants("testDriver").First().Value;
                        childs = System.IO.Path.Combine(savePath, childs);
                        childs = System.IO.Path.GetFullPath(childs);
                        Console.WriteLine();
                        arr.Add(childs);
                        IEnumerable <XElement> parseElems = item.Descendants("tested");
                        if (parseElems.Count() > 0)
                        {
                            foreach (XElement elem in parseElems)
                            {
                                var x = System.IO.Path.Combine(savePath, elem.Value);
                                x = System.IO.Path.GetFullPath(x);
                                arr.Add(x);
                            }
                        }
                        one = arr.ToArray();
                        foreach (var x in one)
                        {
                        }
                        finallist.Add(one);
                        arr.Clear();
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("Invalid Test Request", e.Message);
                    }
                }
            }
            return(finallist);
        }
예제 #2
0
        static void Main(string[] args)
        {
            Console.Write("\n  Testing TestRequest");
            Console.Write("\n =====================");
            XDocument       doc = new XDocument();
            TestRequestUtil tr  = new TestRequestUtil();

            tr.author = "Shweta Sinha";
            tr.testDriver.Add("td1.cs");
            tr.testedFiles.Add("tf1.cs");
            tr.testedFiles.Add("tf2.cs");
            tr.testedFiles.Add("tf3.cs");
            tr.makeRequest();
            Console.Write("\n{0}", doc.ToString());

            tr.saveXml("..\\..\\..\\ClientFileStore");

            TestRequestUtil tr1 = new TestRequestUtil();

            tr1.loadXml("..\\..\\..\\ClientFileStore");

            Console.Write("\n{0}", doc.ToString());
            Console.Write("\n");

            tr1.parse("author");
            Console.Write("\n  author is \"{0}\"", tr1.author);

            tr1.parse("dateTime");
            Console.Write("\n  dateTime is \"{0}\"", tr1.dateTime);

            tr1.parseList("testDriver");
            foreach (string file in tr1.testDriver)
            {
                Console.Write("\n    \"{0}\"", file);
            }

            tr1.parseList("tested");
            Console.Write("\n  testedFiles are:");

            foreach (string file in tr1.testedFiles)
            {
                Console.Write("\n    \"{0}\"", file);
            }
            Console.Write("\n\n");
        }
        //function to add multiple tests to one test request
        public static void addTestHandler(String testDriver, List <String> testedFiles, String testRequestList)
        {
            try
            {
                TestRequestUtil tr = new TestRequestUtil();
                string          testRequestPath = "../../../Repository/BuildRequests";
                loadXml(System.IO.Path.Combine(testRequestPath, testRequestList));

                XElement root = doc.Element("testRequest");
                IEnumerable <XElement> rows = root.Descendants("test");
                XElement firstRow           = rows.First();
                firstRow.AddBeforeSelf(
                    new XElement("test",
                                 new XElement("testDriver", testDriver),
                                 testedFiles.Select(i => new XElement("tested", i))
                                 ));
                saveXml(testRequestPath, testRequestList);
                MessageBox.Show("Added test to " + testRequestList);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }