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