public void Disconnect_NotConnected_ShouldNotDisconnect() { // Arrange var connection = new SapConnection(_interopMock.Object, new SapConnectionParameters()); // Act connection.Disconnect(); // Assert RfcErrorInfo errorInfo; _interopMock.Verify(x => x.CloseConnection(It.IsAny <IntPtr>(), out errorInfo), Times.Never); }
public void Disconnect_Connected_ShouldDisconnect() { // Arrange var connection = new SapConnection(_interopMock.Object, new SapConnectionParameters()); RfcErrorInfo errorInfo; _interopMock .Setup(x => x.OpenConnection(It.IsAny <RfcConnectionParameter[]>(), It.IsAny <uint>(), out errorInfo)) .Returns(RfcConnectionHandle); connection.Connect(); // Act connection.Disconnect(); // Assert _interopMock.Verify(x => x.CloseConnection(RfcConnectionHandle, out errorInfo), Times.Once); }
public void Disconnect_DisconnectionFailed_ShouldThrowException() { // Arrange var connection = new SapConnection(_interopMock.Object, new SapConnectionParameters()); 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(RfcResultCode.RFC_CANCELED); connection.Connect(); // Act Action action = () => connection.Disconnect(); // Assert action.Should().Throw <SapException>() .WithMessage("SAP RFC Error: RFC_CANCELED"); }
public void IsConnected_Disconnected_ShouldReturnFalse() { // Arrange var connection = new SapConnection(_interopMock.Object, new SapConnectionParameters()); 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(RfcResultCode.RFC_OK); connection.Connect(); connection.Disconnect(); // Act bool isConnected = connection.IsValid; // Assert isConnected.Should().BeFalse(); }