WriteErrors() public méthode

This writes the issues that are detected during the retrieval of the site's status.
public WriteErrors ( TextWriter writer ) : void
writer System.IO.TextWriter The writer to place the complete issues /// report.
Résultat void
        public void WriteErrors_StatusConfigurationFormatProblem()
        {
            CreateNeccessaryDir();

            var statusConfigContents = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"
                + "<Report xmlns=\"com.iinteractive.reporting\">"
                // The quotations after Type="Service is missing.
                + "<Service Name=\"SomeServiceName\" Type=\"Service />"
                + "</Report>";

            var component = new Component()
            {
                Name = "site-status.Test",
                Version = "0.1.123"
            };

            #region PREPARES FOR THE TEST
            var statusConfig = new Report();

            using (var writer = new StreamWriter(Path.Combine(SiteStatusDirectory, "Site.ver")))
            {
                component.SerializeTo(writer);
            }

            using (var writer = new StreamWriter(ConfigurationPath))
            {
                writer.Write(statusConfigContents);
            }
            #endregion

            var target = new SiteStatusRepository("");
            var result = "";
            using(var writer = new StringWriter())
            {
                target.WriteErrors(writer);
                result = writer.ToString();
            }

            var serializer = new XmlSerializer(typeof(List<SiteStatusIssue>), new Type[] { typeof(SiteStatusIssue) });
            using(var reader = new StringReader(result))
            {
                var actualErrors = (List<SiteStatusIssue>)serializer.Deserialize(reader);
                Assert.IsNotNull(actualErrors);
                Assert.AreNotEqual(0, actualErrors.Count);
            }
        }
        public void WriteErrors_StatusConfigurationDoesNotExistError()
        {
            DeleteDir();

            CreateNeccessaryDir();

            var component = new Component()
            {
                Name = "site-status.Test",
                Version = "0.1.123"
            };

            List<Service> services = new List<Service>()
            {
                new Service
                {
                    Name = "NoDbConnectionMonitor",
                    Type = ServiceType.Database
                }
            };

            #region PREPARES FOR THE TEST
            var statusConfig = new Report();
            if (services == null)
                services = new List<Service>();

            statusConfig.Service = services.ToArray();

            using (var writer = new StreamWriter(Path.Combine(SiteStatusDirectory, "Site.ver")))
            {
                component.SerializeTo(writer);
            }
            #endregion

            var target = new SiteStatusRepository("");
            var result = "";
            using (var writer = new StringWriter())
            {
                target.WriteErrors(writer);
                result = writer.ToString();
            }

            var serializer = new XmlSerializer(typeof(List<SiteStatusIssue>), new Type[] { typeof(SiteStatusIssue) });
            using (var reader = new StringReader(result))
            {
                var actualErrors = (List<SiteStatusIssue>)serializer.Deserialize(reader);
                Assert.IsNotNull(actualErrors);
                Assert.AreNotEqual(0, actualErrors.Count);
            }
        }
        public void WriteErrors_DirectoryDoesNotExistError()
        {
            DeleteDir();

            var target = new SiteStatusRepository("");
            var result = "";
            using (var writer = new StringWriter())
            {
                target.WriteErrors(writer);
                result = writer.ToString();
            }

            var serializer = new XmlSerializer(typeof(List<SiteStatusIssue>), new Type[] { typeof(SiteStatusIssue) });
            using (var reader = new StringReader(result))
            {
                var actualErrors = (List<SiteStatusIssue>)serializer.Deserialize(reader);
                Assert.IsNotNull(actualErrors);
                Assert.AreNotEqual(0, actualErrors.Count);
            }
        }
        public void WriteErrors_NoErrors_All()
        {
            DeleteDir();

            CreateNeccessaryDir();

            var component = new Component()
            {
                Name = "site-status.Test",
                Version = "0.1.123"
            };

            List<Service> services = new List<Service>()
            {
                // We give it a bad connection, because it shouldn't be
                // reported as an error.
                new Service
                {
                    Name = "OracleDatabase",
                    Type = ServiceType.Database
                }
            };

            WriteFiles(component, services);

            var target = new SiteStatusRepository("");

            var result = "";
            using (var writer = new StringWriter())
            {
                target.WriteErrors(writer);
                result = writer.ToString();
            }

            var serializer = new XmlSerializer(typeof(List<SiteStatusIssue>), new Type[] { typeof(SiteStatusIssue) });
            using (var reader = new StringReader(result))
            {
                var actualErrors = (List<SiteStatusIssue>)serializer.Deserialize(reader);
                Assert.IsNotNull(actualErrors);
                Assert.AreEqual(0, actualErrors.Count);
            }
        }
        public void WriteErrors_ComponentFormatProblem()
        {
            CreateNeccessaryDir();

            var component = new Component()
            {
                Name = "site-status.Test",
                Version = "0.1.123"
            };

            List<Service> services = new List<Service>()
            {
                new Service
                {
                    Name = "OracleDatabase",
                    Type = ServiceType.Database
                }
            };

            WriteFiles(component, services);

            var directoryInfo = new DirectoryInfo(Path.Combine("", SiteStatusDirectory));
            Assert.IsTrue(directoryInfo.Exists);
            var componentFile = new FileInfo(Path.Combine(directoryInfo.FullName, "Site.ver"));

            var componentContents = "";
            using(var reader = new StreamReader(componentFile.FullName))
            {
                componentContents = reader.ReadToEnd();
                Assert.IsFalse(string.IsNullOrEmpty(componentContents));
            }

            componentContents = componentContents.Replace("Component", "Component12sad");
            using(var writer = new StreamWriter(componentFile.FullName))
            {
                writer.Write(componentContents);
            }

            var target = new SiteStatusRepository("");
            var result = "";
            using (var writer = new StringWriter())
            {
                target.WriteErrors(writer);
                result = writer.ToString();
            }

            var serializer = new XmlSerializer(typeof(List<SiteStatusIssue>), new Type[] { typeof(SiteStatusIssue) });
            using (var reader = new StringReader(result))
            {
                var actualErrors = (List<SiteStatusIssue>)serializer.Deserialize(reader);
                Assert.IsNotNull(actualErrors);
                Assert.AreNotEqual(0, actualErrors.Count);
            }
        }