Transform() публичный Метод

public Transform ( string xml ) : IEnumerable
xml string
Результат IEnumerable
        public void CanFilter_ProjectName_With_PlainProjectName_AsRegEx()
        {
            _configSettings.ProjectNameRegEx = "BarProject";
            _transformer = new BuildDataTransformer(_configSettings);
            var projectStatuses = _transformer.Transform(ThreeProjectsProjectXml);

            Assert.That(projectStatuses.Count(), Is.EqualTo(1));
            Assert.That(projectStatuses.First().Name, Is.EqualTo("BarProject"));
        }
        public void CanFilter_ProjectName_With_OR_RegEx()
        {
            _configSettings.ProjectNameRegEx = "FooProject|BarProject";
            _transformer = new BuildDataTransformer(_configSettings);

            var projectStatuses = _transformer.Transform(SimilarProjectXml);

            Assert.That(projectStatuses.Count(), Is.EqualTo(2));
            Assert.That(projectStatuses.First().Name, Is.EqualTo("FooProject"));
            Assert.That(projectStatuses.Second().Name, Is.EqualTo("BarProject"));
        }
        public void CanFilter_Category()
        {
            const string xml =
                @"<Projects>
                    <Project name='ImportantProject' category='Important' lastBuildTime='2011-08-18T14:18:06' />
                    <Project name='LowPriorityProject' category='LowPriority' lastBuildTime='2011-08-18T14:18:06' />
                </Projects>";

            _configSettings.CategoryRegEx = "Important";
            _transformer = new BuildDataTransformer(_configSettings);
            var projectStatuses = _transformer.Transform(xml);

            Assert.That(projectStatuses.Count(), Is.EqualTo(1));
            Assert.That(projectStatuses.First().Name, Is.EqualTo("ImportantProject"));
        }
Пример #4
0
        void DataFetched(object sender, RunWorkerCompletedEventArgs e)
        {
            try
            {
                if (e.Error != null)
                {
                    _fetchExceptionHandler.Handle(e.Error);
                    return;
                }

                var xmlResults = e.Result as IEnumerable <string>;
                IEnumerable <ProjectStatus> projectData = new List <ProjectStatus>();
                if (xmlResults != null)
                {
                    projectData = xmlResults.SelectMany(xml =>
                    {
                        try
                        {
                            return(_transformer.Transform(xml));
                        }
                        catch (Exception exception)
                        {
                            _log.Error(exception);
                            return(new List <ProjectStatus>());
                        }
                    });
                }

                _view.DataContext = new ViewModels.ViewDataViewModel(_viewSettings, projectData);

                _discJockey.PlaySounds(projectData);
            }
            finally
            {
                _view.ShowProgress = false;

                _pollTimer.Start();
                _countdownTimer.Reset();
                _countdownTimer.Start();
            }
        }
        public void RegExFilter_IsUpdated_After_ConfigUpdated()
        {
            _configSettings.ProjectNameRegEx = "FooProject|BarProject";
            _transformer = new BuildDataTransformer(_configSettings);
            var projectStatuses = _transformer.Transform(SimilarProjectXml);
            Assert.That(projectStatuses.Count(), Is.EqualTo(2));

            // notify of config change and fetch again
            var newSettings = new ConfigSettings { ProjectNameRegEx = "BarProject", URL = _cruiseAddress.Url };
            _transformer.ConfigUpdated(newSettings);
            projectStatuses = _transformer.Transform(SimilarProjectXml);
            Assert.That(projectStatuses.Count(), Is.EqualTo(1));
            Assert.That(projectStatuses.First().Name, Is.EqualTo("BarProject"));
        }
        public void CanRead_CurrentMessage_FromNewStructure_In_CCnet15_With_1_FailingProject()
        {
            const string xml =
                @"<Projects>
                    <Project name='ccnet1.5_project' activity='Sleeping' lastBuildStatus='Failure' lastBuildTime='2011-08-18T14:18:06' >
                        <messages>
                            <message text='Breakers : a, b' kind='Breakers'/>
                            <message text='FailingTasks : Step1, Step2' kind='FailingTasks'/>
                        </messages>
                    </Project>
                </Projects>";

            _transformer = new BuildDataTransformer(_configSettings);
            var projectStatuses = _transformer.Transform(xml);

            Assert.That(projectStatuses.Count(), Is.EqualTo(1));
            Assert.That(projectStatuses.First().CurrentMessage, Is.EqualTo("Breakers : a, b"));
        }
        public void CanRead_CurrentMessage_FromNewStructure_In_CCnet15_With_NoFailing_Projects()
        {
            const string xml =
                @"<Projects>
                    <Project name='project1' CurrentMessage='' activity='Sleeping' lastBuildStatus='Success' lastBuildTime='2011-08-18T14:18:06' >
                        <messages/>
                    </Project>
                    <Project name='project2' CurrentMessage='' activity='Sleeping' lastBuildStatus='Success' lastBuildTime='2011-08-18T14:18:06' >
                        <messages/>
                    </Project>
                </Projects>";

            _transformer = new BuildDataTransformer(_configSettings);
            var projectStatuses = _transformer.Transform(xml);

            Assert.That(projectStatuses.Count(), Is.EqualTo(2));
            Assert.That(projectStatuses.First().CurrentMessage, Is.EqualTo(""));
            Assert.That(projectStatuses.Second().CurrentMessage, Is.EqualTo(""));
        }
        public void CanRead_CurrentMessage_FromNewStructure_In_CCnet15_With_1_Failing_1_Success()
        {
            const string xml =
                @"<Projects>
                    <Project name='project1' CurrentMessage='' activity='Sleeping' lastBuildStatus='Success'>
                        <messages/>
                    </Project>
                    <Project name='project2' activity='Sleeping' CurrentMessage='' lastBuildStatus='Failure'>
                        <messages>
                            <message text='Breakers : a, b' kind='Breakers'/>
                            <message text='FailingTasks : Step1, Step2' kind='FailingTasks'/>
                        </messages>
                    </Project>
                </Projects>";

            _transformer = new BuildDataTransformer(_configSettings);
            var projectStatuses = _transformer.Transform(xml);

            Assert.That(projectStatuses.Count(), Is.EqualTo(2));
            Assert.That(projectStatuses.First().CurrentMessage, Is.EqualTo(""));
            Assert.That(projectStatuses.Second().CurrentMessage, Is.EqualTo("Breakers : a, b"));
        }