// When the closing state is initialised a Close message is sent public async Task WhenTransportIsNotConnected_ShouldSendCloseMessage() { var client = await GetConnectedClient(); // Act client.ExecuteCommand(SetClosingStateCommand.Create()); await client.ProcessCommands(); // Assert LastCreatedTransport.LastMessageSend.Should().NotBeNull(); LastCreatedTransport.LastMessageSend.Action.Should().Be(ProtocolMessage.MessageAction.Close); }
public async Task WhenTransportIsNotConnected_ShouldGoStraightToClosed(TransportState transportState) { var client = await GetConnectedClient(); // Arrange client.ConnectionManager.Transport = new FakeTransport { State = transportState }; // Act client.ExecuteCommand(SetClosingStateCommand.Create()); await client.ProcessCommands(); // Assert client.State.Connection.State.Should().Be(ConnectionState.Closed); }
public override void Close() { Context.ExecuteCommand(SetClosingStateCommand.Create().TriggeredBy("ConnectedState.Close()")); }
public override void Close() { TransitionState(SetClosingStateCommand.Create().TriggeredBy("ConnectingState.Close()")); }