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  }