public void OpenServiceSetsConnectionHandleToNotIntPtrZero(Fake<IAdvApi32> advApi32, int serviceControlManagerHandleValue, int serviceHandleValue, string serviceName) { advApi32.CallsTo(_ => _.OpenService(A<IntPtr>._, A<string>._, A<ScmAccess>._)) .Returns(new IntPtr(serviceHandleValue)); var sut = new ServiceConnection(advApi32.FakedObject); var connectionHandle = new ConnectionHandle {ServiceManagerHandle = new IntPtr(serviceControlManagerHandleValue)}; sut.Open(connectionHandle, serviceName); var actual = connectionHandle.ServiceHandle; var expected = new IntPtr(serviceHandleValue); Assert.Equal(expected, actual); }
public void OpenServiceRequiresServiceName(Fake<IAdvApi32> advApi32, int serviceControlManagerHandleValue) { var sut = new ServiceConnection(advApi32.FakedObject); var connectionHandle = new ConnectionHandle {ServiceManagerHandle = new IntPtr(serviceControlManagerHandleValue)}; Assert.Throws<ArgumentNullException>(() => sut.Open(connectionHandle, null)); }
public void OpenServiceRequiresConnectionHandle(Fake<IAdvApi32> advApi32, string serviceName) { var sut = new ServiceConnection(advApi32.FakedObject); Assert.Throws<ArgumentNullException>(() => sut.Open(null, serviceName)); }
public void OpenServiceRequiresOpenServiceControlManager(Fake<IAdvApi32> advApi32, string serviceName) { var sut = new ServiceConnection(advApi32.FakedObject); var connectionHandle = new ConnectionHandle(); Assert.Throws<MissingServiceManagerConnectionException>(() => sut.Open(connectionHandle, serviceName)); }
public void OpenServiceCallsUnderlyingApi(Fake<IAdvApi32> advApi32, int serviceControlManagerHandleValue, int serviceHandleValue, string serviceName) { advApi32.CallsTo(_ => _.OpenService(A<IntPtr>._, A<string>._, A<ScmAccess>._)) .Returns(new IntPtr(serviceHandleValue)); var sut = new ServiceConnection(advApi32.FakedObject); var connectionHandle = new ConnectionHandle {ServiceManagerHandle = new IntPtr(serviceControlManagerHandleValue)}; sut.Open(connectionHandle, serviceName); advApi32.CallsTo(_ => _.OpenService(A<IntPtr>._, A<string>._, A<ScmAccess>._)).MustHaveHappened(); }