github.com/ouraigua/jenkins-library@v0.0.0-20231028010029-fbeaf2f3aa9b/pkg/documentation/generator/outputs_test.go (about) 1 //go:build unit 2 // +build unit 3 4 package generator 5 6 import ( 7 "testing" 8 9 "github.com/SAP/jenkins-library/pkg/config" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestStepOutputs(t *testing.T) { 14 t.Run("no resources", func(t *testing.T) { 15 stepData := config.StepData{Spec: config.StepSpec{Outputs: config.StepOutputs{Resources: []config.StepResources{}}}} 16 result := stepOutputs(&stepData) 17 assert.Equal(t, "", result) 18 }) 19 20 t.Run("with resources", func(t *testing.T) { 21 stepData := config.StepData{Spec: config.StepSpec{Outputs: config.StepOutputs{Resources: []config.StepResources{ 22 {Name: "commonPipelineEnvironment", Type: "piperEnvironment", Parameters: []map[string]interface{}{{"name": "param1"}, {"name": "param2"}}}, 23 { 24 Name: "influxName", 25 Type: "influx", 26 Parameters: []map[string]interface{}{ 27 {"name": "influx1", "fields": []interface{}{ 28 map[string]interface{}{"name": "1_1"}, 29 map[string]interface{}{"name": "1_2"}, 30 }}, 31 {"name": "influx2", "fields": []interface{}{ 32 map[string]interface{}{"name": "2_1"}, 33 map[string]interface{}{"name": "2_2"}, 34 }}, 35 }, 36 }, 37 }}}} 38 result := stepOutputs(&stepData) 39 assert.Contains(t, result, "## Outputs") 40 assert.Contains(t, result, "| influxName |") 41 assert.Contains(t, result, "measurement `influx1`<br /><ul>") 42 assert.Contains(t, result, "measurement `influx2`<br /><ul>") 43 assert.Contains(t, result, "<li>1_1</li>") 44 assert.Contains(t, result, "<li>1_2</li>") 45 assert.Contains(t, result, "<li>2_1</li>") 46 assert.Contains(t, result, "<li>2_2</li>") 47 }) 48 }