Beispiel #1
0
        public int Run(ApplyPolicyOptions options)
        {
            try
            {
                Console.WriteLine($"Applying policy '{options.InputFilePath}' => '{options.OutputFilePath}'...");
                Stopwatch w = Stopwatch.StartNew();

                bool valid = ValidateOptions(options);
                if (!valid)
                {
                    return(FAILURE);
                }

                SarifLog actualLog = ReadSarifFile <SarifLog>(_fileSystem, options.InputFilePath);

                actualLog.ApplyPolicies();

                string fileName = CommandUtilities.GetTransformedOutputFileName(options);

                WriteSarifFile(_fileSystem, actualLog, fileName, options.Minify);

                w.Stop();
                Console.WriteLine($"Rewrite completed in {w.Elapsed}.");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                return(FAILURE);
            }

            return(SUCCESS);
        }
Beispiel #2
0
        private bool ValidateOptions(ApplyPolicyOptions applyPolicyOptions)
        {
            bool valid = true;

            valid &= applyPolicyOptions.Validate();

            valid &= DriverUtilities.ReportWhetherOutputFileCanBeCreated(applyPolicyOptions.OutputFilePath, applyPolicyOptions.Force, _fileSystem);

            return(valid);
        }
        private SarifLog ExecuteTest(string path)
        {
            var options = new ApplyPolicyOptions
            {
                InputFilePath  = path,
                OutputFilePath = path,
                Force          = true
            };

            // Verify command returned success
            int returnCode = new ApplyPolicyCommand().Run(options);

            returnCode.Should().Be(0);

            // Verify SARIF output log exists
            File.Exists(path).Should().BeTrue();

            return(SarifLog.Load(path));
        }
 public void ConsumeEnvVarsAndInterpretOptions(ApplyPolicyOptions applyPolicyOptions)
 {
     ConsumeEnvVarsAndInterpretOptions((SingleFileOptionsBase)applyPolicyOptions);
 }