public void WriteLockCallsUnderlyingAPI(Fake <IAdvApi32> advApi32, int serviceControlManagerHandlerValue, int serviceDatabaseLockHandleValue) { advApi32.CallsTo(_ => _.AquireServiceDatabaseLock(A <IntPtr> ._)) .Returns(new IntPtr(serviceDatabaseLockHandleValue)); var sut = new ServiceDatabaseConnection(advApi32.FakedObject); var connectionHandle = new ConnectionHandle { ServiceManagerHandle = new IntPtr(serviceControlManagerHandlerValue) }; sut.WriteLock(connectionHandle); advApi32.CallsTo(_ => _.AquireServiceDatabaseLock(A <IntPtr> ._)).MustHaveHappened(); }
public void WriteLockSetsServiceDatabaseLockHandle(Fake <IAdvApi32> advApi32, int serviceControlManagerHandlerValue, int serviceDatabaseLockHandleValue) { advApi32.CallsTo(_ => _.AquireServiceDatabaseLock(A <IntPtr> ._)) .Returns(new IntPtr(serviceDatabaseLockHandleValue)); var sut = new ServiceDatabaseConnection(advApi32.FakedObject); var connectionHandle = new ConnectionHandle { ServiceManagerHandle = new IntPtr(serviceControlManagerHandlerValue) }; sut.WriteLock(connectionHandle); var actual = connectionHandle.ServiceDatabaseLockHandle; var expected = new IntPtr(serviceDatabaseLockHandleValue); Assert.Equal(expected, actual); }
public void AquireWriteLockRequiresConnectionHandle(Fake <IAdvApi32> advApi32) { var sut = new ServiceDatabaseConnection(advApi32.FakedObject); Assert.Throws <ArgumentNullException>(() => sut.WriteLock(null)); }