Ejemplo n.º 1
0
        public void AddPipeline_Should_Add_Pipeline()
        {
            const string PipelineXml = "<Project name=\"Trunk\" "
                                       + "activity=\"Sleeping\""
                                       + " lastBuildStatus=\"Success\""
                                       + " lastBuildLabel=\"68636\""
                                       + " lastBuildTime=\"2011-12-02T11:01:04\""
                                       + " webUrl=\"http://go/pipelines/CI/618/build/1\"/>";
            var xDoc = new XmlDocument();

            xDoc.LoadXml(PipelineXml);
            var xmlNode       = xDoc.GetElementsByTagName("Project")[0];
            var pipelineGroup = new PipelineGroup();

            pipelineGroup.AddPipeline(xmlNode);

            var pipeline = pipelineGroup.Pipelines.First();

            Assert.That(pipeline.Name, Is.EqualTo("Trunk"));
            Assert.That(pipeline.Activity, Is.EqualTo("Sleeping"));
            Assert.That(pipeline.LastBuildStatus, Is.EqualTo("Success"));
            Assert.That(pipeline.LastBuildLabel, Is.EqualTo("68636"));
            Assert.That(pipeline.LastBuildTime, Is.EqualTo("12/02/2011 11:01:04"));
            Assert.That(pipeline.WebUrl, Is.EqualTo("http://go/pipelines/CI/618/build/1"));
        }
Ejemplo n.º 2
0
        public void FriendlyName_Should_Be_Friendly()
        {
            var pipelineGroup = new PipelineGroup
            {
                Name = "UNFRIENDLY.NAME"
            };

            Assert.AreEqual(pipelineGroup.FriendlyName, "UNFRIENDLYNAME");
        }
Ejemplo n.º 3
0
        private static PipelineGroup RetrievePipelinesFromXml(XmlDocument xDoc)
        {
            var pipelineGroup = new PipelineGroup();

            foreach (XmlNode xmlNode in xDoc.GetElementsByTagName("Project"))
            {
                pipelineGroup.AddPipeline(xmlNode);
            }

            return(pipelineGroup);
        }
Ejemplo n.º 4
0
        private PipelineGroup CreateCurrentPipelineGroup(PipelineGroup pipelineGroup, string relevantPipelineGroupName)
        {
            var currentPipelineGroup = new PipelineGroup {
                Name = relevantPipelineGroupName
            };
            var relevantPipelines          = pipelineGroup.Pipelines.Where(x => x.PipelineGroupName == relevantPipelineGroupName);
            var pipelines                  = relevantPipelines as Pipeline[] ?? relevantPipelines.ToArray();
            var relevantPipelineStageNames = GetRelevantPipelineStageNames(pipelines);

            return(UpdateAllPipelinesStatus(pipelines, relevantPipelineStageNames, currentPipelineGroup));
        }
Ejemplo n.º 5
0
        public void Import()
        {
            var expected      = "cowabunga";
            var pipelineGroup = new PipelineGroup();

            pipelineGroup.Import(new TextPipelines());

            var actual = pipelineGroup["sanitize_input"].Run("Cowabunga!");

            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 6
0
        public List <PipelineGroup> CompressPipelineGroup(PipelineGroup pipelineGroup)
        {
            var relevantPipelineGroupNames = "";

            foreach (var pipeline in
                     pipelineGroup.Pipelines.Where(pipeline => relevantPipelineGroupNames.IndexOf(pipeline.PipelineGroupName, StringComparison.Ordinal) == -1))
            {
                relevantPipelineGroupNames += pipeline.PipelineGroupName + ",";
            }
            relevantPipelineGroupNames = relevantPipelineGroupNames.Substring(0, relevantPipelineGroupNames.Length - 1);

            return(relevantPipelineGroupNames.Split(',').Select(relevantPipelineGroupName => CreateCurrentPipelineGroup(pipelineGroup, relevantPipelineGroupName)).ToList());
        }
Ejemplo n.º 7
0
        public void Should_Not_Be_Fix_Overdue_When_Pipeline_Has_Passed()
        {
            var pipelineGroup = new PipelineGroup
            {
                Name      = Branch,
                Pipelines = new List <Pipeline> {
                    new Pipeline {
                        LastBuildStatus = "Passed", LastBuildTimeDateTime = DateTime.Now.AddMinutes(-31)
                    }
                }
            };

            Assert.AreEqual(pipelineGroup.FixOverdue, "good");
        }
Ejemplo n.º 8
0
        public void Should_Be_Fix_Overdue_When_Pipeline_Has_Failed_For_30_Minutes()
        {
            var pipelineGroup = new PipelineGroup
            {
                Name      = Branch,
                Pipelines = new List <Pipeline> {
                    new Pipeline {
                        LastBuildStatus = "Failure", LastBuildTimeDateTime = DateTime.Now.AddMinutes(-31)
                    }
                }
            };

            Assert.AreEqual(pipelineGroup.FixOverdue, "overdue");
        }
Ejemplo n.º 9
0
        public void Should_Not_Be_Fix_Overdue_When_Trunk_Has_Failed_For_Less_Then_10_Minutes()
        {
            var pipelineGroup = new PipelineGroup
            {
                Name      = "Trunk",
                Pipelines = new List <Pipeline> {
                    new Pipeline {
                        LastBuildStatus = "Failure", LastBuildTimeDateTime = DateTime.Now.AddMinutes(-9)
                    }
                }
            };

            Assert.AreEqual(pipelineGroup.FixOverdue, "good");
        }
Ejemplo n.º 10
0
        public void Should_Set_LastBuildTime_Of_Last_Built_Pipeline_When_All_Passed()
        {
            var pipelineGroup = new PipelineGroup
            {
                Name      = Branch,
                Pipelines = new List <Pipeline>
                {
                    new Pipeline {
                        LastBuildStatus = "Passed", LastBuildTimeDateTime = DateTime.Now.AddMinutes(-31)
                    },
                    new Pipeline {
                        LastBuildStatus = "Passed", LastBuildTimeDateTime = DateTime.Now.AddMinutes(-9)
                    }
                }
            };

            var timeDifference = DateTime.Now.AddMinutes(-9) - pipelineGroup.LastBuildTimeDateTime;

            Assert.That(timeDifference.Minutes, Is.LessThanOrEqualTo(0));
        }
Ejemplo n.º 11
0
        public void Should_Set_LastBuildTime_Of_Failing_Pipeline_When_Contains_Passing_Pipeline_Of_Later_Build()
        {
            var pipelineGroup = new PipelineGroup
            {
                Name      = Branch,
                Pipelines = new List <Pipeline>
                {
                    new Pipeline {
                        LastBuildStatus = "Failure", LastBuildTimeDateTime = DateTime.Now.AddMinutes(-31)
                    },
                    new Pipeline {
                        LastBuildStatus = "Passed", LastBuildTimeDateTime = DateTime.Now.AddMinutes(-9)
                    }
                }
            };

            var timeDifference = DateTime.Now.AddMinutes(-31) - pipelineGroup.LastBuildTimeDateTime;

            Assert.That(timeDifference.Minutes, Is.GreaterThanOrEqualTo(0));
        }
Ejemplo n.º 12
0
        public void Should_Have_Passed_Status_If_Doesnt_Contain_Failed_Pipeline()
        {
            var pipelineGroup = new PipelineGroup
            {
                Name      = Branch,
                Pipelines = new List <Pipeline>
                {
                    new Pipeline {
                        LastBuildStatus = "Passed"
                    },
                    new Pipeline {
                        LastBuildStatus = "Passed"
                    },
                    new Pipeline {
                        LastBuildStatus = "Passed"
                    }
                }
            };

            Assert.AreEqual(pipelineGroup.Status, "passed");
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Finds all BuildPipelines that have this shortcut set and executes them
        /// </summary>
        /// <param name="group">Which shortcut was pressed</param>
        private static void BuildPipelineGroup(PipelineGroup group = PipelineGroup.First)
        {
            if (Application.isBatchMode) //Read from command line arguments
            {
                int value = 0;
                Console.Out.WriteLine("Reading args now");
                var args = Environment.GetCommandLineArgs();
                for (int i = 0; i < args.Length; i++)
                {
                    if (args[i] == "-pipelineGroup")
                    {
                        value = int.Parse(args[i + 1]);
                    }
                }

                group = (PipelineGroup)(1 << value);

                Console.Out.WriteLine("Using BuildPipelineGroup: " + value);
            }

            var pipelineGuids = AssetDatabase.FindAssets("t:BuildPipeline");

            foreach (var guid in pipelineGuids)
            {
                var path = AssetDatabase.GUIDToAssetPath(guid);
                var p    = AssetDatabase.LoadAssetAtPath <BuildPipeline>(path);
                if ((p.pipelineGroup & group) != 0)
                {
                    Selection.activeObject = p;
                    p.BuildAll();
                    if (cancelledPipeline)
                    {
                        break;
                    }
                }
            }
        }
Ejemplo n.º 14
0
        public void Should_Set_LastBuildLabelPipeline_Of_Earliest_Failed_Pipeline_Revision()
        {
            var pipelineGroup = new PipelineGroup
            {
                Name      = Branch,
                Pipelines = new List <Pipeline>
                {
                    new Pipeline {
                        Name = "Two", LastBuildStatus = "Passed", LastBuildLabel = "6"
                    },
                    new Pipeline {
                        Name = "One", LastBuildStatus = "Failure", LastBuildLabel = "2"
                    },
                    new Pipeline {
                        Name = "Four", LastBuildStatus = "Failure", LastBuildLabel = "5"
                    },
                    new Pipeline {
                        Name = "Three", LastBuildStatus = "Passed", LastBuildLabel = "1"
                    }
                }
            };

            Assert.AreEqual(pipelineGroup.LastBuildLabelPipeline.Name, "One");
        }
Ejemplo n.º 15
0
 public List <PipelineGroup> CompressPipelineGroup(PipelineGroup pipelineGroup)
 {
     return(new List <PipelineGroup>());
 }
Ejemplo n.º 16
0
 static void Foo()
 {
     var grupo = new PipelineGroup();
 }
Ejemplo n.º 17
0
 private PipelineGroup UpdateAllPipelinesStatus(IEnumerable <Pipeline> relevantPipelines, string relevantPipelineStageNames, PipelineGroup currentPipelineGroup)
 {
     foreach (var relevantPipelineStageName in relevantPipelineStageNames.Split(','))
     {
         var name      = relevantPipelineStageName;
         var pipelines = relevantPipelines.Where(x => x.Name.IndexOf(name + " ", StringComparison.Ordinal) > -1).ToList();
         if (pipelines.Count(x => x.Activity == "Building") > 0)
         {
             pipelines[0].Activity = "Building";
         }
         if (pipelines.Count(x => x.LastBuildStatus == "Failure") > 0)
         {
             pipelines[0].LastBuildStatus = "Failure";
         }
         currentPipelineGroup.Pipelines.Add(pipelines[0]);
     }
     return(currentPipelineGroup);
 }