func (s *Server) ListBuildsWithVersionAsInput(pipelineDB db.PipelineDB) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { versionIDString := r.FormValue(":resource_version_id") versionID, _ := strconv.Atoi(versionIDString) builds, err := pipelineDB.GetBuildsWithVersionAsInput(versionID) if err != nil { w.WriteHeader(http.StatusInternalServerError) return } presentedBuilds := []atc.Build{} for _, build := range builds { presentedBuilds = append(presentedBuilds, present.Build(build)) } w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) json.NewEncoder(w).Encode(presentedBuilds) }) }
Metadata: []db.MetadataField{ { Name: "some", Value: "value", }, }, PipelineName: "some-pipeline", }, FirstOccurrence: true, }) Expect(err).NotTo(HaveOccurred()) }) It("returns the builds for which the provided version id was an input", func() { builds, err := pipelineDB.GetBuildsWithVersionAsInput(savedVersionedResource.ID) Expect(err).NotTo(HaveOccurred()) Expect(builds).To(ConsistOf(expectedBuilds)) }) It("returns an empty slice of builds when the provided version id doesn't exist", func() { builds, err := pipelineDB.GetBuildsWithVersionAsInput(savedVersionedResource.ID + 100) Expect(err).NotTo(HaveOccurred()) Expect(builds).To(Equal([]db.Build{})) }) }) Context("GetBuildsWithVersionAsOutput", func() { var savedVersionedResource db.SavedVersionedResource var expectedBuilds []db.Build