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);
        }
Exemple #3
0
        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);
            }
        }
Exemple #8
0
        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);
        }