github.com/Jeffail/benthos/v3@v3.65.0/public/service/config_bloblang_test.go (about)

     1  package service
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  	"github.com/stretchr/testify/require"
     8  )
     9  
    10  func TestConfigBloblang(t *testing.T) {
    11  	spec := NewConfigSpec().
    12  		Field(NewBloblangField("a")).
    13  		Field(NewStringField("b"))
    14  
    15  	parsedConfig, err := spec.ParseYAML(`
    16  a: 'root = this.uppercase()'
    17  b: 'root = this.filter('
    18  `, nil)
    19  	require.NoError(t, err)
    20  
    21  	_, err = parsedConfig.FieldBloblang("b")
    22  	require.Error(t, err)
    23  
    24  	_, err = parsedConfig.FieldBloblang("c")
    25  	require.Error(t, err)
    26  
    27  	exec, err := parsedConfig.FieldBloblang("a")
    28  	require.NoError(t, err)
    29  
    30  	res, err := exec.Query("hello world")
    31  	require.NoError(t, err)
    32  	assert.Equal(t, "HELLO WORLD", res)
    33  }