Пример #1
0
            public void WhenPortIsFree_HasNoException()
            {
                // arrange
                MockDependents mockDependents = new MockDependents();

                ISocketListenerRepository testunit = MakeUnitToBeTested(true, mockDependents);

                // act
                Socket listener         = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                Action bindSocketToPort = () => testunit.BindSocketToPort(listener, Configuration.MainframeConfirmationListeningPort);

                // assert
                bindSocketToPort.Should().NotThrow();
            }
Пример #2
0
        public ConfirmationLogicImpl(IEventLogRepository eventLogRepository, ISocketListenerRepository socketListenerRepository, IGenericQueueRepository internalMessagingLogic,
                                     IOrderConversionLogic conversionLogic, IUnitOfWork unitOfWork, IGenericSubscriptionQueueRepository subscriptionQueue)
        {
            _log    = eventLogRepository;
            _socket = socketListenerRepository;
            this.genericeQueueRepository  = internalMessagingLogic;
            this.genericSubscriptionQueue = subscriptionQueue;
            _conversionLogic = conversionLogic;
            _unitOfWork      = unitOfWork;

            _socket.FileReceived         += SocketFileReceived;
            _socket.ClosedPort           += SocketPortClosed;
            _socket.OpeningPort          += SocketOpeningPort;
            _socket.WaitingConnection    += SocketWaitingConnection;
            _socket.BeginningFileReceipt += SocketBeginningFileReceipt;
            _socket.ErrorEncountered     += SocketExceptionEncountered;

            subscriptionQueue.MessageReceived += SubscriptionQueue_MessageReceived;
        }
Пример #3
0
        public OrderHistoryLogicImpl(IOrderHistoryHeaderRepsitory headerRepo,
                                     IPurchaseOrderRepository poRepo,
                                     IKPayInvoiceRepository kpayInvoiceRepository,
                                     ICatalogLogic catalogLogic,
                                     IOrderHistoryDetailRepository detailRepo,
                                     IUnitOfWork unitOfWork,
                                     IEventLogRepository log,
                                     IGenericQueueRepository queue,
                                     IOrderConversionLogic conversionLogic,
                                     ICustomerRepository customerRepository,
                                     ISocketListenerRepository socket,
                                     IGenericSubscriptionQueueRepository genericSubscriptionQueue)
        {
            _log   = log;
            _queue = queue;
            _genericSubscriptionQueue = genericSubscriptionQueue;
            _socket = socket;

            _headerRepo            = headerRepo;
            _detailRepo            = detailRepo;
            _poRepo                = poRepo;
            _kpayInvoiceRepository = kpayInvoiceRepository;
            _catalogLogic          = catalogLogic;
            _unitOfWork            = unitOfWork;
            _conversionLogic       = conversionLogic;
            _keepListening         = true;
            _customerRepository    = customerRepository;

            _socket.FileReceived         += SocketFileReceived;
            _socket.ClosedPort           += SocketPortClosed;
            _socket.OpeningPort          += SocketOpeningPort;
            _socket.WaitingConnection    += SocketWaitingConnection;
            _socket.BeginningFileReceipt += SocketBeginningFileReceipt;
            _socket.ErrorEncountered     += SocketExceptionEncountered;

            // subscribe to event to receive message through subscription
            _genericSubscriptionQueue.MessageReceived += GenericSubscriptionQueue_MessageReceived;
        }
Пример #4
0
            public void WhenPortIsInUse_HasNoException()
            {
                // arrange
                MockDependents mockDependents = new MockDependents();

                ISocketListenerRepository testunit = MakeUnitToBeTested(true, mockDependents);

                var slowClosinglistener = StartListener(Configuration.MainframeConfirmationListeningPort);     // starts the port in use condition

                if (slowClosinglistener.IsBound == false)
                {
                    throw new Exception("Test logic failure: failed to start contending listener.");
                }

                Task.Run(() => StopListenerAfterDelay(slowClosinglistener, 30000));     // keep the port in use condition

                // act
                Socket listener         = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                Action bindSocketToPort = () => testunit.BindSocketToPort(listener, Configuration.MainframeConfirmationListeningPort);

                // assert
                bindSocketToPort.Should().NotThrow();
            }