public BindingConfiguration Persist(BoundSonarQubeProject project, SonarLintMode bindingMode) { project.Should().NotBeNull(); SavedProject = project; SavedMode = bindingMode; return(GetConfiguration()); }
string ISolutionBindingSerializer.WriteSolutionBinding(BoundSonarQubeProject binding) { binding.Should().NotBeNull("Required argument"); string filePath = this.WriteSolutionBindingAction?.Invoke(binding) ?? binding.ProjectKey; this.WrittenFilesCount++; return(filePath); }
bool ISolutionBindingSerializer.Write(string configPath, BoundSonarQubeProject binding, Predicate <string> onSaveOperation) { binding.Should().NotBeNull("Required argument"); string filePath = this.WriteSolutionBindingAction?.Invoke(binding) ?? binding.ProjectKey; this.WrittenFilesCount++; return(true); }
public void SolutionBindingSerializer_ReadSolutionBinding_NoFile() { // Arrange SolutionBindingSerializer testSubject = this.CreateTestSubject(); // Act (read) BoundSonarQubeProject read = testSubject.ReadSolutionBinding(); // Assert read.Should().BeNull("Not expecting any binding information when there is no file"); this.outputPane.AssertOutputStrings(0); }
public void SolutionBindingSerializer_ReadSolutionBinding_OnClosedSolution() { // Arrange SolutionBindingSerializer testSubject = this.CreateTestSubject(); this.dte.Solution = new SolutionMock(dte, "" /*When the solution is closed the file is empty*/); // Act (read) BoundSonarQubeProject read = testSubject.ReadSolutionBinding(); // Assert read.Should().BeNull(); }
public void BoundProject_Serialization() { // Arrange var serverUri = new Uri("https://finding-nemo.org"); var projectKey = "MyProject Key"; var testSubject = new BoundSonarQubeProject(serverUri, projectKey, "projectName", new BasicAuthCredentials("used", "pwd".ToSecureString())); // Act (serialize + de-serialize) string data = JsonHelper.Serialize(testSubject); BoundSonarQubeProject deserialized = JsonHelper.Deserialize <BoundSonarQubeProject>(data); // Assert deserialized.Should().NotBe(testSubject); deserialized.ProjectKey.Should().Be(testSubject.ProjectKey); deserialized.ServerUri.Should().Be(testSubject.ServerUri); deserialized.Credentials.Should().BeNull(); }
public void SolutionBindingSerializer_ReadSolutionBinding_IOError() { // Arrange SolutionBindingSerializer testSubject = this.CreateTestSubject(); var serverUri = new Uri("http://xxx.www.zzz/yyy:9000"); var creds = new BasicAuthCredentials("user", "pwd".ToSecureString()); var projectKey = "MyProject Key"; var written = new BoundSonarQubeProject(serverUri, projectKey, "projectName", creds); string output = testSubject.WriteSolutionBinding(written); this.sourceControlledFileSystem.WritePendingNoErrorsExpected(); using (new FileStream(output, FileMode.Open, FileAccess.Read, FileShare.None)) { // Act (read) BoundSonarQubeProject read = testSubject.ReadSolutionBinding(); // Assert read.Should().BeNull("Not expecting any binding information in case of error"); this.outputPane.AssertOutputStrings(1); } }
public void SolutionBindingSerializer_ReadSolutionBinding_InvalidData() { // Arrange SolutionBindingSerializer testSubject = this.CreateTestSubject(); var serverUri = new Uri("http://xxx.www.zzz/yyy:9000"); var creds = new BasicAuthCredentials("user", "pwd".ToSecureString()); var projectKey = "MyProject Key"; var written = new BoundSonarQubeProject(serverUri, projectKey, creds); string output = testSubject.WriteSolutionBinding(written); this.sourceControlledFileSystem.WritePendingNoErrorsExpected(); output.Should().NotBeNull("Expected a real file"); File.WriteAllText(output, "bla bla bla: bla"); // Act (read) BoundSonarQubeProject read = testSubject.ReadSolutionBinding(); // Assert read.Should().BeNull("Not expecting any binding information in case of error"); this.outputPane.AssertOutputStrings(1); }