private async Task DisconnectAsync(CancellationToken cancellationToken) { if (!IsConnected) { return; } Console.WriteLine("Starting disconnect..."); await connection.DisconnectAsync(cancellationToken); }
public async Task DisconnectAsyncShouldOptionallyCloseAllReferences() { var handle = new IntPtr(1); var device = new TestDevice("Test"); var entryName = "Test"; var phoneBook = @"C:\Test.pbk"; var entryId = Guid.NewGuid(); var options = new RasConnectionOptions(Ras.RASCF.AllUsers); var sessionId = new Luid(1, 1); var correlationId = Guid.NewGuid(); var rasHangUp = new Mock <IRasHangUp>(); services.Setup(o => o.GetService(typeof(IRasHangUp))).Returns(rasHangUp.Object); var target = new RasConnection(handle, device, entryName, phoneBook, entryId, options, sessionId, correlationId, services.Object); await target.DisconnectAsync(CancellationToken.None, false); rasHangUp.Verify(o => o.HangUpAsync(target, false, CancellationToken.None), Times.Once); }
public async Task DisconnectAsyncShouldCloseAllReferencesByDefault() { var handle = new IntPtr(1); var device = new TestDevice("Test"); var entryName = "Test"; var phoneBook = @"C:\Test.pbk"; var entryId = Guid.NewGuid(); var options = new RasConnectionOptions(Ras.RASCF.AllUsers); var sessionId = new Luid(1, 1); var correlationId = Guid.NewGuid(); var rasGetConnectStatus = new Mock <IRasGetConnectStatus>(); var rasGetConnectionStatistics = new Mock <IRasGetConnectionStatistics>(); var rasHangUp = new Mock <IRasHangUp>(); var rasClearConnectionStatistics = new Mock <IRasClearConnectionStatistics>(); var target = new RasConnection(handle, device, entryName, phoneBook, entryId, options, sessionId, correlationId, rasGetConnectStatus.Object, rasGetConnectionStatistics.Object, rasHangUp.Object, rasClearConnectionStatistics.Object); await target.DisconnectAsync(CancellationToken.None); rasHangUp.Verify(o => o.HangUpAsync(target, true, CancellationToken.None), Times.Once); }