public void Disconnect_NotConnected_ShouldNotDisconnect() { var connection = new RfcConnection(_interopMock.Object, new RfcConnectionOption()); connection.Disconnect(); RfcErrorInfo errorInfo; _interopMock.Verify(x => x.CloseConnection(It.IsAny <IntPtr>(), out errorInfo), Times.Never); }
public void Disconnect_Connected_ShouldDisconnect() { var connection = new RfcConnection(_interopMock.Object, new RfcConnectionOption()); RfcErrorInfo errorInfo; _interopMock .Setup(x => x.OpenConnection(It.IsAny <RfcConnectionParameter[]>(), It.IsAny <uint>(), out errorInfo)) .Returns(RfcConnectionHandle); connection.Connect(); connection.Disconnect(); _interopMock.Verify(x => x.CloseConnection(RfcConnectionHandle, out errorInfo), Times.Once); }
public void IsConnected_Disconnected_ShouldReturnFalse() { var connection = new RfcConnection(_interopMock.Object, new RfcConnectionOption()); RfcErrorInfo errorInfo; _interopMock .Setup(x => x.OpenConnection(It.IsAny <RfcConnectionParameter[]>(), It.IsAny <uint>(), out errorInfo)) .Returns(RfcConnectionHandle); int isValid = 1; _interopMock .Setup(x => x.IsConnectionHandleValid(RfcConnectionHandle, out isValid, out errorInfo)) .Returns(RfcResultCodes.RFC_OK); connection.Connect(); connection.Disconnect(); bool isConnected = connection.IsValid; isConnected.Should().BeFalse(); }
public void Disconnect_DisconnectionFailed_ShouldThrowException() { // Arrange var connection = new RfcConnection(_interopMock.Object, new RfcConnectionOption()); RfcErrorInfo errorInfo; _interopMock .Setup(x => x.OpenConnection(It.IsAny <RfcConnectionParameter[]>(), It.IsAny <uint>(), out errorInfo)) .Returns(RfcConnectionHandle); _interopMock .Setup(x => x.CloseConnection(It.IsAny <IntPtr>(), out errorInfo)) .Returns(RfcResultCodes.RFC_CANCELED); connection.Connect(); // Act Action action = () => connection.Disconnect(); // Assert action.Should().Throw <RfcException>() .WithMessage("SAP RFC Error: RFC_CANCELED"); }