//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); }
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); } }