瀏覽代碼

Add the features in Pipeline.DeployItem()

Vadim Markovtsev 7 年之前
父節點
當前提交
5a9449dbd9
共有 2 個文件被更改,包括 13 次插入0 次删除
  1. 6 0
      pipeline.go
  2. 7 0
      pipeline_test.go

+ 6 - 0
pipeline.go

@@ -341,6 +341,12 @@ func (pipeline *Pipeline) SetFeaturesFromFlags() {
 }
 
 func (pipeline *Pipeline) DeployItem(item PipelineItem) PipelineItem {
+	fpi, ok := item.(FeaturedPipelineItem)
+	if ok {
+		for _, f := range fpi.Features() {
+			pipeline.SetFeature(f)
+		}
+	}
 	queue := []PipelineItem{}
 	queue = append(queue, item)
 	added := map[string]PipelineItem{}

+ 7 - 0
pipeline_test.go

@@ -320,6 +320,13 @@ func TestPipelineDeps(t *testing.T) {
 	assert.Panics(t, func() { pipeline.Run(commits) })
 }
 
+func TestPipelineDeployFeatures(t *testing.T) {
+	pipeline := NewPipeline(testRepository)
+	pipeline.DeployItem(&testPipelineItem{})
+	f, _ := pipeline.GetFeature("power")
+	assert.True(t, f)
+}
+
 func TestPipelineError(t *testing.T) {
 	pipeline := NewPipeline(testRepository)
 	item := &testPipelineItem{}