public void DisablingRequestValidation_CS_WebConfig(string root)
        {
            var webConfigPath = Path.Combine(root, WebConfig);

            DiagnosticVerifier.VerifyExternalFile(
                SolutionBuilder.Create().AddProject(AnalyzerLanguage.CSharp).GetCompilation(),
                new CS.DisablingRequestValidation(AnalyzerConfiguration.AlwaysEnabled),
                File.ReadAllText(webConfigPath),
                TestHelper.CreateSonarProjectConfig(root, TestHelper.CreateFilesToAnalyze(root, webConfigPath)));
        }
        public void DatabasePasswordsShouldBeSecure_CS_WebConfig(string root)
        {
            var webConfigPath = GetWebConfigPath(root);

            DiagnosticVerifier.VerifyExternalFile(
                CreateCompilation(),
                new CS.DatabasePasswordsShouldBeSecure(),
                File.ReadAllText(webConfigPath),
                TestHelper.CreateSonarProjectConfig(root, TestHelper.CreateFilesToAnalyze(root, webConfigPath)));
        }
        public void DisablingRequestValidation_VB_WebConfig()
        {
            var root          = @"TestCases\WebConfig\DisablingRequestValidation\Values";
            var webConfigPath = Path.Combine(root, WebConfig);

            DiagnosticVerifier.VerifyExternalFile(
                SolutionBuilder.Create().AddProject(AnalyzerLanguage.VisualBasic).GetCompilation(),
                new VB.DisablingRequestValidation(AnalyzerConfiguration.AlwaysEnabled),
                File.ReadAllText(webConfigPath),
                TestHelper.CreateSonarProjectConfig(root, TestHelper.CreateFilesToAnalyze(root, webConfigPath)));
        }
        public void DatabasePasswordsShouldBeSecure_CS_ExternalConnection()
        {
            var root               = @"TestCases\WebConfig\DatabasePasswordsShouldBeSecure\ExternalConfig";
            var webConfigPath      = GetWebConfigPath(root);
            var externalConfigPath = Path.Combine(root, "external.config");

            DiagnosticVerifier.VerifyExternalFile(
                CreateCompilation(),
                new CS.DatabasePasswordsShouldBeSecure(),
                File.ReadAllText(webConfigPath),
                TestHelper.CreateSonarProjectConfig(root, TestHelper.CreateFilesToAnalyze(root, webConfigPath, externalConfigPath)));
        }
        public void DisablingRequestValidation_CS_CorruptAndNonExistingWebConfigs()
        {
            var root                = @"TestCases\WebConfig\DisablingRequestValidation\Corrupt";
            var nonexisting         = @"TestCases\WebConfig\DisablingRequestValidation\NonExsitingDirectory";
            var corruptFilePath     = Path.Combine(root, WebConfig);
            var nonExistingFilePath = Path.Combine(nonexisting, WebConfig);

            DiagnosticVerifier.VerifyExternalFile(
                SolutionBuilder.Create().AddProject(AnalyzerLanguage.CSharp).GetCompilation(),
                new CS.DisablingRequestValidation(AnalyzerConfiguration.AlwaysEnabled),
                File.ReadAllText(corruptFilePath),
                TestHelper.CreateSonarProjectConfig(root, TestHelper.CreateFilesToAnalyze(root, corruptFilePath, nonExistingFilePath)));
        }
        public void DatabasePasswordsShouldBeSecure_CS_CorruptAndNonExistingWebConfigs_ShouldNotFail()
        {
            var root                = @"TestCases\WebConfig\DatabasePasswordsShouldBeSecure\Corrupt";
            var missingDirectory    = @"TestCases\WebConfig\DatabasePasswordsShouldBeSecure\NonExistingDirectory";
            var corruptFilePath     = GetWebConfigPath(root);
            var nonExistingFilePath = GetWebConfigPath(missingDirectory);

            DiagnosticVerifier.VerifyExternalFile(
                CreateCompilation(),
                new CS.DatabasePasswordsShouldBeSecure(),
                File.ReadAllText(corruptFilePath),
                TestHelper.CreateSonarProjectConfig(root, TestHelper.CreateFilesToAnalyze(root, corruptFilePath, nonExistingFilePath)));
        }
 public void DisablingRequestValidation_CS_WebConfig_Transformation(string configPath) =>
 DiagnosticVerifier.VerifyExternalFile(
     SolutionBuilder.Create().AddProject(AnalyzerLanguage.CSharp).GetCompilation(),
     new CS.DisablingRequestValidation(AnalyzerConfiguration.AlwaysEnabled),
     File.ReadAllText(configPath),
     TestHelper.CreateSonarProjectConfig(Path.GetDirectoryName(configPath), TestHelper.CreateFilesToAnalyze(Path.GetDirectoryName(configPath), configPath)));