示例#1
0
        public void TestInitialize()
        {
            var explorerTooltips = new Mock <IExplorerTooltips>();

            CustomContainer.Register(explorerTooltips.Object);
            var serverRepository = new Mock <IServerRepository>();

            CustomContainer.Register(serverRepository.Object);
            var connectControlSingleton = new Mock <IConnectControlSingleton>();

            CustomContainer.Register(connectControlSingleton.Object);
            _shellViewModelMock = new Mock <IShellViewModel>();
            _shellViewModelMock.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object);
            _shellViewModelMock.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object);
            var env = new Mock <IEnvironmentViewModel>();

            _shellViewModelMock.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new Caliburn.Micro.BindableCollection <IEnvironmentViewModel>()
            {
                env.Object
            });
            _serverMock = new Mock <IServer>();
            _studioUpdateManagerMock = new Mock <IStudioUpdateManager>();
            _explorerItemMock        = new Mock <IExplorerItem>();
            _explorerItemMock.SetupGet(it => it.Children).Returns(new ObservableCollection <IExplorerItem>());
            _serverMock.Setup(it => it.LoadExplorer(false)).ReturnsAsync(_explorerItemMock.Object);
            _serverMock.SetupGet(it => it.UpdateRepository).Returns(_studioUpdateManagerMock.Object);
            _serverMock.SetupGet(it => it.DisplayName).Returns("someResName");
            var mockEnvironmentConnection = SetupMockConnection();

            _serverMock.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object);
            _serverMock.Setup(server => server.Connection).Returns(mockEnvironmentConnection.Object);
            _shellViewModelMock.SetupGet(it => it.LocalhostServer).Returns(_serverMock.Object);
            _eventAggregatorMock = new Mock <IEventAggregator>();
            _target = new DeployDestinationViewModel(_shellViewModelMock.Object, _eventAggregatorMock.Object);
        }
示例#2
0
        public void Given_SameItem_OnSourceAndDestination_DeployStatsViewerViewModel_CheckDestinationPersmisions_ShouldBeFalse()
        {
            var explorerTooltips = new Mock <IExplorerTooltips>();

            CustomContainer.Register(explorerTooltips.Object);
            //------------Setup for test--------------------------
            var shellViewModel = new Mock <IShellViewModel>();

            shellViewModel.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object);
            shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object);
            var envMock = new Mock <IEnvironmentViewModel>();

            shellViewModel.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new Caliburn.Micro.BindableCollection <IEnvironmentViewModel>()
            {
                envMock.Object
            });
            var eventAggregator = new Mock <IEventAggregator>();
            var destPermissions = new List <IWindowsGroupPermission>();

            destPermissions.Add(new WindowsGroupPermission
            {
                Administrator = true
            });
            var localhost = new Mock <IServer>();

            localhost.Setup(a => a.DisplayName).Returns("Localhost");
            localhost.SetupGet(server => server.Permissions).Returns(destPermissions);
            localhost.SetupGet(server => server.CanDeployTo).Returns(true);
            shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object);
            shellViewModel.Setup(x => x.ActiveServer).Returns(new Mock <IServer>().Object);
            var deployDestinationViewModel = new DeployDestinationViewModel(shellViewModel.Object, eventAggregator.Object);

            IList <IExplorerTreeItem> items = new List <IExplorerTreeItem>();
            var parentMock            = new Mock <IExplorerTreeItem>();
            var itemViewModel         = new ExplorerItemViewModel(localhost.Object, parentMock.Object, null, shellViewModel.Object, null);
            var explorerItemViewModel = new ExplorerItemNodeViewModel(localhost.Object, itemViewModel, null);
            var destinationViewModel  = new AsyncObservableCollection <IExplorerItemViewModel>();

            destinationViewModel.Add(explorerItemViewModel);
            parentMock.SetupGet(it => it.Children).Returns(destinationViewModel);
            var sourcePermissions = new List <IWindowsGroupPermission>();
            var otherServer       = new Mock <IServer>();

            otherServer.SetupGet(server => server.Permissions).Returns(sourcePermissions);
            otherServer.SetupGet(server => server.CanDeployFrom).Returns(true);
            parentMock.SetupGet(item => item.Server).Returns(otherServer.Object);
            items.Add(parentMock.Object);
            deployDestinationViewModel.Environments.First().Children = destinationViewModel;
            deployDestinationViewModel.SelectedEnvironment = deployDestinationViewModel.Environments.First();

            var stat = new DeployStatsViewerViewModel(items, deployDestinationViewModel);

            Assert.IsTrue(deployDestinationViewModel.SelectedEnvironment.AsList().Count > 0);
            //------------Execute Test---------------------------
            Assert.IsNotNull(stat);
            stat.TryCalculate(items);
            //------------Assert Results-------------------------
            Assert.IsFalse(items.First().CanDeploy);
        }
示例#3
0
        public void DeployStatsViewerViewModel_Given_TheSameServer_CheckDestinationPersmisions_ShouldBeTrue()
        {
            var explorerTooltips = new Mock <IExplorerTooltips>();

            CustomContainer.Register(explorerTooltips.Object);
            //------------Setup for test--------------------------
            var shellViewModel = new Mock <IShellViewModel>();

            shellViewModel.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object);
            shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object);
            var envMock = new Mock <IEnvironmentViewModel>();

            shellViewModel.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new Caliburn.Micro.BindableCollection <IEnvironmentViewModel>
            {
                envMock.Object
            });
            var eventAggregator = new Mock <IEventAggregator>();

            var localhost = new Mock <IServer>();

            localhost.Setup(a => a.DisplayName).Returns("Localhost");
            localhost.SetupGet(server => server.CanDeployTo).Returns(true);
            localhost.SetupGet(server => server.CanDeployFrom).Returns(true);
            var mockEnvironmentConnection = SetupMockConnection();

            localhost.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object);
            shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object);

            var deployDestinationViewModel = new DeployDestinationViewModel(shellViewModel.Object, eventAggregator.Object);

            var sourceItemViewModel = new ExplorerItemViewModel(localhost.Object, null, null, shellViewModel.Object, null);

            var sourceViewModel             = new AsyncObservableCollection <IExplorerItemViewModel>();
            var sourceExplorerItemViewModel = new ExplorerItemNodeViewModel(localhost.Object, sourceItemViewModel, null);

            sourceViewModel.Add(sourceExplorerItemViewModel);

            var destinationViewModel = SetDestinationExplorerItemViewModels(Guid.Empty, localhost, shellViewModel, localhost);

            IList <IExplorerTreeItem> sourceExplorerItem = new List <IExplorerTreeItem>
            {
                sourceExplorerItemViewModel
            };

            deployDestinationViewModel.Environments.First().Children = destinationViewModel;
            deployDestinationViewModel.SelectedEnvironment = deployDestinationViewModel.Environments.First();

            var stat = new DeployStatsViewerViewModel(sourceExplorerItem, deployDestinationViewModel);

            Assert.IsTrue(deployDestinationViewModel.SelectedEnvironment.AsList().Count > 0);
            //------------Execute Test---------------------------
            Assert.IsNotNull(stat);
            stat.TryCalculate(sourceExplorerItem);
            //------------Assert Results-------------------------
            Assert.IsTrue(sourceExplorerItem.First().CanDeploy);
        }
        public void Given_NewItem_OnSourceAndDestination_DeployStatsViewerViewModel_CheckDestinationPersmisions_ShouldBeTrue()
        {
            //------------Setup for test--------------------------
            var shellViewModel = new Mock <IShellViewModel>();

            shellViewModel.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object);
            shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object);
            var eventAggregator = new Mock <IEventAggregator>();

            var localhost = new Mock <IServer>();

            localhost.Setup(a => a.DisplayName).Returns("Localhost");
            localhost.SetupGet(server => server.CanDeployTo).Returns(true);
            localhost.SetupGet(server => server.IsConnected).Returns(true);

            var otherServer = new Mock <IServer>();

            otherServer.Setup(server => server.IsConnected).Returns(true);
            otherServer.Setup(a => a.DisplayName).Returns("OtherServer");
            otherServer.SetupGet(server => server.CanDeployFrom).Returns(true);

            shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object);

            var deployDestinationViewModel = new DeployDestinationViewModel(shellViewModel.Object, eventAggregator.Object);

            var sourceItemViewModel = new ExplorerItemViewModel(localhost.Object, null, null, shellViewModel.Object, null);

            var sourceViewModel             = new AsyncObservableCollection <IExplorerItemViewModel>();
            var sourceExplorerItemViewModel = new ExplorerItemNodeViewModel(localhost.Object, sourceItemViewModel, null);

            sourceViewModel.Add(sourceExplorerItemViewModel);

            var destinationViewModel = SetDestinationExplorerItemViewModels(Guid.NewGuid(), otherServer, shellViewModel, localhost);

            IList <IExplorerTreeItem> sourceExplorerItem = new List <IExplorerTreeItem>();

            sourceExplorerItem.Add(sourceExplorerItemViewModel);

            deployDestinationViewModel.Environments.First().Children = destinationViewModel;
            deployDestinationViewModel.SelectedEnvironment = deployDestinationViewModel.Environments.First();
            deployDestinationViewModel.SelectedEnvironment.Connect();
            sourceExplorerItem.First().CanDeploy         = true;
            sourceExplorerItem.First().IsResourceChecked = true;

            var stat = new DeployStatsViewerViewModel(sourceExplorerItem, deployDestinationViewModel);

            Assert.IsTrue(deployDestinationViewModel.SelectedEnvironment.AsList().Count > 0);
            //------------Execute Test---------------------------
            Assert.IsNotNull(stat);
            stat.Calculate(sourceExplorerItem);
            //------------Assert Results-------------------------
            Assert.IsTrue(sourceExplorerItem.First().CanDeploy);
            Assert.AreEqual(stat.NewResources, 1);
        }
        public void TestInitialize()
        {
            _shellViewModelMock = new Mock <IShellViewModel>();
            _shellViewModelMock.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object);
            _shellViewModelMock.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object);
            _serverMock = new Mock <IServer>();
            _studioUpdateManagerMock = new Mock <IStudioUpdateManager>();
            _explorerItemMock        = new Mock <IExplorerItem>();
            _explorerItemMock.SetupGet(it => it.Children).Returns(new ObservableCollection <IExplorerItem>());
            _serverMock.Setup(it => it.LoadExplorer(false)).ReturnsAsync(_explorerItemMock.Object);
            _serverMock.SetupGet(it => it.UpdateRepository).Returns(_studioUpdateManagerMock.Object);
            _serverMock.SetupGet(it => it.DisplayName).Returns("someResName");
            var mockEnvironmentConnection = new Mock <IEnvironmentConnection>();

            mockEnvironmentConnection.Setup(connection => connection.IsConnected).Returns(true);
            _serverMock.Setup(server => server.Connection).Returns(mockEnvironmentConnection.Object);
            _shellViewModelMock.SetupGet(it => it.LocalhostServer).Returns(_serverMock.Object);
            _eventAggregatorMock = new Mock <IEventAggregator>();
            _target = new DeployDestinationViewModel(_shellViewModelMock.Object, _eventAggregatorMock.Object);
        }
        public DeployWorksurfaceViewModel() : base(new EventAggregator())
        {
            var mainViewModel = CustomContainer.Get <IShellViewModel>();
            var dest          = new DeployDestinationViewModel(mainViewModel, CustomContainer.Get <Microsoft.Practices.Prism.PubSubEvents.IEventAggregator>());
            var stats         = new DeployStatsViewerViewModel(dest);
            var source        = new DeploySourceExplorerViewModel(mainViewModel, CustomContainer.Get <Microsoft.Practices.Prism.PubSubEvents.IEventAggregator>(), stats);

            dest.StatsArea = stats;
            var vm = new SingleExplorerDeployViewModel(dest, source, new List <IExplorerTreeItem>(), stats, mainViewModel, CustomContainer.Get <IPopupController>());

            ViewModel = vm;
            View      = new DeployView();
            ViewModel.PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == "Header")
                {
                    OnPropertyChanged("DisplayName");
                }
                ViewModelUtils.RaiseCanExecuteChanged(mainViewModel?.SaveCommand);
            };
        }
示例#7
0
        public void DeployStatsViewerViewModel_TryCalculate_ShouldBeTrue()
        {
            var explorerTooltips = new Mock <IExplorerTooltips>();

            CustomContainer.Register(explorerTooltips.Object);
            //------------Setup for test--------------------------
            var shellViewModel = new Mock <IShellViewModel>();

            shellViewModel.Setup(model => model.ExplorerViewModel).Returns(new Mock <IExplorerViewModel>().Object);
            shellViewModel.Setup(model => model.ExplorerViewModel.ConnectControlViewModel).Returns(new Mock <IConnectControlViewModel>().Object);
            var envMock = new Mock <IEnvironmentViewModel>();

            shellViewModel.SetupGet(model => model.ExplorerViewModel.Environments).Returns(new Caliburn.Micro.BindableCollection <IEnvironmentViewModel>
            {
                envMock.Object
            });
            var eventAggregator           = new Mock <IEventAggregator>();
            var mockEnvironmentConnection = SetupMockConnection();

            var localhost = new Mock <IServer>();

            localhost.Setup(a => a.DisplayName).Returns("Localhost");
            localhost.SetupGet(server => server.CanDeployTo).Returns(true);
            localhost.SetupGet(server => server.IsConnected).Returns(true);
            localhost.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object);

            var otherServer = new Mock <IServer>();

            otherServer.Setup(server => server.IsConnected).Returns(true);
            otherServer.Setup(a => a.DisplayName).Returns("OtherServer");
            otherServer.SetupGet(server => server.CanDeployFrom).Returns(true);
            otherServer.SetupGet(it => it.Connection).Returns(mockEnvironmentConnection.Object);

            shellViewModel.Setup(x => x.LocalhostServer).Returns(localhost.Object);

            var connectControlSingleton = new Mock <IConnectControlSingleton>();

            CustomContainer.Register(connectControlSingleton.Object);
            var environmentRepository = new Mock <IServerRepository>();

            CustomContainer.Register(environmentRepository.Object);

            var deployDestinationViewModel = new DeployDestinationViewModel(shellViewModel.Object, eventAggregator.Object);

            var sourceItemViewModel = new ExplorerItemViewModel(localhost.Object, null, null, shellViewModel.Object, null);

            var sourceExplorerItemViewModel = new ExplorerItemNodeViewModel(localhost.Object, sourceItemViewModel, null);

            var destinationViewModel = SetDestinationExplorerItemViewModels(Guid.NewGuid(), otherServer, shellViewModel, localhost);

            IList <IExplorerTreeItem> sourceExplorerItem = new List <IExplorerTreeItem>();

            sourceExplorerItemViewModel.ResourceId = Guid.NewGuid();

            sourceExplorerItem.Add(sourceExplorerItemViewModel);

            deployDestinationViewModel.Environments.First().Children = destinationViewModel;
            deployDestinationViewModel.SelectedEnvironment = deployDestinationViewModel.Environments.First();
            deployDestinationViewModel.SelectedEnvironment.Connect();

            sourceExplorerItem.First().CanDeploy         = true;
            sourceExplorerItem.First().IsResourceChecked = true;

            var stat = new DeployStatsViewerViewModel(sourceExplorerItem, deployDestinationViewModel);

            Assert.IsTrue(deployDestinationViewModel.SelectedEnvironment.AsList().Count > 0);
            //------------Execute Test---------------------------
            Assert.IsNotNull(stat);
            stat.TryCalculate(null);
            //------------Assert Results-------------------------
            Assert.IsTrue(sourceExplorerItem.First().CanDeploy);
            Assert.AreEqual(0, stat.NewResources);

            Assert.AreEqual(0, stat.Services);
            Assert.AreEqual(0, stat.Sources);
            Assert.AreEqual(0, stat.Unknown);
            Assert.AreEqual(0, stat.Overrides);
            Assert.AreEqual(0, stat.New.Count);
            Assert.AreEqual(0, stat.Conflicts.Count);
            Assert.AreEqual(0, stat.Connectors);
            Assert.IsNull(stat.CalculateAction);
            Assert.IsNull(stat.Status);
            Assert.IsNull(stat.RenameErrors);
        }