コード例 #1
0
        public void SetUp()
        {
            _projectListResponse = new HudsonProjectListResponse();
            _projectResponse     = new HudsonFreeStyleProjectResponse();
            _queueResponse       = new HudsonQueueResponse();
            _buildResponse       = new HudsonFreeStyleBuildResponse
            {
                BuiltOn         = "06/12/2001",
                Duration        = SampleBuildDuration,
                FullDisplayName = SampleBuildProjectName + " #" + SampleBuildNumber,
                Id         = "2011-12-06_11-47-18",
                IsBuilding = false,
                KeepLog    = false,
                Number     = SampleBuildNumber,
                Result     = "SUCCESS",
                Timestamp  = 1323172038606,
                URL        = TestApiUri + "/job/" + SampleBuildProjectName + "/" + SampleBuildNumber + "/"
            };

            _serviceUnderTest = new HudsonCIApiService(
                FakeFeedRepositoryFactory.ProjectListRepository(_projectListResponse),
                FakeFeedRepositoryFactory.ProjectRepository(_projectResponse),
                FakeFeedRepositoryFactory.QueueRepository(_queueResponse),
                FakeFeedRepositoryFactory.BuildRepository(_buildResponse)
                );
        }
コード例 #2
0
        public static BuildJob FromHudsonAPI(string projectName, HudsonFreeStyleBuildResponse buildjob)
        {
            var changeset   = GetChangeSet(buildjob);
            var parameters  = GetParamters(buildjob);
            var buildresult = buildjob.Result == null || buildjob.Result.Equals("SUCCESS");

            return(new BuildJob(projectName, buildjob.Result, buildjob.Number, buildjob.URL, buildresult, buildjob.Duration,
                                buildjob.Timestamp, buildjob.IsBuilding, changeset, parameters));
        }
コード例 #3
0
        private static IEnumerable <SVNChangeSet> GetChangeSet(HudsonFreeStyleBuildResponse build)
        {
            if (build.ChangeSets.Count > 0)
            {
                var changesetitems = build.ChangeSets.Select(item => item);

                return(changesetitems.SelectMany(x => x.Items)
                       .Select(changeset => new SVNChangeSet(changeset.User, changeset.Revision)));
            }

            return(Enumerable.Empty <SVNChangeSet>());
        }
コード例 #4
0
 private static Dictionary <string, string> GetParamters(HudsonFreeStyleBuildResponse build)
 {
     return(build.Actions
            .Where(x => x.Parameters.Count > 0)
            .SelectMany(x => x.Parameters).ToDictionary(k => k.Name, v => v.Value));
 }
コード例 #5
0
        public void SetUp()
        {
            var fakedBuildResponse = new HudsonBuildResponse
            {
                Number = 241,
                Url    = TestApiUri + "/job/" + SampleBuildProjectName + "/" + SampleBuildNumber + "/"
            };

            var fakedLastBuildResponse = new HudsonLastBuildResponse
            {
                Number = 242,
                Url    = TestApiUri + "/job/" + SampleBuildProjectName + "/" + SampleBuildNumber + "/"
            };

            var fakedLastCompletedBuildResponse = new HudsonLastCompletedBuildResponse
            {
                Number = 243,
                Url    = TestApiUri + "/job/" + SampleBuildProjectName + "/" + SampleBuildNumber + "/"
            };

            var fakedLastFailedBuildResponse = new HudsonLastFailedBuildResponse
            {
                Number = 244,
                Url    = TestApiUri + "/job/" + SampleBuildProjectName + "/" + SampleBuildNumber + "/"
            };

            var fakedLastSuccessfulBuildResponse = new HudsonLastSuccessfulBuildResponse
            {
                Number = 245,
                Url    = TestApiUri + "/job/" + SampleBuildProjectName + "/" + SampleBuildNumber + "/"
            };

            var fakedLastUnsuccessfulBuildResponse = new HudsonLastUnsuccessfulBuildResponse
            {
                Number = 246,
                Url    = TestApiUri + "/job/" + SampleBuildProjectName + "/" + SampleBuildNumber + "/"
            };

            _projectListResponse = new HudsonProjectListResponse();
            _projectResponse     = new HudsonFreeStyleProjectResponse
            {
                DisplayName = SampleBuildProjectName,
                Name        = SampleBuildProjectName,
                Url         = TestApiUri + "/job/" + SampleBuildProjectName + "/",
                Buildable   = true,
                Builds      = new List <HudsonBuildResponse> {
                    fakedBuildResponse
                },
                FirstBuild = fakedBuildResponse,
                LastBuild  = new List <HudsonLastBuildResponse> {
                    fakedLastBuildResponse
                },
                LastCompletedBuild = new List <HudsonLastCompletedBuildResponse> {
                    fakedLastCompletedBuildResponse
                },
                LastFailedBuild = new List <HudsonLastFailedBuildResponse> {
                    fakedLastFailedBuildResponse
                },
                LastSuccessfulBuild = new List <HudsonLastSuccessfulBuildResponse> {
                    fakedLastSuccessfulBuildResponse
                },
                LastUnsuccessfulBuild = new List <HudsonLastUnsuccessfulBuildResponse> {
                    fakedLastUnsuccessfulBuildResponse
                }
            };
            _queueResponse = new HudsonQueueResponse
            {
                Items = new List <HudsonQueueItemResponse>
                {
                    new HudsonQueueItemResponse {
                        Id = 0, Task = new HudsonTaskResponse {
                            Name = SampleBuildProjectName, Color = "green", Url = TestApiUri + "/job/" + SampleBuildProjectName + "/"
                        }
                    },
                    new HudsonQueueItemResponse {
                        Id = 1, Task = new HudsonTaskResponse {
                            Name = SampleBuildProjectName, Color = "green", Url = TestApiUri + "/job/" + SampleBuildProjectName + "/"
                        }
                    },
                    new HudsonQueueItemResponse {
                        Id = 2, Task = new HudsonTaskResponse {
                            Name = SampleBuildProjectName, Color = "green", Url = TestApiUri + "/job/" + SampleBuildProjectName + "/"
                        }
                    }
                }
            };
            _buildResponse = new HudsonFreeStyleBuildResponse
            {
                BuiltOn         = "06/12/2001",
                Duration        = SampleBuildDuration,
                FullDisplayName = SampleBuildProjectName + " #" + SampleBuildNumber,
                Id         = "2011-12-06_11-47-18",
                IsBuilding = false,
                KeepLog    = false,
                Number     = SampleBuildNumber,
                Result     = "SUCCESS",
                Timestamp  = 1323172038606,
                URL        = TestApiUri + "/job/" + SampleBuildProjectName + "/" + SampleBuildNumber + "/"
            };

            _serviceUnderTest = new HudsonCIApiService(
                FakeFeedRepositoryFactory.ProjectListRepository(_projectListResponse),
                FakeFeedRepositoryFactory.ProjectRepository(_projectResponse),
                FakeFeedRepositoryFactory.QueueRepository(_queueResponse),
                FakeFeedRepositoryFactory.BuildRepository(_buildResponse)
                );
        }
コード例 #6
0
 public static IRepository <HudsonBuildRequest, HudsonFreeStyleBuildResponse> BuildRepository(HudsonFreeStyleBuildResponse response)
 {
     return(new FakeBuildRepository(response));
 }