Exemplo n.º 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 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++;
        }
        protected override void BeforeEach()
        {
            _parsedProject = new FakeParsedProject
            {
                Name        = VisualStudioProjectName,
                ProjectType = KnownProjectTypes.WebApplication
            };
            _mockedPublishDialog = Mock.Of <IPublishDialog>(pd => pd.Project == _parsedProject);

            _propertyServiceMock = new Mock <IVsProjectPropertyService>();
            PackageMock.Setup(p => p.GetMefService <IVsProjectPropertyService>()).Returns(_propertyServiceMock.Object);

            _objectUnderTest = new ChoiceStepViewModel(_mockedPublishDialog);
        }