public void Test_STIG_DATAWithDataIsValid()
        {
            STIG_DATA data = new STIG_DATA();

            data.VULN_ATTRIBUTE = "my attribute";
            data.ATTRIBUTE_DATA = "my data";

            // test things out
            Assert.True(data != null);
            Assert.True(!string.IsNullOrEmpty(data.VULN_ATTRIBUTE));
            Assert.True(!string.IsNullOrEmpty(data.ATTRIBUTE_DATA));
        }
        public void Test_NewSTIG_DATAIsValid()
        {
            STIG_DATA data = new STIG_DATA();

            Assert.True(data != null);
        }
예제 #3
0
        /// <summary>
        /// Take the VULN XML nodes in here and parse to fill in the checklist. This
        /// is the main meat of the checklist file as it has all the status and pieces
        /// of the checklist we care about.
        /// </summary>
        /// <param name="nodes">The XML nodes for the VULN XML structure</param>
        /// <returns>
        /// The VULN list of records matching the XML to the C# class structure for including
        /// into the larger CHECKLIST structure to use.
        /// </returns>
        private static List <VULN> getVulnerabilityListing(XmlNodeList nodes)
        {
            List <VULN> vulns = new List <VULN>();
            VULN        vuln;
            STIG_DATA   data;

            foreach (XmlNode node in nodes)
            {
                vuln = new VULN();
                if (node.ChildNodes.Count > 0)
                {
                    foreach (XmlElement child in node.ChildNodes)
                    {
                        data = new STIG_DATA();
                        if (child.Name == "STIG_DATA")
                        {
                            foreach (XmlElement stigdata in child.ChildNodes)
                            {
                                if (stigdata.Name == "VULN_ATTRIBUTE")
                                {
                                    data.VULN_ATTRIBUTE = stigdata.InnerText;
                                }
                                else if (stigdata.Name == "ATTRIBUTE_DATA")
                                {
                                    data.ATTRIBUTE_DATA = stigdata.InnerText;
                                }
                            }
                            vuln.STIG_DATA.Add(data);
                        }
                        else
                        {
                            // switch on the fields left over to fill them in the VULN class
                            switch (child.Name)
                            {
                            case "STATUS":
                                vuln.STATUS = child.InnerText;
                                break;

                            case "FINDING_DETAILS":
                                vuln.FINDING_DETAILS = child.InnerText;
                                break;

                            case "COMMENTS":
                                vuln.COMMENTS = child.InnerText;
                                break;

                            case "SEVERITY_OVERRIDE":
                                vuln.SEVERITY_OVERRIDE = child.InnerText;
                                break;

                            case "SEVERITY_JUSTIFICATION":
                                vuln.SEVERITY_JUSTIFICATION = child.InnerText;
                                break;
                            }
                        }
                    }
                }
                vulns.Add(vuln);
            }
            return(vulns);
        }