public void CreatesASingleProjectWhenOnlyBranches()
        {
            var mockTranslator = new Mock<ISQKeyTranslator>();
            var mockRest = new Mock<ISonarRestService>();
            var mockLogger = new Mock<INotificationManager>();
            var mockConfiguration = new Mock<IConfigurationHelper>();
            var mockPlugin = new Mock<IPluginManager>();
            var mockSourceProvider = new Mock<ISourceControlProvider>();
            var mockVsHelper = new Mock<IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny<Context>(), It.IsAny<string>(), It.IsAny<string>())).Returns(new SonarQubeProperties() { Value = "dummy" });
            var mockObj = mockConfiguration.Object;

            var brancheData = new List<Resource>();
            brancheData.Add(new Resource() { Key = "tekla.utilities:project:master", Name = "project master", BranchName = "master", IsBranch = true });
            brancheData.Add(new Resource() { Key = "tekla.utilities:project:feature_A", Name = "project feature_A", BranchName = "feature_A", IsBranch = true });
            brancheData.Add(new Resource() { Key = "tekla.utilities:project:feature_B", Name = "project feature_B", BranchName = "feature_B", IsBranch = true });

            mockRest.Setup(x => x.GetProjectsList(It.IsAny<ISonarConfiguration>())).Returns(brancheData);
            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, locaAnalyser: mockAnalyser.Object);
            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(1));
            Assert.That(associationModel.AvailableProjects[0].BranchResources.Count, Is.EqualTo(3));
            Assert.That(associationModel.AvailableProjects[0].Name, Is.EqualTo("project"));
            Assert.That(associationModel.AvailableProjects[0].BranchResources[0].BranchName, Is.EqualTo("master"));
            Assert.That(associationModel.AvailableProjects[0].BranchResources[1].BranchName, Is.EqualTo("feature_A"));
            Assert.That(associationModel.AvailableProjects[0].BranchResources[2].BranchName, Is.EqualTo("feature_B"));
        }
Exemplo n.º 2
0
        public void WhenSettingNullProjectItShouldClearData()
        {
            var mockTranslator     = new Mock <ISQKeyTranslator>();
            var mockRest           = new Mock <ISonarRestService>();
            var mockLogger         = new Mock <INotificationManager>();
            var mockConfiguration  = new Mock <IConfigurationHelper>();
            var mockPlugin         = new Mock <IPluginManager>();
            var mockSourceProvider = new Mock <ISourceControlProvider>();
            var mockVsHelper       = new Mock <IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny <Context>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new SonarQubeProperties()
            {
                Value = "dummy"
            });
            var mockObj = mockConfiguration.Object;

            var brancheData = new List <Resource>();

            brancheData.Add(new Resource()
            {
                Key = "tekla.utilities:project:feature_A", Name = "project feature_A", BranchName = "feature_A", IsBranch = true
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.xbean:xbean", Name = "Apache XBean"
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.activemq:activemq-parent", Name = "ActiveMQ"
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.maven:maven", Name = "Apache Maven", Version = "Work"
            });

            mockRest.Setup(x => x.GetProjectsList(It.IsAny <ISonarConfiguration>())).Returns(brancheData);
            mockSourceProvider.Setup(x => x.GetBranch()).Returns(string.Empty);

            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, locaAnalyser: mockAnalyser.Object);

            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(4));

            associationModel.SelectedProjectInView = associationModel.AvailableProjects[1];
            Assert.That(associationModel.SelectedProjectName, Is.EqualTo("Apache Maven"));
            Assert.That(associationModel.SelectedProjectKey, Is.EqualTo("org.apache.maven:maven"));
            Assert.That(associationModel.SelectedProjectVersion, Is.EqualTo("Work"));
            Assert.That(associationModel.SelectedBranchProject, Is.Null);
            Assert.That(associationModel.StatusMessageAssociation, Is.EqualTo("Normal project type. Press associate to confirm."));

            associationModel.SelectedProjectInView = null;
            Assert.That(associationModel.SelectedBranchProject, Is.Null);
            Assert.That(associationModel.StatusMessageAssociation, Is.EqualTo("No project selected, select from above."));
        }
Exemplo n.º 3
0
        public void CreatesBranchesAndNormalProjects()
        {
            var mockTranslator     = new Mock <ISQKeyTranslator>();
            var mockRest           = new Mock <ISonarRestService>();
            var mockLogger         = new Mock <INotificationManager>();
            var mockConfiguration  = new Mock <IConfigurationHelper>();
            var mockPlugin         = new Mock <IPluginManager>();
            var mockSourceProvider = new Mock <ISourceControlProvider>();
            var mockVsHelper       = new Mock <IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny <Context>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new SonarQubeProperties()
            {
                Value = "dummy"
            });
            var mockObj = mockConfiguration.Object;

            var brancheData = new List <Resource>();

            brancheData.Add(new Resource()
            {
                Key = "tekla.utilities:project:master", Name = "project master", BranchName = "master", IsBranch = true
            });
            brancheData.Add(new Resource()
            {
                Key = "tekla.utilities:project:feature_A", Name = "project feature_A", BranchName = "feature_A", IsBranch = true
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.xbean:xbean", Name = "Apache XBean"
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.activemq:activemq-parent", Name = "ActiveMQ"
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.maven:maven", Name = "Apache Maven"
            });

            mockRest.Setup(x => x.GetProjectsList(It.IsAny <ISonarConfiguration>())).Returns(brancheData);
            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, locaAnalyser: mockAnalyser.Object);

            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(4));
            Assert.That(associationModel.AvailableProjects[0].Name, Is.EqualTo("ActiveMQ"));
            Assert.That(associationModel.AvailableProjects[0].IsBranch, Is.False);
            Assert.That(associationModel.AvailableProjects[1].Name, Is.EqualTo("Apache Maven"));
            Assert.That(associationModel.AvailableProjects[1].IsBranch, Is.False);
            Assert.That(associationModel.AvailableProjects[2].Name, Is.EqualTo("Apache XBean"));
            Assert.That(associationModel.AvailableProjects[2].IsBranch, Is.False);
            Assert.That(associationModel.AvailableProjects[3].BranchResources.Count, Is.EqualTo(2));
            Assert.That(associationModel.AvailableProjects[3].BranchResources[0].BranchName, Is.EqualTo("master"));
            Assert.That(associationModel.AvailableProjects[3].BranchResources[1].BranchName, Is.EqualTo("feature_A"));
        }
Exemplo n.º 4
0
        public void GetsMasterBranchIfBranchIsNotDetected()
        {
            var mockTranslator     = new Mock <ISQKeyTranslator>();
            var mockRest           = new Mock <ISonarRestService>();
            var mockLogger         = new Mock <INotificationManager>();
            var mockConfiguration  = new Mock <IConfigurationHelper>();
            var mockPlugin         = new Mock <IPluginManager>();
            var mockSourceProvider = new Mock <ISourceControlProvider>();
            var mockVsHelper       = new Mock <IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny <Context>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new SonarQubeProperties()
            {
                Value = "dummy"
            });
            var mockObj = mockConfiguration.Object;

            var brancheData = new List <Resource>();

            brancheData.Add(new Resource()
            {
                Key = "tekla.utilities:project:master", Name = "project master", BranchName = "master", IsBranch = true
            });
            brancheData.Add(new Resource()
            {
                Key = "tekla.utilities:project:feature_A", Name = "project feature_A", BranchName = "feature_A", IsBranch = true
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.xbean:xbean", Name = "Apache XBean"
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.activemq:activemq-parent", Name = "ActiveMQ"
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.maven:maven", Name = "Apache Maven"
            });

            mockRest.Setup(x => x.GetProjectsList(It.IsAny <ISonarConfiguration>())).Returns(brancheData);
            mockSourceProvider.Setup(x => x.GetBranch()).Returns("feature-x");
            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, mockSourceProvider.Object, locaAnalyser: mockAnalyser.Object);

            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(4));

            associationModel.SelectedProjectInView = associationModel.AvailableProjects[3];
            Assert.That(associationModel.SelectedBranchProject.Name, Is.EqualTo("project master"));
            Assert.That(associationModel.SelectedBranchProject.BranchName, Is.EqualTo("master"));
            Assert.That(associationModel.SelectedBranchProject.Key, Is.EqualTo("tekla.utilities:project:master"));
            Assert.That(associationModel.StatusMessageAssociation, Is.EqualTo("Using master branch, because current branch does not exist or source control not supported. Press associate to confirm."));
        }
Exemplo n.º 5
0
        public void DoesNotGetBranchIfCannotDetectBranch()
        {
            var mockTranslator     = new Mock <ISQKeyTranslator>();
            var mockRest           = new Mock <ISonarRestService>();
            var mockLogger         = new Mock <INotificationManager>();
            var mockConfiguration  = new Mock <IConfigurationHelper>();
            var mockPlugin         = new Mock <IPluginManager>();
            var mockSourceProvider = new Mock <ISourceControlProvider>();
            var mockVsHelper       = new Mock <IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny <Context>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new SonarQubeProperties()
            {
                Value = "dummy"
            });
            var mockObj = mockConfiguration.Object;

            var brancheData = new List <Resource>();

            brancheData.Add(new Resource()
            {
                Key = "tekla.utilities:project:feature_A", Name = "project feature_A", BranchName = "feature_A", IsBranch = true
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.xbean:xbean", Name = "Apache XBean"
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.activemq:activemq-parent", Name = "ActiveMQ"
            });
            brancheData.Add(new Resource()
            {
                Key = "org.apache.maven:maven", Name = "Apache Maven"
            });

            mockRest.Setup(x => x.GetProjectsList(It.IsAny <ISonarConfiguration>())).Returns(brancheData);
            mockSourceProvider.Setup(x => x.GetBranch()).Returns(string.Empty);

            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, mockSourceProvider.Object, locaAnalyser: mockAnalyser.Object);

            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(4));

            associationModel.SelectedProjectInView = associationModel.AvailableProjects[3];
            Assert.That(associationModel.SelectedBranchProject, Is.Null);
            Assert.That(associationModel.StatusMessageAssociation, Is.EqualTo("Unable to find branch, please manually choose one from list and confirm."));
        }
Exemplo n.º 6
0
        public void OnDisconectInNotAssociatedShouldClearAllData()
        {
            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny <Context>(), It.IsAny <string>(), It.IsAny <string>())).Returns(new SonarQubeProperties {
                Value = "dummy"
            });
            mockRest.Setup(x => x.GetProjectsList(It.IsAny <ISonarConfiguration>())).Returns(this.CreatProjects());

            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, locaAnalyser: mockAnalyser.Object);

            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(2));

            associationModel.OnDisconnectToSonar();
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(0));
            Assert.That(associationModel.SelectedProjectInView, Is.Null);
            Assert.That(associationModel.SelectedProjectName, Is.EqualTo(""));
            Assert.That(associationModel.SelectedProjectKey, Is.EqualTo(""));
            Assert.That(associationModel.SelectedProjectVersion, Is.EqualTo(""));
            Assert.That(associationModel.IsConnected, Is.False);
        }
        public void WhenSettingNullProjectItShouldClearData()
        {
            var mockTranslator = new Mock<ISQKeyTranslator>();
            var mockRest = new Mock<ISonarRestService>();
            var mockLogger = new Mock<INotificationManager>();
            var mockConfiguration = new Mock<IConfigurationHelper>();
            var mockPlugin = new Mock<IPluginManager>();
            var mockSourceProvider = new Mock<ISourceControlProvider>();
            var mockVsHelper = new Mock<IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny<Context>(), It.IsAny<string>(), It.IsAny<string>())).Returns(new SonarQubeProperties() { Value = "dummy" });
            var mockObj = mockConfiguration.Object;

            var brancheData = new List<Resource>();
            brancheData.Add(new Resource() { Key = "tekla.utilities:project:feature_A", Name = "project feature_A", BranchName = "feature_A", IsBranch = true });
            brancheData.Add(new Resource() { Key = "org.apache.xbean:xbean", Name = "Apache XBean" });
            brancheData.Add(new Resource() { Key = "org.apache.activemq:activemq-parent", Name = "ActiveMQ" });
            brancheData.Add(new Resource() { Key = "org.apache.maven:maven", Name = "Apache Maven", Version = "Work" });

            mockRest.Setup(x => x.GetProjectsList(It.IsAny<ISonarConfiguration>())).Returns(brancheData);
            mockSourceProvider.Setup(x => x.GetBranch()).Returns(string.Empty);

            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, locaAnalyser: mockAnalyser.Object);
            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(4));

            associationModel.SelectedProjectInView = associationModel.AvailableProjects[1];
            Assert.That(associationModel.SelectedProjectName, Is.EqualTo("Apache Maven"));
            Assert.That(associationModel.SelectedProjectKey, Is.EqualTo("org.apache.maven:maven"));
            Assert.That(associationModel.SelectedProjectVersion, Is.EqualTo("Work"));
            Assert.That(associationModel.SelectedBranchProject, Is.Null);
            Assert.That(associationModel.StatusMessageAssociation, Is.EqualTo("Normal project type. Press associate to confirm."));

            associationModel.SelectedProjectInView = null;
            Assert.That(associationModel.SelectedBranchProject, Is.Null);
            Assert.That(associationModel.StatusMessageAssociation, Is.EqualTo("No project selected, select from above."));
        }
        public void OnDisconectInNotAssociatedShouldClearAllData()
        {
            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny<Context>(), It.IsAny<string>(), It.IsAny<string>())).Returns(new SonarQubeProperties { Value = "dummy" });
            mockRest.Setup(x => x.GetProjectsList(It.IsAny<ISonarConfiguration>())).Returns(this.CreatProjects());

            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, locaAnalyser: mockAnalyser.Object);
            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(2));

            associationModel.OnDisconnectToSonar();
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(0));
            Assert.That(associationModel.SelectedProjectInView, Is.Null);
            Assert.That(associationModel.SelectedProjectName, Is.EqualTo(""));
            Assert.That(associationModel.SelectedProjectKey, Is.EqualTo(""));
            Assert.That(associationModel.SelectedProjectVersion, Is.EqualTo(""));
            Assert.That(associationModel.IsConnected, Is.False);
        }
        public void GetsMasterBranchIfBranchIsNotDetected()
        {
            var mockTranslator = new Mock<ISQKeyTranslator>();
            var mockRest = new Mock<ISonarRestService>();
            var mockLogger = new Mock<INotificationManager>();
            var mockConfiguration = new Mock<IConfigurationHelper>();
            var mockPlugin = new Mock<IPluginManager>();
            var mockSourceProvider = new Mock<ISourceControlProvider>();
            var mockVsHelper = new Mock<IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny<Context>(), It.IsAny<string>(), It.IsAny<string>())).Returns(new SonarQubeProperties() { Value = "dummy" });
            var mockObj = mockConfiguration.Object;

            var brancheData = new List<Resource>();
            brancheData.Add(new Resource() { Key = "tekla.utilities:project:master", Name = "project master", BranchName = "master", IsBranch = true });
            brancheData.Add(new Resource() { Key = "tekla.utilities:project:feature_A", Name = "project feature_A", BranchName = "feature_A", IsBranch = true });
            brancheData.Add(new Resource() { Key = "org.apache.xbean:xbean", Name = "Apache XBean" });
            brancheData.Add(new Resource() { Key = "org.apache.activemq:activemq-parent", Name = "ActiveMQ" });
            brancheData.Add(new Resource() { Key = "org.apache.maven:maven", Name = "Apache Maven" });

            mockRest.Setup(x => x.GetProjectsList(It.IsAny<ISonarConfiguration>())).Returns(brancheData);
            mockSourceProvider.Setup(x => x.GetBranch()).Returns("feature-x");
            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, mockSourceProvider.Object, locaAnalyser: mockAnalyser.Object);
            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(4));

            associationModel.SelectedProjectInView = associationModel.AvailableProjects[3];
            Assert.That(associationModel.SelectedBranchProject.Name, Is.EqualTo("project master"));
            Assert.That(associationModel.SelectedBranchProject.BranchName, Is.EqualTo("master"));
            Assert.That(associationModel.SelectedBranchProject.Key, Is.EqualTo("tekla.utilities:project:master"));
            Assert.That(associationModel.StatusMessageAssociation, Is.EqualTo("Using master branch, because current branch does not exist or source control not supported. Press associate to confirm."));
        }
        public void DoesNotGetBranchIfCannotDetectBranch()
        {
            var mockTranslator = new Mock<ISQKeyTranslator>();
            var mockRest = new Mock<ISonarRestService>();
            var mockLogger = new Mock<INotificationManager>();
            var mockConfiguration = new Mock<IConfigurationHelper>();
            var mockPlugin = new Mock<IPluginManager>();
            var mockSourceProvider = new Mock<ISourceControlProvider>();
            var mockVsHelper = new Mock<IVsEnvironmentHelper>();

            mockConfiguration.Setup(x => x.ReadSetting(It.IsAny<Context>(), It.IsAny<string>(), It.IsAny<string>())).Returns(new SonarQubeProperties() { Value = "dummy" });
            var mockObj = mockConfiguration.Object;

            var brancheData = new List<Resource>();
            brancheData.Add(new Resource() { Key = "tekla.utilities:project:feature_A", Name = "project feature_A", BranchName = "feature_A", IsBranch = true });
            brancheData.Add(new Resource() { Key = "org.apache.xbean:xbean", Name = "Apache XBean" });
            brancheData.Add(new Resource() { Key = "org.apache.activemq:activemq-parent", Name = "ActiveMQ" });
            brancheData.Add(new Resource() { Key = "org.apache.maven:maven", Name = "Apache Maven" });

            mockRest.Setup(x => x.GetProjectsList(It.IsAny<ISonarConfiguration>())).Returns(brancheData);
            mockSourceProvider.Setup(x => x.GetBranch()).Returns(string.Empty);

            var associationModel = new SonarQubeViewModel("test", mockConfiguration.Object, mockLogger.Object, mockTranslator.Object, mockRest.Object, mockSourceProvider.Object, locaAnalyser: mockAnalyser.Object);
            associationModel.RefreshProjectList(false);
            Assert.That(associationModel.AvailableProjects.Count, Is.EqualTo(4));

            associationModel.SelectedProjectInView = associationModel.AvailableProjects[3];
            Assert.That(associationModel.SelectedBranchProject, Is.Null);
            Assert.That(associationModel.StatusMessageAssociation, Is.EqualTo("Unable to find branch, please manually choose one from list and confirm."));
        }