public void SonarProjectPropertiesValidatorTest_SucceedAndSkipInvalidProjects() { var folder = TestUtils.CreateTestSpecificFolder(TestContext); var p1 = MockProject(folder, "Project1"); var p2 = MockProject(folder, "Project2"); var p3 = MockProject(folder, "Project3"); var p4 = MockProject(folder, "Project4"); var p5 = MockProject(folder, "Project5"); File.Create(Path.Combine(Path.GetDirectoryName(p2.FullPath), "sonar-project.properties")); File.Create(Path.Combine(Path.GetDirectoryName(p3.FullPath), "sonar-project.properties")); File.Create(Path.Combine(Path.GetDirectoryName(p4.FullPath), "sonar-project.properties")); File.Create(Path.Combine(Path.GetDirectoryName(p5.FullPath), "sonar-project.properties")); var projects = new Dictionary <ProjectInfo, ProjectInfoValidity>(); projects[p1] = ProjectInfoValidity.Valid; projects[p2] = ProjectInfoValidity.DuplicateGuid; projects[p3] = ProjectInfoValidity.ExcludeFlagSet; projects[p4] = ProjectInfoValidity.InvalidGuid; projects[p5] = ProjectInfoValidity.NoFilesToAnalyze; bool called = false; SonarProjectPropertiesValidator.Validate( folder, projects, onValid: () => called = true, onInvalid: (paths) => { Assert.Fail("Expected to succeed"); }); Assert.IsTrue(called, "Callback not called"); }
public void SonarProjectPropertiesValidatorTest_FailProjectDirectory() { var folder = TestUtils.CreateTestSpecificFolder(TestContext); var p1 = MockProject(folder, "Project1"); var p2 = MockProject(folder, "Project2"); var p3 = MockProject(folder, "Project3"); File.Create(Path.Combine(Path.GetDirectoryName(p1.FullPath), "sonar-project.properties")); File.Create(Path.Combine(Path.GetDirectoryName(p3.FullPath), "sonar-project.properties")); var projects = new Dictionary <ProjectInfo, ProjectInfoValidity>(); projects[p1] = ProjectInfoValidity.Valid; projects[p2] = ProjectInfoValidity.Valid; projects[p3] = ProjectInfoValidity.Valid; bool called = false; SonarProjectPropertiesValidator.Validate( folder, projects, onValid: () => Assert.Fail("expected validation to fail"), onInvalid: (paths) => { called = true; Assert.AreEqual(2, paths.Count); Assert.AreEqual(Path.GetDirectoryName(p1.FullPath), paths[0]); Assert.AreEqual(Path.GetDirectoryName(p3.FullPath), paths[1]); }); Assert.IsTrue(called, "Callback not called"); }
public void SonarProjectPropertiesValidatorTest_SucceedAndSkipInvalidProjects() { var folder = TestUtils.CreateTestSpecificFolder(TestContext); var p1 = new ProjectData(MockProject(folder, "Project1")) { Status = ProjectInfoValidity.Valid }; var p2 = new ProjectData(MockProject(folder, "Project3")) { Status = ProjectInfoValidity.ExcludeFlagSet }; var p3 = new ProjectData(MockProject(folder, "Project4")) { Status = ProjectInfoValidity.InvalidGuid }; var p4 = new ProjectData(MockProject(folder, "Project5")) { Status = ProjectInfoValidity.NoFilesToAnalyze }; File.Create(Path.Combine(Path.GetDirectoryName(p2.Project.FullPath), "sonar-project.properties")); File.Create(Path.Combine(Path.GetDirectoryName(p3.Project.FullPath), "sonar-project.properties")); File.Create(Path.Combine(Path.GetDirectoryName(p4.Project.FullPath), "sonar-project.properties")); var projects = new List <ProjectData> { p1, p2, p3, p4, }; var called = false; SonarProjectPropertiesValidator.Validate( folder, projects, onValid: () => called = true, onInvalid: (paths) => { Assert.Fail("Expected to succeed"); }); Assert.IsTrue(called, "Callback not called"); }
public void SonarProjectPropertiesValidatorTest_FailCurrentDirectory() { var folder = TestUtils.CreateTestSpecificFolder(TestContext); File.Create(Path.Combine(folder, "sonar-project.properties")); var called = false; SonarProjectPropertiesValidator.Validate( folder, new List <ProjectData>(), onValid: () => Assert.Fail("expected validation to fail"), onInvalid: (paths) => { called = true; Assert.AreEqual(1, paths.Count); Assert.AreEqual(folder, paths[0]); }); Assert.IsTrue(called, "Callback not called"); }
public void SonarProjectPropertiesValidatorTest_FailProjectDirectory() { var folder = TestUtils.CreateTestSpecificFolder(TestContext); var p1 = new ProjectData(MockProject(folder, "Project1")) { Status = ProjectInfoValidity.Valid }; var p2 = new ProjectData(MockProject(folder, "Project2")) { Status = ProjectInfoValidity.Valid }; var p3 = new ProjectData(MockProject(folder, "Project3")) { Status = ProjectInfoValidity.Valid }; File.Create(Path.Combine(Path.GetDirectoryName(p1.Project.FullPath), "sonar-project.properties")); File.Create(Path.Combine(Path.GetDirectoryName(p3.Project.FullPath), "sonar-project.properties")); var projects = new List <ProjectData> { p1, p2, p3, }; var called = false; SonarProjectPropertiesValidator.Validate( folder, projects, onValid: () => Assert.Fail("expected validation to fail"), onInvalid: (paths) => { called = true; Assert.AreEqual(2, paths.Count); Assert.AreEqual(Path.GetDirectoryName(p1.Project.FullPath), paths[0]); Assert.AreEqual(Path.GetDirectoryName(p3.Project.FullPath), paths[1]); }); Assert.IsTrue(called, "Callback not called"); }