Ejemplo n.º 1
0
        public void TestInitialize()
        {
            queueManager      = Substitute.For <IQueueManagerAsync>();
            view              = Substitute.For <IExplorerView>();
            eventAggregator   = Substitute.For <IEventAggregator>();
            windowManagerEx   = Substitute.For <IWindowManagerEx>();
            networkOperations = Substitute.For <INetworkOperations>();
            explorer          = new QueueExplorerViewModel(queueManager, eventAggregator, windowManagerEx, networkOperations);

            queue    = new Queue("TestQueue");
            subQueue = new Queue("TestQueue.Subscriptions");

            IList <Queue> queues = new List <Queue> {
                queue, subQueue
            };

            queueManager.GetQueues(Arg.Any <string>()).Returns(Task.Run(() => queues));
            queueManager.GetQueues().Returns(Task.Run(() => queues));
            queueManager.GetMessageCount(Arg.Any <Queue>()).Returns(Task.Run(() => queues.Count));
            queueManager.IsMsmqInstalled(Arg.Any <string>()).Returns(Task.Run(() => true));

            AsyncHelper.Run(() => explorer.AttachView(view, null));
            AsyncHelper.Run(() => explorer.ConnectToQueue(Environment.MachineName));

            queueNode = explorer.MachineRoot.Children.OfType <QueueExplorerItem>().First();
        }
Ejemplo n.º 2
0
        public void should_display_connected_server_when_loading_queue_from_the_connected_server()
        {
            var           anotherQueue = new Queue("SecondQueue");
            IList <Queue> queues       = new List <Queue> {
                queue, anotherQueue
            };

            queueManager.GetQueues(Arg.Any <string>()).Returns(Task.FromResult(queues));

            AsyncHelper.Run(() => explorer.ConnectToQueue(Environment.MachineName));
            AsyncHelper.Run(() => explorer.RefreshData());

            explorer.Items[0].ShouldBeTypeOf <QueueServerExplorerItem>();
            explorer.Items.Count.ShouldBe(1);
            explorer.MachineRoot.Children.Count.ShouldBe(2);
        }
Ejemplo n.º 3
0
        public void should_not_throw_an_exception_when_system_queues_are_orphaned()
        {
            IList <Queue> unorderedQueueList = new List <Queue>(new[] { new Queue("myqueue.subscriptions") });

            queueManager = Substitute.For <IQueueManagerAsync>();
            queueManager.GetQueues().ReturnsForAnyArgs(Task.FromResult(unorderedQueueList));
            explorer = new QueueExplorerViewModel(queueManager, eventAggregator, windowManagerEx, networkOperations);

            Should.NotThrow(() => explorer.RefreshData());
        }
        public async Task FullRefresh()
        {
            if (MachineRoot == null)
            {
                return;
            }

            MachineRoot.Children.Clear();

            var queues = await _queueManager.GetQueues(ConnectedToAddress);

            var sortedQueues = queues.OrderBy(x => x.Address).ToList();

            SetupQueueNodes(sortedQueues);
            await PartialRefresh();
        }
Ejemplo n.º 5
0
        public async Task RefreshData()
        {
            if (MachineRoot == null)
            {
                return;
            }

            MachineRoot.Children.Clear();

            var queues = await _queueManager.GetQueues(ConnectedToAddress);

            var sortedQueues = queues.OrderBy(x => x.Address).ToList();

            SetupQueueNodes(sortedQueues);

            foreach (var explorerItem in MachineRoot.Children.OfType <QueueExplorerItem>().ToList())
            {
                var messageCount = await _queueManager.GetMessageCount(explorerItem.Queue);

                explorerItem.UpdateMessageCount(messageCount);
            }
        }
Ejemplo n.º 6
0
        public void TestInitialize()
        {
            queueManager = Substitute.For<IQueueManagerAsync>();
            view = Substitute.For<IExplorerView>();
            eventAggregator = Substitute.For<IEventAggregator>();
            windowManagerEx = Substitute.For<IWindowManagerEx>();
            networkOperations = Substitute.For<INetworkOperations>();
            explorer = new QueueExplorerViewModel(queueManager, eventAggregator, windowManagerEx, networkOperations);

            queue = new Queue("TestQueue");
            subQueue = new Queue("TestQueue.Subscriptions");

            IList<Queue> queues = new List<Queue> { queue, subQueue };
            queueManager.GetQueues(Arg.Any<string>()).Returns(Task.Run(() => queues));
            queueManager.GetQueues().Returns(Task.Run(() => queues));
            queueManager.GetMessageCount(Arg.Any<Queue>()).Returns(Task.Run(() => queues.Count));
            queueManager.IsMsmqInstalled(Arg.Any<string>()).Returns(Task.Run(() => true));

            AsyncHelper.Run(() => explorer.AttachView(view, null));
            AsyncHelper.Run(() => explorer.ConnectToQueue(Environment.MachineName));

            queueNode = explorer.MachineRoot.Children.OfType<QueueExplorerItem>().First();
        }
Ejemplo n.º 7
0
        public void should_not_throw_an_exception_when_system_queues_are_orphaned()
        {
            IList<Queue> unorderedQueueList = new List<Queue>(new[] { new Queue("myqueue.subscriptions") });
            queueManager = Substitute.For<IQueueManagerAsync>();
            queueManager.GetQueues().ReturnsForAnyArgs(Task.FromResult(unorderedQueueList));
            explorer = new QueueExplorerViewModel(queueManager, eventAggregator, windowManagerEx, networkOperations);

            Should.NotThrow(() => explorer.RefreshData());
        }