// - Start
using System;
+using System.Collections.Generic;
using System.ComponentModel;
using System.ServiceProcess;
using TimeoutException = System.ServiceProcess.TimeoutException;
[TestFixture]
public class ServiceControllerTest
{
+ class ServiceInfo
+ {
+ public string ServiceName;
+ public string DisplayName;
+ public ServiceType ServiceType = ServiceType.Win32ShareProcess;
+ public string[] Dependents = new string[] {};
+ public string[] DependedOn = new string[] {};
+ }
+
+ // NOTE: information about these services is current as of Windows 10 / Server 2016,
+ // it may be different and cause test failures on other Windows versions
+
+ static ServiceInfo DISK_DRIVER_SERVICE = new ServiceInfo { ServiceName = "disk", DisplayName = "Disk Driver", ServiceType = ServiceType.KernelDriver };
+ static ServiceInfo ROUTING_AND_REMOTE_ACCESS_SERVICE = new ServiceInfo { ServiceName = "RemoteAccess", DisplayName = "Routing and Remote Access", DependedOn = new [] { "bfe", "http", "rasman", "rpcss" } };
+ static ServiceInfo SECONDARY_LOGON_SERVICE = new ServiceInfo { ServiceName = "seclogon", DisplayName = "Secondary Logon", Dependents = new [] { "te.service" } };
+ static ServiceInfo SECURITY_ACCOUNTS_MANAGER_SERVICE = new ServiceInfo { ServiceName = "SamSs", DisplayName = "Security Accounts Manager", Dependents = new [] { "browser", "ktmrm", "lanmanserver", "msdtc" }, DependedOn = new [] { "rpcss" } };
+ static ServiceInfo COMPLUS_EVENTSYSTEM_SERVICE = new ServiceInfo { ServiceName = "EventSystem", DisplayName = "COM+ Event System", ServiceType = ServiceType.Win32ShareProcess, Dependents = new [] { "comsysapp", "sens" }, DependedOn = new [] { "rpcss" } };
+ static ServiceInfo WINDOWS_IMAGE_ACQUISITION_SERVICE = new ServiceInfo { ServiceName = "stisvc", DisplayName = "Windows Image Acquisition (WIA)", ServiceType = ServiceType.Win32OwnProcess, DependedOn = new [] { "rpcss" } };
+ static ServiceInfo WINDOWS_SEARCH_SERVICE = new ServiceInfo { ServiceName = "WSearch", DisplayName = "Windows Search", ServiceType = ServiceType.Win32OwnProcess, Dependents = new [] { "wmpnetworksvc", "workfolderssvc" }, DependedOn = new [] { "rpcss" } };
+ static ServiceInfo WINDOWS_TIME_SERVICE = new ServiceInfo { ServiceName = "W32Time", DisplayName = "Windows Time" };
+ static ServiceInfo WINDOWS_UPDATE_SERVICE = new ServiceInfo { ServiceName = "wuauserv", DisplayName = "Windows Update", DependedOn = new [] { "rpcss" } };
+ static ServiceInfo WORKSTATION_SERVICE = new ServiceInfo { ServiceName = "LanmanWorkstation", DisplayName = "Workstation", Dependents = new [] { "browser", "netlogon", "sessionenv" }, DependedOn = new [] { "bowser", "mrxsmb20", "nsi" } };
+
+ // A service which is expected to be disabled by default on all supported Windows versions.
+ static ServiceInfo DISABLED_SERVICE = ROUTING_AND_REMOTE_ACCESS_SERVICE;
+ // A service which is running by default and can be stopped/paused by the current user when running with admin rights.
+ static ServiceInfo CONTROLLABLE_SERVICE = WINDOWS_IMAGE_ACQUISITION_SERVICE;
+ // A service which cannot be stopped/paused.
+ static ServiceInfo UNCONTROLLABLE_SERVICE = SECURITY_ACCOUNTS_MANAGER_SERVICE;
+ // A service with ServiceType == KernelDriver
+ static ServiceInfo KERNEL_SERVICE = DISK_DRIVER_SERVICE;
+ // A service with ServiceType == Win32ShareProcess.
+ static ServiceInfo SHARE_PROCESS_SERVICE = WORKSTATION_SERVICE;
+
+ static ServiceInfo SERVICE_1_WITH_DEPENDENTS_AND_DEPENDED_ON = SECURITY_ACCOUNTS_MANAGER_SERVICE;
+ static ServiceInfo SERVICE_2_WITH_DEPENDENTS_AND_DEPENDED_ON = COMPLUS_EVENTSYSTEM_SERVICE;
+ static ServiceInfo SERVICE_3_WITH_DEPENDENTS_AND_DEPENDED_ON = WORKSTATION_SERVICE;
+
+ static ServiceInfo SERVICE_WITH_MANY_DEPENDENTS = WORKSTATION_SERVICE;
+ static ServiceInfo SERVICE_WITH_ONE_DEPENDENT = SECONDARY_LOGON_SERVICE;
+ static ServiceInfo SERVICE_WITH_NO_DEPENDENTS = WINDOWS_TIME_SERVICE;
+
+ static ServiceInfo SERVICE_WITH_MANY_DEPENDED_ON = WORKSTATION_SERVICE;
+ static ServiceInfo SERVICE_WITH_ONE_DEPENDED_ON = WINDOWS_UPDATE_SERVICE;
+ static ServiceInfo SERVICE_WITH_NO_DEPENDED_ON = WINDOWS_TIME_SERVICE;
+
+ [TestFixtureSetUp]
+ public void FixtureSetUp ()
+ {
+ try {
+ EnsureServiceIsRunning (new ServiceController (CONTROLLABLE_SERVICE.ServiceName));
+ } catch {
+ Assert.Ignore ($"Failed to start the service '{CONTROLLABLE_SERVICE.DisplayName}'. Ensure you are running the tests with admin privileges.");
+ }
+ }
+
[Test]
public void Constructor1 ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
public void Constructor2 ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("lanmanworkstation");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName);
Assert.IsTrue (sc.CanPauseAndContinue, "#A1");
Assert.IsTrue (sc.CanShutdown, "#B1");
ServiceController [] dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#D1");
- Assert.IsTrue (dependentServices.Length > 1, "#D2");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.Dependents, ServiceNames (dependentServices), "#D2");
Assert.IsNotNull (sc.DisplayName, "#E1");
- Assert.AreEqual ("Workstation", sc.DisplayName, "#E2");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.DisplayName, sc.DisplayName, "#E2");
Assert.IsNotNull (sc.MachineName, "#F1");
Assert.AreEqual (".", sc.MachineName, "#F2");
sc.Refresh ();
Assert.IsNotNull (sc.ServiceName, "#G1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#G2");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.ServiceName, sc.ServiceName, "#G2");
ServiceController [] servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#H1");
- Assert.AreEqual (0, servicesDependedOn.Length, "#H2");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.DependedOn, ServiceNames (servicesDependedOn), "#H2");
- Assert.AreEqual (ServiceType.Win32ShareProcess, sc.ServiceType, "#I1");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.ServiceType, sc.ServiceType, "#I1");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#J1");
}
public void Constructor2_Name_DisplayName ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("workstation");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.DisplayName);
Assert.IsTrue (sc.CanPauseAndContinue, "#A1");
Assert.IsTrue (sc.CanShutdown, "#B1");
public void Constructor2_Name_ServiceName ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("lanmanworkstation");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName);
Assert.IsTrue (sc.CanPauseAndContinue, "#A1");
Assert.IsTrue (sc.CanShutdown, "#B1");
public void Constructor3 ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("lanmanworkstation",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
Environment.MachineName);
Assert.IsTrue (sc.CanPauseAndContinue, "#A1");
ServiceController [] dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#D1");
- Assert.IsTrue (dependentServices.Length > 1, "#D2");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.Dependents, ServiceNames (dependentServices), "#D2");
Assert.IsNotNull (sc.DisplayName, "#E1");
- Assert.AreEqual ("Workstation", sc.DisplayName, "#E2");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.DisplayName, sc.DisplayName, "#E2");
Assert.IsNotNull (sc.MachineName, "#F1");
Assert.AreEqual (Environment.MachineName, sc.MachineName, "#F2");
sc.Refresh ();
Assert.IsNotNull (sc.ServiceName, "#G1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#G2");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.ServiceName, sc.ServiceName, "#G2");
ServiceController [] servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#H1");
- Assert.AreEqual (0, servicesDependedOn.Length, "#H2");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.DependedOn, ServiceNames (servicesDependedOn), "#H2");
- Assert.AreEqual (ServiceType.Win32ShareProcess, sc.ServiceType, "#I1");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.ServiceType, sc.ServiceType, "#I1");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#J1");
}
public void Constructor3_MachineName_Empty ()
{
try {
- new ServiceController ("alerter", string.Empty);
+ new ServiceController (CONTROLLABLE_SERVICE.ServiceName, string.Empty);
Assert.Fail ("#1");
} catch (ArgumentException ex) {
// MachineName value is invalid
public void Constructor3_MachineName_Null ()
{
try {
- new ServiceController ("alerter", null);
+ new ServiceController (CONTROLLABLE_SERVICE.ServiceName, null);
Assert.Fail ("#1");
} catch (ArgumentException ex) {
// MachineName value is invalid
public void CanPauseAndContinue ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.IsTrue (sc.CanPauseAndContinue, "#1");
- sc.ServiceName = "SamSs";
+ sc.ServiceName = UNCONTROLLABLE_SERVICE.ServiceName;
Assert.IsFalse (sc.CanPauseAndContinue, "#2");
- sc.DisplayName = "Workstation";
+ sc.DisplayName = CONTROLLABLE_SERVICE.DisplayName;
Assert.IsTrue (sc.CanPauseAndContinue, "#3");
sc.MachineName = "doesnotexist";
try {
public void CanPauseAndContinue_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
bool canPauseAndContinue = sc.CanPauseAndContinue;
public void CanPauseAndContinue_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("NetDDE", ".");
+ ServiceController sc1 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
Assert.IsFalse (sc1.CanPauseAndContinue);
}
public void CanPauseAndContinue_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void CanPauseAndContinue_Service_OperationNotValid ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("SamSs", ".");
+ ServiceController sc1 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
Assert.IsFalse (sc1.CanPauseAndContinue);
}
public void CanPauseAndContinue_Service_Running ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#1");
Assert.IsTrue (sc.CanPauseAndContinue, "#2");
}
public void CanPauseAndContinue_Service_Paused ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void CanPauseAndContinue_Service_Stopped ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void CanShutdown ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.IsTrue (sc.CanShutdown, "#1");
- sc.ServiceName = "SamSs";
+ sc.ServiceName = UNCONTROLLABLE_SERVICE.ServiceName;
Assert.IsFalse (sc.CanShutdown, "#2");
- sc.DisplayName = "Workstation";
+ sc.DisplayName = CONTROLLABLE_SERVICE.DisplayName;
Assert.IsTrue (sc.CanShutdown, "#3");
sc.MachineName = "doesnotexist";
try {
public void CanShutdown_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
bool canShutdown = sc.CanShutdown;
public void CanShutdown_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("NetDDE", ".");
+ ServiceController sc1 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
Assert.IsFalse (sc1.CanShutdown);
}
public void CanShutdown_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void CanShutdown_Service_OperationNotValid ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("SamSs", ".");
+ ServiceController sc1 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
Assert.IsFalse (sc1.CanShutdown);
}
public void CanShutdown_Service_Running ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#1");
Assert.IsTrue (sc.CanShutdown, "#2");
}
public void CanShutdown_Service_Paused ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void CanShutdown_Service_Stopped ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void CanStop ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.IsTrue (sc.CanStop, "#1");
- sc.ServiceName = "SamSs";
+ sc.ServiceName = UNCONTROLLABLE_SERVICE.ServiceName;
Assert.IsFalse (sc.CanStop, "#2");
- sc.DisplayName = "Workstation";
+ sc.DisplayName = CONTROLLABLE_SERVICE.DisplayName;
Assert.IsTrue (sc.CanStop, "#3");
sc.MachineName = "doesnotexist";
try {
public void CanStop_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
bool canStop = sc.CanStop;
public void CanStop_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("NetDDE", ".");
+ ServiceController sc1 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
Assert.IsFalse (sc1.CanStop);
}
public void CanStop_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void CanStop_Service_OperationNotValid ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("SamSs", ".");
+ ServiceController sc1 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
Assert.IsFalse (sc1.CanStop);
}
public void CanStop_Service_Running ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#1");
Assert.IsTrue (sc.CanStop, "#2");
}
public void CanStop_Service_Paused ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void CanStop_Service_Stopped ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Continue ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Continue_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
sc.Continue ();
public void Continue_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("NetDDE", ".");
- ServiceController sc2 = new ServiceController ("NetDDE", ".");
+ ServiceController sc1 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Stopped, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Stopped, sc2.Status, "#A2");
// Cannot resume NetDDE service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("NetDDE") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (DISABLED_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
public void Continue_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void Continue_Service_OperationNotValid ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("SamSs", ".");
- ServiceController sc2 = new ServiceController ("SamSs", ".");
+ ServiceController sc1 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
sc1.Continue ();
Assert.Fail ("#B1");
} catch (InvalidOperationException ex) {
- // Cannot resume SamSs service on computer '.'
+ // Cannot resume service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("SamSs") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (UNCONTROLLABLE_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
public void Continue_Service_Running ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Continue_Service_Stopped ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
sc1.Continue ();
Assert.Fail ("#D1");
} catch (InvalidOperationException ex) {
- // Cannot resume Schedule service on computer '.'
+ // Cannot resume the service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#D2");
Assert.IsNotNull (ex.Message, "#D3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#D4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#D4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#D5");
Assert.IsNotNull (ex.InnerException, "#D6");
public void DependentServices ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = null;
ServiceController [] dependentServices = null;
// single dependent service
- sc = new ServiceController ("dmserver", ".");
+ sc = new ServiceController (SERVICE_WITH_ONE_DEPENDENT.ServiceName, ".");
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#A1");
Assert.AreEqual (1, dependentServices.Length, "#A2");
- Assert.AreEqual ("dmadmin", dependentServices [0].ServiceName, "#A3");
+ Assert.AreEqual (SERVICE_WITH_ONE_DEPENDENT.Dependents, ServiceNames (dependentServices), "#A3");
// modifying ServiceName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.ServiceName = "alerter";
+ sc.ServiceName = SERVICE_WITH_NO_DEPENDENTS.ServiceName;
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#B1");
Assert.AreEqual (1, dependentServices.Length, "#B2");
- Assert.AreEqual ("dmadmin", dependentServices [0].ServiceName, "#B3");
+ Assert.AreEqual (SERVICE_WITH_ONE_DEPENDENT.Dependents, ServiceNames (dependentServices), "#B3");
// modifying DisplayName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.DisplayName = "Spooler";
+ sc.DisplayName = SERVICE_WITH_MANY_DEPENDENTS.DisplayName;
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#C1");
Assert.AreEqual (1, dependentServices.Length, "#C2");
- Assert.AreEqual ("dmadmin", dependentServices [0].ServiceName, "#C3");
+ Assert.AreEqual (SERVICE_WITH_ONE_DEPENDENT.Dependents, ServiceNames (dependentServices), "#C3");
// modifying MachineName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
sc.MachineName = "doesnotexist";
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#D1");
- Assert.AreEqual (1, dependentServices.Length, "#D2");
- Assert.AreEqual ("dmadmin", dependentServices [0].ServiceName, "#D3");
+ Assert.AreEqual (1, dependentServices.Length, "#D");
+ Assert.AreEqual (SERVICE_WITH_ONE_DEPENDENT.Dependents, ServiceNames (dependentServices), "#D3");
// no dependent services
- sc = new ServiceController ("alerter", ".");
+ sc = new ServiceController (SERVICE_WITH_NO_DEPENDENTS.ServiceName, ".");
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#E1");
Assert.AreEqual (0, dependentServices.Length, "#E2");
// modifying ServiceName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.ServiceName = "dmserver";
+ sc.ServiceName = SERVICE_WITH_MANY_DEPENDENTS.ServiceName;
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#F1");
Assert.AreEqual (0, dependentServices.Length, "#F2");
// modifying DisplayName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.DisplayName = "Workstation";
+ sc.DisplayName = SERVICE_WITH_ONE_DEPENDENT.DisplayName;
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#G1");
Assert.AreEqual (0, dependentServices.Length, "#G2");
Assert.AreEqual (0, dependentServices.Length, "#H2");
// multiple dependent services
- sc = new ServiceController ("TapiSrv", ".");
+ sc = new ServiceController (SERVICE_WITH_MANY_DEPENDENTS.ServiceName, ".");
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#I1");
- Assert.AreEqual (2, dependentServices.Length, "#I2");
- Assert.AreEqual ("RasAuto", dependentServices [0].ServiceName, "#I3");
- Assert.AreEqual ("RasMan", dependentServices [1].ServiceName, "#I4");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDENTS.Dependents.Length, dependentServices.Length, "#I2");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDENTS.Dependents, ServiceNames (dependentServices), "#I3");
// modifying ServiceName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.ServiceName = "spooler";
+ sc.ServiceName = SERVICE_WITH_NO_DEPENDENTS.ServiceName;
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#J1");
- Assert.AreEqual (2, dependentServices.Length, "#J3");
- Assert.AreEqual ("RasAuto", dependentServices [0].ServiceName, "#J4");
- Assert.AreEqual ("RasMan", dependentServices [1].ServiceName, "#J5");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDENTS.Dependents.Length, dependentServices.Length, "#J3");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDENTS.Dependents, ServiceNames (dependentServices), "#J3");
// modifying DisplayName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.DisplayName = "Alerter";
+ sc.DisplayName = SERVICE_WITH_ONE_DEPENDENT.DisplayName;
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#K1");
- Assert.AreEqual (2, dependentServices.Length, "#K2");
- Assert.AreEqual ("RasAuto", dependentServices [0].ServiceName, "#K3");
- Assert.AreEqual ("RasMan", dependentServices [1].ServiceName, "#K4");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDENTS.Dependents.Length, dependentServices.Length, "#K2");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDENTS.Dependents, ServiceNames (dependentServices), "#K3");
// modifying MachineName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
sc.MachineName = Environment.MachineName;
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#L1");
- Assert.AreEqual (2, dependentServices.Length, "#L2");
- Assert.AreEqual ("RasAuto", dependentServices [0].ServiceName, "#L3");
- Assert.AreEqual ("RasMan", dependentServices [1].ServiceName, "#L4");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDENTS.Dependents.Length, dependentServices.Length, "#L2");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDENTS.Dependents, ServiceNames (dependentServices), "#L3");
}
[Test]
public void DependentServices_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("dmserver",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
ServiceController [] dependenServices = sc.DependentServices;
public void DependentServices_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("NetDDE", ".");
+ ServiceController sc = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
ServiceController [] dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#1");
- Assert.AreEqual (1, dependentServices.Length, "#2");
- Assert.AreEqual ("ClipSrv", dependentServices [0].ServiceName, "#3");
+ Assert.AreEqual (DISABLED_SERVICE.Dependents, ServiceNames (dependentServices), "#2");
}
[Test]
public void DependentServices_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void DisplayName ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
+
+ var s1 = WORKSTATION_SERVICE;
+ var s2 = WINDOWS_SEARCH_SERVICE;
ServiceController sc = new ServiceController ();
- sc.DisplayName = "workstation";
- Assert.AreEqual ("workstation", sc.DisplayName, "#A1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#A2");
+ sc.DisplayName = s1.DisplayName.ToLower ();
+ Assert.AreEqual (s1.DisplayName.ToLower (), sc.DisplayName, "#A1");
+ Assert.AreEqual (s1.ServiceName, sc.ServiceName, "#A2");
- sc.DisplayName = "alerter";
- Assert.AreEqual ("alerter", sc.DisplayName, "#B1");
- Assert.AreEqual ("Alerter", sc.ServiceName, "#B2");
+ sc.DisplayName = s2.DisplayName.ToLower ();
+ Assert.AreEqual (s2.DisplayName.ToLower (), sc.DisplayName, "#B1");
+ Assert.AreEqual (s2.ServiceName, sc.ServiceName, "#B2");
- sc = new ServiceController ("workstation");
- sc.DisplayName = "alerter";
- Assert.AreEqual ("alerter", sc.DisplayName, "#C1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#C2");
- Assert.AreEqual ("workstation", sc.DisplayName, "#C3");
+ sc = new ServiceController (s1.DisplayName.ToLower ());
+ sc.DisplayName = s2.DisplayName.ToLower ();
+ Assert.AreEqual (s2.DisplayName.ToLower (), sc.DisplayName, "#C1");
+ Assert.AreEqual (s1.ServiceName, sc.ServiceName, "#C2");
+ Assert.AreEqual (s1.DisplayName.ToLower (), sc.DisplayName, "#C3");
- sc.DisplayName = "alerter";
- Assert.AreEqual ("alerter", sc.DisplayName, "#D1");
- Assert.AreEqual ("Alerter", sc.ServiceName, "#D2");
+ sc.DisplayName = s2.DisplayName.ToLower ();
+ Assert.AreEqual (s2.DisplayName.ToLower (), sc.DisplayName, "#D1");
+ Assert.AreEqual (s2.ServiceName, sc.ServiceName, "#D2");
- sc.DisplayName = "workstation";
- Assert.AreEqual ("workstation", sc.DisplayName, "#E1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#E2");
+ sc.DisplayName = s1.DisplayName;
+ Assert.AreEqual (s1.DisplayName, sc.DisplayName, "#E1");
+ Assert.AreEqual (s1.ServiceName, sc.ServiceName, "#E2");
- sc = new ServiceController ("workstation");
- Assert.AreEqual ("workstation", sc.DisplayName, "#F1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#F2");
+ sc = new ServiceController (s1.DisplayName.ToLower ());
+ Assert.AreEqual (s1.DisplayName.ToLower (), sc.DisplayName, "#F1");
+ Assert.AreEqual (s1.ServiceName, sc.ServiceName, "#F2");
- sc.DisplayName = "Workstation";
- Assert.AreEqual ("Workstation", sc.DisplayName, "#G1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#G2");
+ sc.DisplayName = s1.DisplayName;
+ Assert.AreEqual (s1.DisplayName, sc.DisplayName, "#G1");
+ Assert.AreEqual (s1.ServiceName, sc.ServiceName, "#G2");
}
[Test]
public void DisplayName_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("dmserver",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
string displayName = sc.DisplayName;
public void DisplayName_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("NetDDE", ".");
- Assert.AreEqual ("Network DDE", sc.DisplayName);
+ ServiceController sc = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
+ Assert.AreEqual (DISABLED_SERVICE.DisplayName, sc.DisplayName);
}
[Test]
public void DisplayName_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void DisplayName_ServiceName_Empty ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
- sc.DisplayName = "workstation";
- Assert.AreEqual ("workstation", sc.DisplayName, "#A1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#A2");
+ sc.DisplayName = WORKSTATION_SERVICE.DisplayName.ToLower ();
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName.ToLower (), sc.DisplayName, "#A1");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#A2");
}
[Test]
public void DisplayName_Value_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
sc.DisplayName = "doesnotexist";
public void DisplayName_Value_Empty ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
Assert.AreEqual (string.Empty, sc.DisplayName, "#A1");
Assert.AreEqual (string.Empty, sc.ServiceName, "#A2");
- sc.DisplayName = "WorkStation";
+ sc.DisplayName = WORKSTATION_SERVICE.DisplayName;
- Assert.AreEqual ("WorkStation", sc.DisplayName, "#B1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#B2");
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName, sc.DisplayName, "#B1");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#B2");
sc.DisplayName = string.Empty;
public void DisplayName_Value_Null ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
- sc.DisplayName = "Alerter";
+ sc.DisplayName = CONTROLLABLE_SERVICE.DisplayName;
try {
sc.DisplayName = null;
Assert.Fail ("#1");
Assert.AreEqual ("value", ex.ParamName, "#5");
Assert.IsNull (ex.InnerException, "#6");
}
- Assert.AreEqual ("Alerter", sc.DisplayName, "#7");
+ Assert.AreEqual (CONTROLLABLE_SERVICE.DisplayName, sc.DisplayName, "#7");
}
[Test]
public void DisplayName_Value_ServiceName ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
- sc.DisplayName = "lanmanworkstation";
- Assert.AreEqual ("lanmanworkstation", sc.DisplayName, "#A1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#A2");
- Assert.AreEqual ("Workstation", sc.DisplayName, "#A3");
+ sc.DisplayName = WORKSTATION_SERVICE.ServiceName;
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.DisplayName, "#A1");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#A2");
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName, sc.DisplayName, "#A3");
}
[Test]
public void ExecuteCommand_Device_ControlCodes ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Disk", ".");
+ ServiceController sc = new ServiceController (DISK_DRIVER_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
try {
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_CONTINUE);
Assert.Fail ("#B1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_DEVICEEVENT);
Assert.Fail ("#C1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2");
Assert.IsNotNull (ex.Message, "#C3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#C4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#C4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#C5");
Assert.IsNotNull (ex.InnerException, "#C6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_HARDWAREPROFILECHANGE);
Assert.Fail ("#D1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#D2");
Assert.IsNotNull (ex.Message, "#D3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#D4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#D4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#D5");
Assert.IsNotNull (ex.InnerException, "#D6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_INTERROGATE);
Assert.Fail ("#E1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#E2");
Assert.IsNotNull (ex.Message, "#E3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#E4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#E4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#E5");
Assert.IsNotNull (ex.InnerException, "#E6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_NETBINDADD);
Assert.Fail ("#F1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#F2");
Assert.IsNotNull (ex.Message, "#F3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#F4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#F4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#F5");
Assert.IsNotNull (ex.InnerException, "#F6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_NETBINDDISABLE);
Assert.Fail ("#G1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#G2");
Assert.IsNotNull (ex.Message, "#G3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#G4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#G4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#G5");
Assert.IsNotNull (ex.InnerException, "#G6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_NETBINDENABLE);
Assert.Fail ("#H1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#H2");
Assert.IsNotNull (ex.Message, "#H3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#H4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#H4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#H5");
Assert.IsNotNull (ex.InnerException, "#H6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_NETBINDREMOVE);
Assert.Fail ("#I1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#I2");
Assert.IsNotNull (ex.Message, "#I3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#I4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#I4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#I5");
Assert.IsNotNull (ex.InnerException, "#I6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_PARAMCHANGE);
Assert.Fail ("#J1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#J2");
Assert.IsNotNull (ex.Message, "#J3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#J4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#J4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#J5");
Assert.IsNotNull (ex.InnerException, "#J6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_PAUSE);
Assert.Fail ("#K1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#K2");
Assert.IsNotNull (ex.Message, "#K3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#K4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#K4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#K5");
Assert.IsNotNull (ex.InnerException, "#K6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_POWEREVENT);
Assert.Fail ("#L1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#L2");
Assert.IsNotNull (ex.Message, "#L3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#L4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#L4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#L5");
Assert.IsNotNull (ex.InnerException, "#L6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_SESSIONCHANGE);
Assert.Fail ("#M1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#M2");
Assert.IsNotNull (ex.Message, "#M3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#M4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#M4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#M5");
Assert.IsNotNull (ex.InnerException, "#M6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_SHUTDOWN);
Assert.Fail ("#N1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#N2");
Assert.IsNotNull (ex.Message, "#N3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#N4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#N4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#N5");
Assert.IsNotNull (ex.InnerException, "#N6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_STOP);
Assert.Fail ("#O1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#O2");
Assert.IsNotNull (ex.Message, "#O3");
- Assert.IsTrue (ex.Message.IndexOf ("Disk") != -1, "#O4");
+ Assert.IsTrue (ex.Message.IndexOf (DISK_DRIVER_SERVICE.ServiceName) != -1, "#O4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#O5");
Assert.IsNotNull (ex.InnerException, "#O6");
public void ExecuteCommand_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_PAUSE);
public void ExecuteCommand_Parameter_Incorrect ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
try {
sc.ExecuteCommand (127);
Assert.Fail ("#B1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
sc.ExecuteCommand (256);
Assert.Fail ("#C1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2");
Assert.IsNotNull (ex.Message, "#C3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#C4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#C4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#C5");
Assert.IsNotNull (ex.InnerException, "#C6");
public void ExecuteCommand_Service_ContinuePending ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
sc.Pause ();
sc.ExecuteCommand (127);
Assert.Fail ("#C1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2");
Assert.IsNotNull (ex.Message, "#C3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#C4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#C4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#C5");
Assert.IsNotNull (ex.InnerException, "#C6");
public void ExecuteCommand_Service_ControlCodes ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
try {
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_CONTINUE);
Assert.Fail ("#B1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_DEVICEEVENT);
Assert.Fail ("#C1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2");
Assert.IsNotNull (ex.Message, "#C3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#C4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#C4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#C5");
Assert.IsNotNull (ex.InnerException, "#C6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_HARDWAREPROFILECHANGE);
Assert.Fail ("#D1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#D2");
Assert.IsNotNull (ex.Message, "#D3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#D4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#D4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#D5");
Assert.IsNotNull (ex.InnerException, "#D6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_INTERROGATE);
Assert.Fail ("#E1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#E2");
Assert.IsNotNull (ex.Message, "#E3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#E4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#E4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#E5");
Assert.IsNotNull (ex.InnerException, "#E6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_NETBINDADD);
Assert.Fail ("#F1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#F2");
Assert.IsNotNull (ex.Message, "#F3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#F4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#F4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#F5");
Assert.IsNotNull (ex.InnerException, "#F6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_NETBINDDISABLE);
Assert.Fail ("#G1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#G2");
Assert.IsNotNull (ex.Message, "#G3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#G4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#G4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#G5");
Assert.IsNotNull (ex.InnerException, "#G6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_NETBINDENABLE);
Assert.Fail ("#H1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#H2");
Assert.IsNotNull (ex.Message, "#H3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#H4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#H4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#H5");
Assert.IsNotNull (ex.InnerException, "#H6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_NETBINDREMOVE);
Assert.Fail ("#I1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#I2");
Assert.IsNotNull (ex.Message, "#I3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#I4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#I4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#I5");
Assert.IsNotNull (ex.InnerException, "#I6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_PARAMCHANGE);
Assert.Fail ("#J1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#J2");
Assert.IsNotNull (ex.Message, "#J3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#J4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#J4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#J5");
Assert.IsNotNull (ex.InnerException, "#J6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_PAUSE);
Assert.Fail ("#K1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#K2");
Assert.IsNotNull (ex.Message, "#K3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#K4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#K4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#K5");
Assert.IsNotNull (ex.InnerException, "#K6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_POWEREVENT);
Assert.Fail ("#L1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#L2");
Assert.IsNotNull (ex.Message, "#L3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#L4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#L4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#L5");
Assert.IsNotNull (ex.InnerException, "#L6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_SESSIONCHANGE);
Assert.Fail ("#M1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#M2");
Assert.IsNotNull (ex.Message, "#M3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#M4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#M4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#M5");
Assert.IsNotNull (ex.InnerException, "#M6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_SHUTDOWN);
Assert.Fail ("#N1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#N2");
Assert.IsNotNull (ex.Message, "#N3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#N4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#N4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#N5");
Assert.IsNotNull (ex.InnerException, "#N6");
sc.ExecuteCommand ((int) SERVICE_CONTROL_TYPE.SERVICE_CONTROL_STOP);
Assert.Fail ("#O1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#O2");
Assert.IsNotNull (ex.Message, "#O3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#O4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#O4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#O5");
Assert.IsNotNull (ex.InnerException, "#O6");
public void ExecuteCommand_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void ExecuteCommand_Service_Paused ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
sc.Pause ();
public void ExecuteCommand_Service_PausePending ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
sc.Pause ();
sc.ExecuteCommand (127);
Assert.Fail ("#B1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
public void ExecuteCommand_Service_StartPending ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
sc.Stop ();
sc.ExecuteCommand (127);
Assert.Fail ("#C1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2");
Assert.IsNotNull (ex.Message, "#C3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#C4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#C4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#C5");
Assert.IsNotNull (ex.InnerException, "#C6");
sc.ExecuteCommand (128);
Assert.Fail ("#D1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#D2");
Assert.IsNotNull (ex.Message, "#D3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#D4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#D4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#D5");
Assert.IsNotNull (ex.InnerException, "#D6");
public void ExecuteCommand_Service_Stopped ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
sc.Stop ();
sc.ExecuteCommand (127);
Assert.Fail ("#C1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#C3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#C4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#C4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#C5");
Assert.IsNotNull (ex.InnerException, "#C6");
sc.ExecuteCommand (128);
Assert.Fail ("#D1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#D2");
Assert.IsNotNull (ex.Message, "#D3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#D4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#D4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#D5");
Assert.IsNotNull (ex.InnerException, "#D6");
public void ExecuteCommand_Service_StopPending ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule", ".");
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A");
sc.Stop ();
sc.ExecuteCommand (127);
Assert.Fail ("#B1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
sc.ExecuteCommand (128);
Assert.Fail ("#C1");
} catch (InvalidOperationException ex) {
- // Cannot control Schedule service on computer '.'
+ // Cannot control XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#C2");
Assert.IsNotNull (ex.Message, "#C3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#C4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#C4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#C5");
Assert.IsNotNull (ex.InnerException, "#C6");
public void GetDevices ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController [] devices = null;
devices = ServiceController.GetDevices ();
Assert.IsNotNull (devices, "#A1");
- bool foundDisk = false;
- bool foundAlerter = false;
+ bool foundKernelService = false;
+ bool foundShareProcessService = false;
foreach (ServiceController sc in devices) {
- switch (sc.ServiceName) {
- case "Disk":
- Assert.AreEqual ("Disk Driver", sc.DisplayName, "#A2");
+ if (sc.ServiceName.ToLower () == KERNEL_SERVICE.ServiceName.ToLower ()) {
+ Assert.AreEqual (KERNEL_SERVICE.DisplayName, sc.DisplayName, "#A2");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#A3");
- foundDisk = true;
- break;
- case "Alerter":
- foundAlerter = true;
- break;
+ foundKernelService = true;
+ } else if (sc.ServiceName.ToLower () == SHARE_PROCESS_SERVICE.ServiceName.ToLower ()) {
+ foundShareProcessService = true;
}
}
- Assert.IsTrue (foundDisk, "#A4");
- Assert.IsFalse (foundAlerter, "#A5");
+ Assert.IsTrue (foundKernelService, "#A4");
+ Assert.IsFalse (foundShareProcessService, "#A5");
devices = ServiceController.GetDevices (Environment.MachineName);
Assert.IsNotNull (devices, "#B1");
- foundDisk = false;
- foundAlerter = false;
+ foundKernelService = false;
+ foundShareProcessService = false;
foreach (ServiceController sc in devices) {
- switch (sc.ServiceName) {
- case "Disk":
- Assert.AreEqual ("Disk Driver", sc.DisplayName, "#B2");
+ if (sc.ServiceName.ToLower () == KERNEL_SERVICE.ServiceName.ToLower ()) {
+ Assert.AreEqual (KERNEL_SERVICE.DisplayName, sc.DisplayName, "#B2");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#B3");
- foundDisk = true;
- break;
- case "Alerter":
- foundAlerter = true;
- break;
+ foundKernelService = true;
+ } else if (sc.ServiceName.ToLower () == SHARE_PROCESS_SERVICE.ServiceName.ToLower ()) {
+ foundShareProcessService = true;
}
}
- Assert.IsTrue (foundDisk, "#B4");
- Assert.IsFalse (foundAlerter, "#B5");
+ Assert.IsTrue (foundKernelService, "#B4");
+ Assert.IsFalse (foundShareProcessService, "#B5");
}
[Test]
public void GetDevices_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
try {
ServiceController [] devices = ServiceController.GetDevices ("doesnotexist");
public void GetServices ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController [] services = null;
services = ServiceController.GetServices ();
Assert.IsNotNull (services, "#A1");
- bool foundDisk = false;
- bool foundWorkstation = false;
+ bool foundKernelService = false;
+ bool foundShareProcessService = false;
foreach (ServiceController sc in services) {
- switch (sc.ServiceName) {
- case "Disk":
- foundDisk = true;
- break;
- case "lanmanworkstation":
- foundWorkstation = true;
- break;
+ if (sc.ServiceName.ToLower () == KERNEL_SERVICE.ServiceName.ToLower ()) {
+ foundKernelService = true;
+ } else if (sc.ServiceName.ToLower () == SHARE_PROCESS_SERVICE.ServiceName.ToLower ()) {
+ foundShareProcessService = true;
}
}
- Assert.IsFalse (foundDisk, "#A4");
- Assert.IsTrue (foundWorkstation, "#A5");
+ Assert.IsFalse (foundKernelService, "#A4");
+ Assert.IsTrue (foundShareProcessService, "#A5");
services = ServiceController.GetServices (Environment.MachineName);
Assert.IsNotNull (services, "#B1");
- foundDisk = false;
- foundWorkstation = false;
+ foundKernelService = false;
+ foundShareProcessService = false;
foreach (ServiceController sc in services) {
- switch (sc.ServiceName) {
- case "Disk":
- foundDisk = true;
- break;
- case "lanmanworkstation":
- Assert.AreEqual ("Workstation", sc.DisplayName, "#B2");
+ if (sc.ServiceName.ToLower () == KERNEL_SERVICE.ServiceName.ToLower ()) {
+ foundKernelService = true;
+ } else if (sc.ServiceName.ToLower () == SHARE_PROCESS_SERVICE.ServiceName.ToLower ()) {
+ Assert.AreEqual (SHARE_PROCESS_SERVICE.DisplayName, sc.DisplayName, "#B2");
Assert.AreEqual (ServiceControllerStatus.Running, sc.Status, "#B3");
- foundWorkstation = true;
- break;
+ foundShareProcessService = true;
}
}
- Assert.IsFalse (foundDisk, "#B4");
- Assert.IsTrue (foundWorkstation, "#B5");
+ Assert.IsFalse (foundKernelService, "#B4");
+ Assert.IsTrue (foundShareProcessService, "#B5");
}
[Test]
public void GetServices_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
try {
ServiceController [] services = ServiceController.GetServices ("doesnotexist");
public void MachineName ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
- sc.ServiceName = "alerter";
- Assert.AreEqual ("Alerter", sc.DisplayName, "#A1");
+ sc.ServiceName = WORKSTATION_SERVICE.ServiceName;
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName, sc.DisplayName, "#A1");
Assert.AreEqual (".", sc.MachineName, "#A2");
- Assert.AreEqual ("alerter", sc.ServiceName, "#A3");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#A3");
sc.MachineName = Environment.MachineName;
- Assert.AreEqual ("Alerter", sc.DisplayName, "#B1");
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName, sc.DisplayName, "#B1");
Assert.AreEqual (Environment.MachineName, sc.MachineName, "#B2");
- Assert.AreEqual ("alerter", sc.ServiceName, "#B3");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#B3");
sc.MachineName = "doesnotexist";
- Assert.AreEqual ("Alerter", sc.DisplayName, "#C1");
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName, sc.DisplayName, "#C1");
Assert.AreEqual ("doesnotexist", sc.MachineName, "#C2");
- Assert.AreEqual ("alerter", sc.ServiceName, "#C3");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#C3");
sc.MachineName = "DoesNotExist";
- Assert.AreEqual ("Alerter", sc.DisplayName, "#D1");
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName, sc.DisplayName, "#D1");
Assert.AreEqual ("DoesNotExist", sc.MachineName, "#D2");
- Assert.AreEqual ("alerter", sc.ServiceName, "#D3");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#D3");
}
[Test]
public void MachineName_Empty ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
sc.MachineName = Environment.MachineName;
public void MachineName_Null ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
sc.MachineName = Environment.MachineName;
public void Pause ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Pause_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
sc.Pause ();
public void Pause_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("NetDDE", ".");
- ServiceController sc2 = new ServiceController ("NetDDE", ".");
+ ServiceController sc1 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Stopped, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Stopped, sc2.Status, "#A2");
// Cannot pause NetDDE service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("NetDDE") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (DISABLED_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
public void Pause_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void Pause_Service_OperationNotValid ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("SamSs", ".");
- ServiceController sc2 = new ServiceController ("SamSs", ".");
+ ServiceController sc1 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
sc1.Pause ();
Assert.Fail ("#B1");
} catch (InvalidOperationException ex) {
- // Cannot pause SamSs service on computer '.'
+ // Cannot pause XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("SamSs") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (UNCONTROLLABLE_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
public void Pause_Service_Paused ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Pause_Service_Stopped ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
sc1.Pause ();
Assert.Fail ("#D1");
} catch (InvalidOperationException ex) {
- // Cannot pause Schedule service on computer '.'
+ // Cannot pause XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#D2");
Assert.IsNotNull (ex.Message, "#D3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#D4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#D4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#D5");
Assert.IsNotNull (ex.InnerException, "#D6");
public void Refresh ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = null;
ServiceController [] dependentServices = null;
ServiceController [] servicesDependedOn = null;
- sc = new ServiceController ("NetDDE", ".");
+ sc = new ServiceController (SERVICE_1_WITH_DEPENDENTS_AND_DEPENDED_ON.ServiceName, ".");
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#A1");
- Assert.AreEqual (1, dependentServices.Length, "#A2");
- Assert.AreEqual ("ClipSrv", dependentServices [0].ServiceName, "#A3");
+ Assert.AreEqual (SERVICE_1_WITH_DEPENDENTS_AND_DEPENDED_ON.Dependents, ServiceNames (dependentServices), "#A2");
servicesDependedOn = sc.ServicesDependedOn;
- Assert.IsNotNull (servicesDependedOn, "#A4");
- Assert.AreEqual (1, servicesDependedOn.Length, "#A5");
- Assert.AreEqual ("NetDDEDSDM", servicesDependedOn [0].ServiceName, "#A6");
+ Assert.AreEqual (SERVICE_1_WITH_DEPENDENTS_AND_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#A3");
- sc.ServiceName = "rasman";
+ sc.ServiceName = SERVICE_2_WITH_DEPENDENTS_AND_DEPENDED_ON.ServiceName;
sc.Refresh ();
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#B1");
- Assert.AreEqual (1, dependentServices.Length, "#B2");
- Assert.AreEqual ("RasAuto", dependentServices [0].ServiceName, "#B3");
+ Assert.AreEqual (SERVICE_2_WITH_DEPENDENTS_AND_DEPENDED_ON.Dependents, ServiceNames (dependentServices), "#B2");
servicesDependedOn = sc.ServicesDependedOn;
- Assert.IsNotNull (servicesDependedOn, "#B4");
- Assert.AreEqual (1, servicesDependedOn.Length, "#B5");
- Assert.AreEqual ("Tapisrv", servicesDependedOn [0].ServiceName, "#B6");
+ Assert.IsNotNull (servicesDependedOn, "#B3");
+ Assert.AreEqual (SERVICE_2_WITH_DEPENDENTS_AND_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#A4");
- sc.DisplayName = "NetDDE";
+ sc.DisplayName = SERVICE_3_WITH_DEPENDENTS_AND_DEPENDED_ON.ServiceName;
sc.Refresh ();
dependentServices = sc.DependentServices;
Assert.IsNotNull (dependentServices, "#C1");
- Assert.AreEqual (1, dependentServices.Length, "#C2");
- Assert.AreEqual ("ClipSrv", dependentServices [0].ServiceName, "#C3");
+ Assert.AreEqual (SERVICE_3_WITH_DEPENDENTS_AND_DEPENDED_ON.Dependents, ServiceNames (dependentServices), "#C2");
servicesDependedOn = sc.ServicesDependedOn;
- Assert.IsNotNull (servicesDependedOn, "#C4");
- Assert.AreEqual (1, servicesDependedOn.Length, "#C5");
- Assert.AreEqual ("NetDDEDSDM", servicesDependedOn [0].ServiceName, "#C6");
+ Assert.IsNotNull (servicesDependedOn, "#C3");
+ Assert.AreEqual (SERVICE_3_WITH_DEPENDENTS_AND_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#C4");
}
[Test]
public void Refresh_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
sc.Refresh ();
}
public void Refresh_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
sc.Refresh ();
public void Refresh_Service_Paused ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Refresh_Service_Running ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Refresh_Service_Stopped ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Refresh_ServiceName_Empty ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
sc.Refresh ();
public void ServiceName ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
+
+ var s1 = WORKSTATION_SERVICE;
+ var s2 = WINDOWS_SEARCH_SERVICE;
ServiceController sc = new ServiceController ();
- sc.ServiceName = "lanmanworkstation";
- Assert.AreEqual ("Workstation", sc.DisplayName, "#A1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#A2");
+ sc.ServiceName = s1.ServiceName;
+ Assert.AreEqual (s1.DisplayName, sc.DisplayName, "#A1");
+ Assert.AreEqual (s1.ServiceName, sc.ServiceName, "#A2");
- sc.ServiceName = "alerter";
- Assert.AreEqual ("Alerter", sc.DisplayName, "#B1");
- Assert.AreEqual ("alerter", sc.ServiceName, "#B2");
+ sc.ServiceName = s2.ServiceName;
+ Assert.AreEqual (s2.DisplayName, sc.DisplayName, "#B1");
+ Assert.AreEqual (s2.ServiceName, sc.ServiceName, "#B2");
- sc = new ServiceController ("lanmanworkstation");
- sc.ServiceName = "alerter";
- Assert.AreEqual ("alerter", sc.ServiceName, "#C1");
- Assert.AreEqual ("Alerter", sc.DisplayName, "#C2");
- Assert.AreEqual ("Alerter", sc.DisplayName, "#C3");
+ sc = new ServiceController (s1.ServiceName);
+ sc.ServiceName = s2.ServiceName;
+ Assert.AreEqual (s2.ServiceName, sc.ServiceName, "#C1");
+ Assert.AreEqual (s2.DisplayName, sc.DisplayName, "#C2");
+ Assert.AreEqual (s2.DisplayName, sc.DisplayName, "#C3");
- sc.ServiceName = "alerter";
- Assert.AreEqual ("alerter", sc.ServiceName, "#D1");
- Assert.AreEqual ("Alerter", sc.DisplayName, "#D2");
+ sc.ServiceName = s2.ServiceName;
+ Assert.AreEqual (s2.ServiceName, sc.ServiceName, "#D1");
+ Assert.AreEqual (s2.DisplayName, sc.DisplayName, "#D2");
- sc.ServiceName = "lanmanworkstation";
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#E1");
- Assert.AreEqual ("Workstation", sc.DisplayName, "#E2");
+ sc.ServiceName = s1.ServiceName;
+ Assert.AreEqual (s1.ServiceName, sc.ServiceName, "#E1");
+ Assert.AreEqual (s1.DisplayName, sc.DisplayName, "#E2");
- sc = new ServiceController ("lanmanWorkstation");
- Assert.AreEqual ("lanmanWorkstation", sc.ServiceName, "#F1");
- Assert.AreEqual ("Workstation", sc.DisplayName, "#F2");
+ sc = new ServiceController (s1.ServiceName.ToUpper ());
+ Assert.AreEqual (s1.ServiceName.ToUpper (), sc.ServiceName, "#F1");
+ Assert.AreEqual (s1.DisplayName, sc.DisplayName, "#F2");
- sc.ServiceName = "LanManWorkstation";
- Assert.AreEqual ("LanManWorkstation", sc.ServiceName, "#G1");
- Assert.AreEqual ("Workstation", sc.DisplayName, "#G2");
+ var serviceName = s1.ServiceName [0].ToString ().ToUpper () + s1.ServiceName.Substring (1).ToLower ();
+ sc.ServiceName = serviceName;
+ Assert.AreEqual (serviceName, sc.ServiceName, "#G1");
+ Assert.AreEqual (s1.DisplayName, sc.DisplayName, "#G2");
}
[Test]
public void ServiceName_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("dmserver",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
string serviceName = sc.ServiceName;
public void ServiceName_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("NetDDE", ".");
- Assert.AreEqual ("NetDDE", sc.ServiceName);
+ ServiceController sc = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
+ Assert.AreEqual (DISABLED_SERVICE.ServiceName, sc.ServiceName);
}
[Test]
public void ServiceName_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void ServiceName_DisplayName_Empty ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
- sc.ServiceName = "lanmanworkstation";
- Assert.AreEqual ("Workstation", sc.DisplayName, "#1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#2");
+ sc.ServiceName = WORKSTATION_SERVICE.ServiceName;
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName, sc.DisplayName, "#1");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#2");
}
[Test]
public void ServiceName_Value_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
sc.ServiceName = "doesnotexist";
public void ServiceName_Value_Empty ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
Assert.AreEqual (string.Empty, sc.DisplayName, "#A1");
Assert.AreEqual (string.Empty, sc.ServiceName, "#A2");
- sc.ServiceName = "lanmanworkstation";
+ sc.ServiceName = WORKSTATION_SERVICE.ServiceName;
- Assert.AreEqual ("Workstation", sc.DisplayName, "#B1");
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#B2");
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName, sc.DisplayName, "#B1");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#B2");
try {
sc.ServiceName = string.Empty;
public void ServiceName_Value_Null ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
- sc.ServiceName = "lanmanworkstation";
+ sc.ServiceName = WORKSTATION_SERVICE.ServiceName;
try {
sc.ServiceName = null;
Assert.Fail ("#1");
Assert.IsNull (ex.InnerException, "#6");
}
- Assert.AreEqual ("lanmanworkstation", sc.ServiceName, "#7");
+ Assert.AreEqual (WORKSTATION_SERVICE.ServiceName, sc.ServiceName, "#7");
}
[Test]
public void ServiceName_Value_DisplayName ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ();
- sc.ServiceName = "workstation";
+ sc.ServiceName = WORKSTATION_SERVICE.DisplayName.ToLower ();
try {
string displayName = sc.DisplayName;
Assert.Fail ("#1: " + displayName);
} catch (InvalidOperationException ex) {
- // Display name could not be retrieved for service workstation
+ // Display name could not be retrieved for service XXX
// on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#2");
Assert.IsNotNull (ex.Message, "#3");
- Assert.IsTrue (ex.Message.IndexOf ("workstation") != -1, "#4");
+ Assert.IsTrue (ex.Message.IndexOf (WORKSTATION_SERVICE.DisplayName.ToLower ()) != -1, "#4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#5");
Assert.IsNotNull (ex.InnerException, "#6");
Assert.AreEqual (1060, win32Error.NativeErrorCode, "#10");
Assert.IsNull (win32Error.InnerException, "#11");
}
- Assert.AreEqual ("workstation", sc.ServiceName, "#12");
+ Assert.AreEqual (WORKSTATION_SERVICE.DisplayName.ToLower (), sc.ServiceName, "#12");
}
[Test]
public void ServicesDependedOn ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = null;
ServiceController [] servicesDependedOn = null;
// single depended service
- sc = new ServiceController ("spooler", ".");
+ sc = new ServiceController (SERVICE_WITH_ONE_DEPENDED_ON.ServiceName, ".");
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#A1");
Assert.AreEqual (1, servicesDependedOn.Length, "#A2");
- Assert.AreEqual ("RPCSS", servicesDependedOn [0].ServiceName, "#A3");
+ Assert.AreEqual (SERVICE_WITH_ONE_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#A3");
// modifying ServiceName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.ServiceName = "lanmanworkstation";
+ sc.ServiceName = SERVICE_WITH_NO_DEPENDED_ON.ServiceName;
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#B1");
Assert.AreEqual (1, servicesDependedOn.Length, "#B2");
- Assert.AreEqual ("RPCSS", servicesDependedOn [0].ServiceName, "#B3");
+ Assert.AreEqual (SERVICE_WITH_ONE_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#B3");
// modifying DisplayName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.DisplayName = "alerter";
+ sc.DisplayName = SERVICE_WITH_MANY_DEPENDED_ON.DisplayName;
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#C1");
Assert.AreEqual (1, servicesDependedOn.Length, "#C2");
- Assert.AreEqual ("RPCSS", servicesDependedOn [0].ServiceName, "#C3");
+ Assert.AreEqual (SERVICE_WITH_ONE_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#C3");
// modifying MachineName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#D1");
Assert.AreEqual (1, servicesDependedOn.Length, "#D2");
- Assert.AreEqual ("RPCSS", servicesDependedOn [0].ServiceName, "#D3");
+ Assert.AreEqual (SERVICE_WITH_ONE_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#D3");
// no depended services
- sc = new ServiceController ("lanmanworkstation", ".");
+ sc = new ServiceController (SERVICE_WITH_NO_DEPENDED_ON.ServiceName, ".");
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#E1");
Assert.AreEqual (0, servicesDependedOn.Length, "#E2");
// modifying ServiceName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.ServiceName = "spooler";
+ sc.ServiceName = SERVICE_WITH_MANY_DEPENDED_ON.ServiceName;
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#F1");
Assert.AreEqual (0, servicesDependedOn.Length, "#F2");
// modifying DisplayName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.DisplayName = "Alerter";
+ sc.DisplayName = SERVICE_WITH_ONE_DEPENDED_ON.DisplayName;
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#G1");
Assert.AreEqual (0, servicesDependedOn.Length, "#G2");
Assert.AreEqual (0, servicesDependedOn.Length, "#H2");
// multiple depended services
- sc = new ServiceController ("dmadmin", ".");
+ sc = new ServiceController (SERVICE_WITH_MANY_DEPENDED_ON.ServiceName, ".");
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#I1");
- Assert.AreEqual (3, servicesDependedOn.Length, "#I2");
- // do not rely on the order of the services
- Assert.IsTrue (ContainsService (servicesDependedOn, "RpcSs"), "#I3");
- Assert.IsTrue (ContainsService (servicesDependedOn, "PlugPlay"), "#I4");
- Assert.IsTrue (ContainsService (servicesDependedOn, "DmServer"), "#I5");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDED_ON.DependedOn.Length, servicesDependedOn.Length, "#I2");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#I3");
// modifying ServiceName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.ServiceName = "spooler";
+ sc.ServiceName = SERVICE_WITH_NO_DEPENDED_ON.ServiceName;
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#J1");
- Assert.AreEqual (3, servicesDependedOn.Length, "#J2");
- // do not rely on the order of the services
- Assert.IsTrue (ContainsService (servicesDependedOn, "RpcSs"), "#J3");
- Assert.IsTrue (ContainsService (servicesDependedOn, "PlugPlay"), "#J4");
- Assert.IsTrue (ContainsService (servicesDependedOn, "DmServer"), "#J5");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDED_ON.DependedOn.Length, servicesDependedOn.Length, "#J2");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#J3");
// modifying DisplayName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
- sc.DisplayName = "Alerter";
+ sc.DisplayName = SERVICE_WITH_ONE_DEPENDED_ON.DisplayName;
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#K1");
- Assert.AreEqual (3, servicesDependedOn.Length, "#K2");
- // do not rely on the order of the services
- Assert.IsTrue (ContainsService (servicesDependedOn, "RpcSs"), "#K3");
- Assert.IsTrue (ContainsService (servicesDependedOn, "PlugPlay"), "#K4");
- Assert.IsTrue (ContainsService (servicesDependedOn, "DmServer"), "#K5");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDED_ON.DependedOn.Length, servicesDependedOn.Length, "#K2");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#K3");
// modifying MachineName does not cause cache to be cleared:
// https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=201762
sc.MachineName = Environment.MachineName;
servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#L1");
- Assert.AreEqual (3, servicesDependedOn.Length, "#L2");
- // do not rely on the order of the services
- Assert.IsTrue (ContainsService (servicesDependedOn, "RpcSs"), "#L3");
- Assert.IsTrue (ContainsService (servicesDependedOn, "PlugPlay"), "#L4");
- Assert.IsTrue (ContainsService (servicesDependedOn, "DmServer"), "#L5");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDED_ON.DependedOn.Length, servicesDependedOn.Length, "#L2");
+ Assert.AreEqual (SERVICE_WITH_MANY_DEPENDED_ON.DependedOn, ServiceNames (servicesDependedOn), "#L3");
}
[Test]
public void ServicesDependedOn_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("dmserver",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
ServiceController [] servicesDependedOn = sc.ServicesDependedOn;
public void ServicesDependedOn_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("ClipSrv", ".");
+ ServiceController sc = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
ServiceController [] servicesDependedOn = sc.ServicesDependedOn;
Assert.IsNotNull (servicesDependedOn, "#1");
- Assert.AreEqual (1, servicesDependedOn.Length, "#2");
- Assert.AreEqual ("NetDDE", servicesDependedOn [0].ServiceName, "#3");
+ Assert.AreEqual (DISABLED_SERVICE.DependedOn, ServiceNames (servicesDependedOn), "#2");
}
[Test]
public void ServicesDependedOn_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void ServiceTypeTest ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = null;
- sc = new ServiceController ("dmserver", ".");
+ sc = new ServiceController (SHARE_PROCESS_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceType.Win32ShareProcess, sc.ServiceType, "#A1");
- sc.ServiceName = "Disk";
+ sc.ServiceName = KERNEL_SERVICE.ServiceName;
Assert.AreEqual (ServiceType.KernelDriver, sc.ServiceType, "#A2");
- sc.DisplayName = "Workstation";
+ sc.DisplayName = SHARE_PROCESS_SERVICE.ServiceName;
Assert.AreEqual (ServiceType.Win32ShareProcess, sc.ServiceType, "#A3");
sc.MachineName = "doesnotexist";
try {
Assert.IsNull (win32Error.InnerException, "#A13");
}
- sc = new ServiceController ("Disk", ".");
+ sc = new ServiceController (KERNEL_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceType.KernelDriver, sc.ServiceType, "#B1");
- sc.DisplayName = "Alerter";
+ sc.DisplayName = SHARE_PROCESS_SERVICE.DisplayName;
Assert.AreEqual (ServiceType.Win32ShareProcess, sc.ServiceType, "#B2");
sc.MachineName = Environment.MachineName;
Assert.AreEqual (ServiceType.Win32ShareProcess, sc.ServiceType, "#B3");
- sc.ServiceName = "Disk";
+ sc.ServiceName = KERNEL_SERVICE.ServiceName;
Assert.AreEqual (ServiceType.KernelDriver, sc.ServiceType, "#B4");
}
public void ServiceType_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("dmserver",
+ ServiceController sc = new ServiceController (SHARE_PROCESS_SERVICE.ServiceName,
"doesnotexist");
try {
ServiceType serviceType = sc.ServiceType;
public void ServiceType_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("NetDDE", ".");
+ ServiceController sc = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceType.Win32ShareProcess, sc.ServiceType);
}
public void ServiceType_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void ServiceType_ServiceName_Empty ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = null;
sc = new ServiceController ();
- sc.DisplayName = "workstation";
+ sc.DisplayName = SHARE_PROCESS_SERVICE.DisplayName.ToLower ();
Assert.AreEqual (ServiceType.Win32ShareProcess, sc.ServiceType, "#1");
sc = new ServiceController ();
- sc.DisplayName = "disk driver";
+ sc.DisplayName = KERNEL_SERVICE.DisplayName.ToLower ();
Assert.AreEqual (ServiceType.KernelDriver, sc.ServiceType, "#2");
}
public void Stop ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Stop_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
sc.Stop ();
public void Stop_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("NetDDE", ".");
- ServiceController sc2 = new ServiceController ("NetDDE", ".");
+ ServiceController sc1 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Stopped, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Stopped, sc2.Status, "#A2");
// Cannot stop NetDDE service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("NetDDE") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (DISABLED_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
public void Stop_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void Stop_Service_OperationNotValid ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("SamSs", ".");
- ServiceController sc2 = new ServiceController ("SamSs", ".");
+ ServiceController sc1 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
sc1.Stop ();
Assert.Fail ("#B1");
} catch (InvalidOperationException ex) {
- // Cannot stop SamSs service on computer '.'
+ // Cannot stop XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#B2");
Assert.IsNotNull (ex.Message, "#B3");
- Assert.IsTrue (ex.Message.IndexOf ("SamSs") != -1, "#B4");
+ Assert.IsTrue (ex.Message.IndexOf (UNCONTROLLABLE_SERVICE.ServiceName) != -1, "#B4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#B5");
Assert.IsNotNull (ex.InnerException, "#B6");
public void Stop_Service_Paused ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void Stop_Service_Stopped ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
sc1.Stop ();
Assert.Fail ("#D1");
} catch (InvalidOperationException ex) {
- // Cannot stop Schedule service on computer '.'
+ // Cannot stop XXX service on computer '.'
Assert.AreEqual (typeof (InvalidOperationException), ex.GetType (), "#D2");
Assert.IsNotNull (ex.Message, "#D3");
- Assert.IsTrue (ex.Message.IndexOf ("Schedule") != -1, "#D4");
+ Assert.IsTrue (ex.Message.IndexOf (CONTROLLABLE_SERVICE.ServiceName) != -1, "#D4");
Assert.IsTrue (ex.Message.IndexOf ("'.'") != -1, "#D5");
Assert.IsNotNull (ex.InnerException, "#D6");
public void WaitForStatus ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void WaitForStatus_Machine_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc = new ServiceController ("Schedule",
+ ServiceController sc = new ServiceController (CONTROLLABLE_SERVICE.ServiceName,
"doesnotexist");
try {
sc.WaitForStatus (ServiceControllerStatus.Stopped,
public void WaitForStatus_Service_Disabled ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("NetDDE", ".");
- ServiceController sc2 = new ServiceController ("NetDDE", ".");
+ ServiceController sc1 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (DISABLED_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Stopped, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Stopped, sc2.Status, "#A2");
public void WaitForStatus_Service_DoesNotExist ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
ServiceController sc = new ServiceController ("doesnotexist", ".");
try {
public void WaitForStatus_Service_OperationNotValid ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("SamSs", ".");
- ServiceController sc2 = new ServiceController ("SamSs", ".");
+ ServiceController sc1 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (UNCONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
public void WaitForStatus_Timeout ()
{
if (RunningOnUnix)
- return;
+ Assert.Ignore ("Running on Unix.");
- ServiceController sc1 = new ServiceController ("Schedule", ".");
- ServiceController sc2 = new ServiceController ("Schedule", ".");
+ ServiceController sc1 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
+ ServiceController sc2 = new ServiceController (CONTROLLABLE_SERVICE.ServiceName, ".");
Assert.AreEqual (ServiceControllerStatus.Running, sc1.Status, "#A1");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#A2");
Assert.AreEqual (ServiceControllerStatus.Running, sc2.Status, "#C2");
}
+ // Run this on .NET to generate ServiceInfo objects for services on the current machine
+// [Test]
+ public static void DumpServices ()
+ {
+ foreach (ServiceController sc in ServiceController.GetServices ()) {
+ try {
+ var si = new ServiceInfo { ServiceName = sc.ServiceName, DisplayName = sc.DisplayName, ServiceType = sc.ServiceType, Dependents = ServiceNames (sc.DependentServices), DependedOn = ServiceNames (sc.ServicesDependedOn) };
+ var l = new List<string> ();
+ l.Add ($"ServiceName = \"{si.ServiceName}\"");
+ l.Add ($"DisplayName = \"{si.DisplayName}\"");
+ if (si.ServiceType != ServiceType.Win32ShareProcess)
+ l.Add ($"ServiceType = ServiceType.{si.ServiceType}");
+ if (si.Dependents.Length > 0)
+ l.Add ("Dependents = new [] { \"" + String.Join ("\", \"", si.Dependents) + "\" }");
+ if (si.DependedOn.Length > 0)
+ l.Add ("DependedOn = new [] { \"" + String.Join ("\", \"", si.DependedOn) + "\" }");
+ Console.WriteLine ("static ServiceInfo " + si.DisplayName.ToUpper ().Replace (' ', '_').Replace ('-', '_') + "_SERVICE = new ServiceInfo { " + String.Join (", ", l) + " };");
+ } catch {
+ }
+ }
+ }
+
private static void EnsureServiceIsRunning (ServiceController sc)
{
sc.Refresh ();
return false;
}
+ private static string[] ServiceNames (ServiceController [] services)
+ {
+ var result = new string [services.Length];
+ for (var i = 0; i < result.Length; i++)
+ result [i] = services [i].ServiceName.ToLower ();
+ Array.Sort<string> (result);
+ return result;
+ }
+
private bool RunningOnUnix
{
get {