Beispiel #1
0
        protected override void BeforeEach()
        {
            _propertyServiceMock = new Mock <IVsProjectPropertyService>();
            PackageMock.Setup(p => p.GetMefService <IVsProjectPropertyService>()).Returns(_propertyServiceMock.Object);

            _parsedProject = new FakeParsedProject {
                Name = VisualStudioProjectName
            };
            _parsedProject.ProjectMock.Setup(p => p.ConfigurationManager.ConfigurationRowNames).Returns(new string[0]);

            _pickProjectPromptMock = new Mock <Func <Project> >();
            _changedProperties     = new List <string>();

            var mockedApiManager = Mock.Of <IApiManager>(
                x => x.AreServicesEnabledAsync(It.IsAny <IList <string> >()) == Task.FromResult(true) &&
                x.EnableServicesAsync(It.IsAny <IEnumerable <string> >()) == Task.FromResult(true));

            _getClusterListTaskSource = new TaskCompletionSource <IList <Cluster> >();
            var mockedDataSource = Mock.Of <IGkeDataSource>(ds => ds.GetClusterListAsync() == _getClusterListTaskSource.Task);

            _objectUnderTest = new GkeStepViewModel(
                mockedDataSource,
                mockedApiManager,
                _pickProjectPromptMock.Object,
                Mock.Of <IPublishDialog>(pd => pd.Project == _parsedProject));
            _objectUnderTest.PropertyChanged += (sender, args) => _changedProperties.Add(args.PropertyName);
            _objectUnderTest.PublishCommand.CanExecuteChanged += (sender, args) => _canPublishChangedCount++;
            _startProcessMock = new Mock <Func <string, Process> >();
            _objectUnderTest._startProcessOverride = _startProcessMock.Object;
        }
        public void TestConstructor_SetsTitle()
        {
            const string expectedName = "Expected Name";

            _objectUnderTest = new GkeStepViewModel(Mock.Of <IPublishDialog>(pd => pd.Project.Name == expectedName));

            StringAssert.Contains(_objectUnderTest.Title, expectedName);
        }
        public void BeforeEach()
        {
            _deployment = new GkeDeployment {
                Metadata = new GkeMetadata {
                    Name = DeploymentName
                }
            };

            _getClusterListTaskSource = new TaskCompletionSource <IList <Cluster> >();
            _getDeploymentsSource     = new TaskCompletionSource <IList <GkeDeployment> >();
            _validateGcloudSource     = new TaskCompletionSource <GCloudValidationResult>();

            _propertyServiceMock = new Mock <IVsProjectPropertyService>();
            _browserServiceMock  = new Mock <IBrowserService>();
            _kubectlContextMock  = new Mock <IKubectlContext>();
            _kubectlContextMock.Setup(kube => kube.GetDeploymentsAsync()).Returns(_getDeploymentsSource.Task);
            _gkeDeploymentServiceMock = new Mock <IGkeDeploymentService>();
            _gkeDeploymentServiceMock
            .Setup(
                s => s.DeployProjectToGkeAsync(
                    It.IsAny <IParsedProject>(),
                    It.IsAny <GkeDeploymentService.Options>()))
            .Returns(Task.CompletedTask);


            PackageMock.Setup(p => p.GetMefService <IGCloudWrapper>().ValidateGCloudAsync(It.IsAny <GCloudComponent>()))
            .Returns(() => _validateGcloudSource.Task);
            PackageMock.Setup(p => p.GetMefService <IVsProjectPropertyService>()).Returns(_propertyServiceMock.Object);
            PackageMock.Setup(p => p.GetMefService <IBrowserService>()).Returns(_browserServiceMock.Object);
            PackageMock.Setup(p => p.GetMefService <IApiManager>()).Returns(Mock.Of <IApiManager>(
                                                                                x => x.AreServicesEnabledAsync(It.IsAny <IList <string> >()) == Task.FromResult(true) &&
                                                                                x.EnableServicesAsync(It.IsAny <IEnumerable <string> >()) == Task.FromResult(true)));
            PackageMock.Setup(p => p.GetMefServiceLazy <IDataSourceFactory>())
            .Returns(
                MockHelpers.LazyOf <IDataSourceFactory>(
                    dsf => dsf.CreateGkeDataSource().GetClusterListAsync() == _getClusterListTaskSource.Task));
            PackageMock.Setup(
                p => p.GetMefService <IKubectlContextProvider>()
                .GetKubectlContextForClusterAsync(It.IsAny <Cluster>()))
            .Returns(_kubectlContextMock.ToTask);
            PackageMock.Setup(p => p.GetMefServiceLazy <IGkeDeploymentService>())
            .Returns(_gkeDeploymentServiceMock.ToLazy);

            _parsedProject = new FakeParsedProject {
                Name = VisualStudioProjectName
            };
            _parsedProject.ProjectMock.Setup(p => p.ConfigurationManager.ConfigurationRowNames).Returns(new string[0]);

            _objectUnderTest = new GkeStepViewModel(Mock.Of <IPublishDialog>(pd => pd.Project == _parsedProject));

            _changedProperties = new List <string>();
            _objectUnderTest.PropertyChanged += (sender, args) => _changedProperties.Add(args.PropertyName);
            _objectUnderTest.PublishCommandAsync.CanExecuteChanged += (sender, args) => _canPublishChangedCount++;
        }
        public void Initialize()
        {
            _mockedApiManager    = new Mock <IApiManager>();
            _mockedDataSource    = new Mock <IGkeDataSource>();
            _mockedPublishDialog = new Mock <IPublishDialog>();
            _mockedProject       = new Mock <IParsedProject>();

            _areServicesEnabledTaskSource = new TaskCompletionSource <bool>();
            _clusterListTaskSource        = new TaskCompletionSource <IList <Cluster> >();

            _mockedApiManager.Setup(x => x.AreServicesEnabledAsync(It.IsAny <IList <string> >())).Returns(() => _areServicesEnabledTaskSource.Task);
            _mockedDataSource.Setup(x => x.GetClusterListAsync()).Returns(() => _clusterListTaskSource.Task);

            _mockedProject.Setup(x => x.Name).Returns(ProjectId);

            _mockedPublishDialog.Setup(x => x.TrackTask(It.IsAny <Task>()));
            _mockedPublishDialog.Setup(x => x.Project).Returns(_mockedProject.Object);

            _objectUnderTest = GkeStepViewModel.CreateStep(_mockedDataSource.Object, _mockedApiManager.Object);
        }
Beispiel #5
0
 private void OnGkeChoiceCommand()
 {
     var nextStep = GkeStepViewModel.CreateStep();
     _dialog.NavigateToStep(nextStep);
 }