using NUnit.Framework; using winsw; using System.Diagnostics; using System.Xml; namespace winswTests { [TestFixture] public class ServiceDescriptorTests { private ServiceDescriptor extendedServiceDescriptor; private const string ExpectedWorkingDirectory = @"Z:\Path\SubPath"; private const string Username = "User"; private const string Password = "Password"; private const string Domain = "Domain"; [SetUp] public void SetUp() { const string SeedXml = "" + "service.exe" + "Service" + "The service." + "node.exe" + "My Arguments" + "rotate" + "" + "" + Domain + "" + "" + Username + "" + "" + Password + "" + "" + "" + ExpectedWorkingDirectory + "" + @"C:\logs" + ""; extendedServiceDescriptor = ServiceDescriptor.FromXML(SeedXml); } [Test] public void VerifyWorkingDirectory() { System.Diagnostics.Debug.WriteLine("_extendedServiceDescriptor.WorkingDirectory :: " + extendedServiceDescriptor.WorkingDirectory); Assert.That(extendedServiceDescriptor.WorkingDirectory, Is.EqualTo(ExpectedWorkingDirectory)); } [Test] public void VerifyUsername() { System.Diagnostics.Debug.WriteLine("_extendedServiceDescriptor.WorkingDirectory :: " + extendedServiceDescriptor.WorkingDirectory); Assert.That(extendedServiceDescriptor.ServiceAccountUser, Is.EqualTo(Domain + "\\" + Username)); } [Test] public void VerifyPassword() { System.Diagnostics.Debug.WriteLine("_extendedServiceDescriptor.WorkingDirectory :: " + extendedServiceDescriptor.WorkingDirectory); Assert.That(extendedServiceDescriptor.ServiceAccountPassword, Is.EqualTo(Password)); } [Test] public void Priority() { var sd = ServiceDescriptor.FromXML("testnormal"); Assert.That(sd.Priority, Is.EqualTo(ProcessPriorityClass.Normal)); sd = ServiceDescriptor.FromXML("testidle"); Assert.That(sd.Priority, Is.EqualTo(ProcessPriorityClass.Idle)); sd = ServiceDescriptor.FromXML("test"); Assert.That(sd.Priority, Is.EqualTo(ProcessPriorityClass.Normal)); } } }