Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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");
        }