Example #1
0
        public void CollectDeadLoggedinConnectionTest()
        {
            var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider());

            var persistentConnection = Substitute.For <IPersistentConnection>();

            persistentConnection.ConnectionId.Returns(Guid.NewGuid());
            persistentConnection.LastHeartbeat.Returns(new DateTime(2014, 1, 1));
            connectionRegistry.RegisterInitiatedConnection(persistentConnection);
            connectionRegistry.PromoteToLoggedInConnection(persistentConnection, "1234", 1);

            connectionRegistry.Start();

            int rounds = 0;

            while (persistentConnection.ConnectionState != ConnectionState.None && rounds < 100)
            {
                Thread.Sleep(10);
                rounds++;
            }

            connectionRegistry.Stop();
            persistentConnection.Received().Close();
            Assert.AreEqual(ConnectionState.None, persistentConnection.ConnectionState);
        }
Example #2
0
        public void StartStopWorkerTest()
        {
            var connectionRegistry = new ConnectionRegistry(new PusherRegistry(new DateTimeProvider()), new DateTimeProvider());

            connectionRegistry.Start();
            connectionRegistry.Stop();
        }
Example #3
0
        private void StartBackgrounProcesses()
        {
            var settingOperations = _serviceProvider.GetService <ISettingOperations>();

            SetupTelemetryDataSinkMetadataRegistry(settingOperations);

            var messagingServiceClient = _serviceProvider.GetService <IMessagingServiceClient>();

            messagingServiceClient.Setup(settingOperations.Get(Setting.MessagingServiceEndpoint).Value, settingOperations.Get(Setting.MessagingServiceApiKey).Value);

            var batchParameters = _serviceProvider.GetService <IBatchParameters>();

            MessagingWorkers.Start(batchParameters, messagingServiceClient);

            _persistentConnectionReceiveAndForgetWorker = _serviceProvider.GetService <PersistentConnectionReceiveAndForgetWorker>();
            _persistentConnectionReceiveAndForgetWorker.Start();

            _persistentConnectionPeekWorker = _serviceProvider.GetService <PersistentConnectionPeekWorker>();
            _persistentConnectionPeekWorker.Start();

            _connectionRegistry = _serviceProvider.GetService <ConnectionRegistry>();
            _connectionRegistry.Start();
        }