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")); }
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 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")); }
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.")); }
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.")); }