Пример #1
0
        public void RewriteUri_RewritesAllFiles(int fileCount)
        {
            Random          random = RandomSarifLogGenerator.GenerateRandomAndLog(this.output);
            List <SarifLog> logs   = new List <SarifLog>();

            for (int i = 0; i < fileCount; i++)
            {
                logs.Add(RandomSarifLogGenerator.GenerateSarifLogWithRuns(random, random.Next(10)));
            }

            bool rebaseRelativeUris = false;
            IActionWrapper <SarifLog> RewriteUri = SarifLogProcessorFactory.GetActionStage(SarifLogAction.RebaseUri, new string[] { "SRCROOT", rebaseRelativeUris.ToString(), @"C:\src\" });

            IEnumerable <SarifLog> rewrittenLogs = RewriteUri.Act(logs.AsEnumerable());

            rewrittenLogs.Should().HaveCount(logs.Count);

            // We just check that the log rewriter hit each run.  We'll test the RewriteUriVisitor more comprehensively in its own test class.
            foreach (SarifLog rewrittenLog in rewrittenLogs)
            {
                if (rewrittenLog.Runs != null)
                {
                    foreach (Run run in rewrittenLog.Runs)
                    {
                        run.OriginalUriBaseIds.Should().ContainKey("SRCROOT");
                    }
                }
            }
        }