Beispiel #1
0
        public void it_returns_full_build_field_versionedSettingsRevision()
        {
            var           tempBuildConfig = m_client.BuildConfigs.All().First();
            RevisionField revisionField   = RevisionField.WithFields(version: true);
            var           buildField      = BuildField.WithFields(versionedSettingsRevision: revisionField);
            var           tempBuild       = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var           build           = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build);
        }
        public void it_returns_the_builds_queued_compatible_agents()
        {
            AgentField            agentField            = AgentField.WithFields(id: true);
            CompatibleAgentsField compatibleAgentsField = CompatibleAgentsField.WithFields(agent: agentField);
            BuildField            buildField            = BuildField.WithFields(compatibleAgents: compatibleAgentsField, id: true);
            BuildsField           buildsField           = BuildsField.WithFields(buildField: buildField);
            var result = m_client.BuildQueue.GetFields(buildsField.ToString()).All();

            Assert.IsNotEmpty(result);
        }
Beispiel #3
0
        public void it_returns_full_build_field_Links()
        {
            var        tempBuildConfig = m_client.BuildConfigs.All().First();
            LinkField  linkField       = LinkField.WithFields(type: true, url: true, relativeUrl: true);
            LinksField linksField      = LinksField.WithFields(link: linkField);
            var        buildField      = BuildField.WithFields(links: linksField);
            var        tempBuild       = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var        build           = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build);
        }
Beispiel #4
0
        public void it_returns_full_build_field_resultingProperties()
        {
            var tempBuildConfig = m_client.BuildConfigs.All().First();

            PropertyField   propertyField   = PropertyField.WithFields(name: true, value: true);
            PropertiesField propertiesField = PropertiesField.WithFields(propertyField: propertyField);
            var             buildField      = BuildField.WithFields(resultingProperties: propertiesField);
            var             tempBuild       = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var             build           = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build);
        }
Beispiel #5
0
        public void it_returns_full_build_field_attributes()
        {
            var tempBuildConfig = m_client.BuildConfigs.All().First();

            EntryField   entryField   = EntryField.WithFields(name: true, value: true);
            EntriesField entriesField = EntriesField.WithFields(entry: entryField);
            var          buildField   = BuildField.WithFields(attributes: entriesField);
            var          tempBuild    = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var          build        = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build);
        }
Beispiel #6
0
        public void it_returns_full_build_field_2()
        {
            var                            tempBuildConfig                = m_client.BuildConfigs.All().First();
            ItemsField                     itemsField                     = ItemsField.WithFields(item: true);
            BuildsField                    buildsField                    = BuildsField.WithFields();
            RelatedField                   relatedField                   = RelatedField.WithFields(builds: buildsField);
            RelatedIssuesField             relatedIssuesField             = RelatedIssuesField.WithFields(href: true);
            ArtifactDependenciesField      artifactDependenciesField      = ArtifactDependenciesField.WithFields();
            BuildArtifactDependenciesField buildArtifactDependenciesField = BuildArtifactDependenciesField.WithFields();
            BuildSnapshotDependenciesField buildSnapshotDependenciesField = BuildSnapshotDependenciesField.WithFields();
            DatasField                     datasField                     = DatasField.WithFields();
            StatisticsField                statisticsField                = StatisticsField.WithFields();
            EntriesField                   entriesField                   = EntriesField.WithFields();
            PropertiesField                propertiesField                = PropertiesField.WithFields();
            ArtifactsField                 artifactsField                 = ArtifactsField.WithFields(href: true);
            ProblemOccurrencesField        problemOccurrences             = ProblemOccurrencesField.WithFields();
            TestOccurrencesField           testOccurrencesField           = TestOccurrencesField.WithFields();
            AgentField                     agentField                     = AgentField.WithFields(id: true);
            CompatibleAgentsField          compatibleAgentsField          = CompatibleAgentsField.WithFields(agent: agentField, href: true);
            BuildField                     buildField1                    = BuildField.WithFields(id: true);
            BuildChangeField               buildChangeField               = BuildChangeField.WithFields(nextBuild: buildField1, prevBuild: buildField1);
            BuildChangesField              buildChangesField              = BuildChangesField.WithFields(buildChange: buildChangeField);
            RevisionField                  revisionField                  = RevisionField.WithFields(version: true);
            RevisionsField                 revisionsField                 = RevisionsField.WithFields();
            LastChangesField               lastChangesField               = LastChangesField.WithFields();
            ChangesField                   changesField                   = ChangesField.WithFields();
            TriggeredField                 triggeredField                 = TriggeredField.WithFields(type: true);
            ProgressInfoField              progressInfoField              = ProgressInfoField.WithFields(currentStageText: true);
            TagsField                      tagsField             = TagsField.WithFields();
            UserField                      userField             = UserField.WithFields(id: true);
            CommentField                   commentField          = CommentField.WithFields(text: true);
            BuildTypeField                 buildTypeField        = BuildTypeField.WithFields(id: true);
            BuildTypeWrapperField          buildTypeWrapperField = BuildTypeWrapperField.WithFields(buildType: buildTypeField);
            LinkField                      linkField             = LinkField.WithFields(type: true);
            LinksField                     linksField            = LinksField.WithFields(link: linkField);
            var                            buildField            = BuildField.WithFields(links: linksField, buildType: buildTypeField, comment: commentField,
                                                                                         tags: tagsField, pinInfo: commentField, user: userField, running_info: progressInfoField,
                                                                                         canceledInfo: commentField, triggered: triggeredField, lastChanges: lastChangesField, changes: changesField,
                                                                                         revisions: revisionsField, versionedSettingsRevision: revisionField,
                                                                                         artifactDependencyChanges: buildChangesField, agent: agentField, compatibleAgents: compatibleAgentsField,
                                                                                         testOccurrences: testOccurrencesField, problemOccurrences: problemOccurrences, artifacts: artifactsField,
                                                                                         properties: propertiesField, resultingProperties: propertiesField, attributes: entriesField,
                                                                                         statistics: statisticsField, metadata: datasField, snapshotDependencies: buildSnapshotDependenciesField,
                                                                                         artifactDependencies: buildArtifactDependenciesField, customArtifactDependencies: artifactDependenciesField,
                                                                                         statusChangeComment: commentField, relatedIssues: relatedIssuesField, replacementIds: itemsField,
                                                                                         related: relatedField);

            var tempBuild = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var build     = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build);
        }
Beispiel #7
0
        public void it_returns_full_build_field_BuildChanges()
        {
            var tempBuildConfig = m_client.BuildConfigs.All().First();

            BuildField        buildField1       = BuildField.WithFields(id: true);
            BuildChangeField  buildChangeField  = BuildChangeField.WithFields(nextBuild: buildField1, prevBuild: buildField1);
            BuildChangesField buildChangesField = BuildChangesField.WithFields(buildChange: buildChangeField);
            var buildField = BuildField.WithFields(artifactDependencyChanges: buildChangesField);
            var tempBuild  = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var build      = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build);
        }
        public void it_returns_full_build_field_statistics_with_build()
        {
            var             tempBuildConfig = m_client.BuildConfigs.All().First();
            PropertyField   propertyField   = PropertyField.WithFields(name: true, value: true);
            StatisticsField statisticsField = StatisticsField.WithFields(propertyField: propertyField, href: true, count: true);
            BuildField      buildField      = BuildField.WithFields(statistics: statisticsField);
            var             tempBuild       = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var             build           = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build.Statistics.Href);
            Assert.IsNotNull(build.Statistics.Count);
            Assert.IsNotNull(build.Statistics.Property);
        }
        protected string GetQuery(ILocator locator, BuildField fields = null, int count = 100)
        {
            var query = $"?locator=count:{count}";

            if (locator != null)
            {
                query += $",{locator.GetLocatorQueryString()}";
            }
            if (fields != null)
            {
                query += $"&fields={fields.GetFieldsQueryString()}";
            }
            return(query);
        }
Beispiel #10
0
        public void it_returns_full_build_field_trigger()
        {
            var tempBuildConfig = m_client.BuildConfigs.All().First();

            UserField      userField      = UserField.WithFields(id: true);
            BuildField     buildField1    = BuildField.WithFields(id: true);
            BuildTypeField buildTypeField = BuildTypeField.WithFields(id: true);
            TriggeredField triggeredField = TriggeredField.WithFields(buildType: buildTypeField, type: true, date: true, details: true, user: userField, displayText: true, rawValue: true, build: buildField1);
            var            buildField     = BuildField.WithFields(triggered: triggeredField);
            var            tempBuild      = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var            build          = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build);
        }
Beispiel #11
0
        public void it_returns_first_build_types_builds_investigations_compatible_agents_field_null()

        {
            var tempBuildConfig = m_client.BuildConfigs.All().First();

            // Section 1
            var buildField = BuildField.WithFields(number: true, id: true);
            var tempBuild  = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var build      = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNull(build.Artifacts, "No Artifacts 1");
            Assert.IsNull(build.RelatedIssues, "No RelatedIssues 1");
            Assert.IsNull(build.Statistics, "No Statistics 1");

            // section 2
            var artifactsField     = ArtifactsField.WithFields();
            var relatedIssuesField = RelatedIssuesField.WithFields();
            var statisticsField    = StatisticsField.WithFields();

            buildField = BuildField.WithFields(id: true, artifacts: artifactsField, relatedIssues: relatedIssuesField,
                                               statistics: statisticsField);
            tempBuild = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            build     = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);
            Assert.IsNotNull(build.Artifacts, "No Artifacts 2");
            Assert.IsNotNull(build.Artifacts.Href, "No Artifacts href 2");
            Assert.IsNotNull(build.RelatedIssues, "No RelatedIssues 2");
            Assert.IsNotNull(build.RelatedIssues.Href, "No RelatedIssues href 2");
            Assert.IsNotNull(build.Statistics, "No Statistics 2");
            Assert.IsNull(build.Statistics.Href, "No Statistics href 2");

            // section 3
            statisticsField    = StatisticsField.WithFields(href: true);
            artifactsField     = ArtifactsField.WithFields(href: true);
            relatedIssuesField = RelatedIssuesField.WithFields(href: true);
            buildField         = BuildField.WithFields(id: true, artifacts: artifactsField, relatedIssues: relatedIssuesField,
                                                       statistics: statisticsField);
            tempBuild = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            build     = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);
            Assert.IsNotNull(build.Artifacts, "No Artifacts 3");
            Assert.IsNotNull(build.Artifacts.Href, "No Artifacts href 3");
            Assert.IsNotNull(build.RelatedIssues, "No RelatedIssues 3");
            Assert.IsNotNull(build.RelatedIssues.Href, "No RelatedIssues href 3");
            Assert.IsNotNull(build.Statistics, "No Statistics 3");
            Assert.IsNotNull(build.Statistics.Href, "No Statistics href 3");
        }
Beispiel #12
0
        public void it_returns_full_build_field_1()
        {
            var tempBuildConfig = m_client.BuildConfigs.All().First();


            var buildField = BuildField.WithFields(id: true, taskId: true, buildTypeId: true, buildTypeInternalId: true,
                                                   number: true, status: true, state: true, running: true, composite: true, failedToStart: true, personal: true,
                                                   percentageComplete: true,
                                                   branchName: true, defaultBranch: true, unspecifiedBranch: true, history: true, pinned: true, href: true,
                                                   webUrl: true, queuePosition: true, limitedChangesCount: true, artifactsDirectory: true, statusText: true,
                                                   startEstimate: true, waitReason: true,
                                                   startDate: true, finishDate: true, queuedDate: true, settingsHash: true, currentSettingsHash: true,
                                                   modificationId: true, chainModificationId: true, usedByOtherBuilds: true);
            var tempBuild = m_client.Builds.LastBuildByBuildConfigId(tempBuildConfig.Id);
            var build     = m_client.Builds.GetFields(buildField.ToString()).ById(tempBuild.Id);

            Assert.IsNotNull(build.Id);
        }
        private BuildStatus GetStatus(string buildTypeId)
        {
            var pendingChanges = this.teamCityClient.Changes.ByBuildConfigId(buildTypeId).FirstOrDefault();
            var queuedBuild    = this.teamCityClient.BuildQueue.ByBuildTypeLocator(BuildTypeLocator.WithId(buildTypeId)).FirstOrDefault();
            var runningBuild   = this.teamCityClient.Builds.ByBuildLocator(BuildLocator.WithDimensions(BuildTypeLocator.WithId(buildTypeId), running: true)).FirstOrDefault();
            var lastBuild      = this.teamCityClient.Builds
                                 .GetFields(BuildsField
                                            .WithFields(BuildField.WithFields(
                                                            true,
                                                            true,
                                                            changes: ChangesField.WithFields(ChangeField.WithFields(true)),
                                                            status: true))
                                            .ToString()).ByBuildConfigId(buildTypeId).OrderByDescending(x => x.Number).FirstOrDefault();

            if (lastBuild != null)
            {
                return(new BuildStatus(queuedBuild != null | runningBuild != null | GetHasPendingChanges(pendingChanges, lastBuild), lastBuild.Status));
            }

            return(new BuildStatus(false, "None"));
        }
Beispiel #14
0
        public void it_returns_correct_next_builds_with_filter()
        {
            const string buildId = "5726";
            var          client  = new TeamCityClient(m_server, m_useSsl);

            client.ConnectAsGuest();

            BuildField  buildField  = BuildField.WithFields(id: true, number: true, finishDate: true);
            BuildsField buildsField = BuildsField.WithFields(buildField);
            var         builds      = client.Builds.GetFields(buildsField.ToString()).NextBuilds(buildId, 10);

            Assert.That(builds != null);
            Assert.That(builds.Count == 10);
            int i = 0;

            foreach (var build in builds)
            {
                Assert.That(build.FinishDate != new DateTime());
                Console.WriteLine("{0} => BuildId => {1} FinishDate => {2}", i, build.Id, build.FinishDate);
                i++;
            }
        }
Beispiel #15
0
        public static BuildField <TProperty> Configure <TProperty>(this BuildField <TProperty> propCfg, Action <IField> config)
        {
            config(propCfg());

            return(propCfg);
        }
        public IList <Build> Find(ProjectLocator locator, BuildField fields = null, int count = 100)
        {
            var query = GetQuery(locator, fields, count);

            return(Find(Endpoint, query));
        }
        public IList <Build> Find(BuildField fields = null, int count = 100)
        {
            var query = GetQuery(null, fields, count);

            return(Find(Endpoint, query));
        }