github.com/alkemics/goflow@v0.2.1/wrappers/ctx/ctx_test.go (about)

     1  package ctx_test
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/require"
     8  
     9  	"github.com/alkemics/goflow"
    10  	"github.com/alkemics/goflow/gfutil/gfgo"
    11  	"github.com/alkemics/goflow/wrappers/bind"
    12  	"github.com/alkemics/goflow/wrappers/ctx"
    13  	"github.com/alkemics/goflow/wrappers/gonodes"
    14  	"github.com/alkemics/goflow/wrappers/imports"
    15  	"github.com/alkemics/goflow/wrappers/inputs"
    16  	"github.com/alkemics/goflow/wrappers/types"
    17  	"github.com/alkemics/goflow/wrappers/varnames"
    18  )
    19  
    20  func TestCtx(t *testing.T) {
    21  	require := require.New(t)
    22  
    23  	wd, err := os.Getwd()
    24  	require.NoError(err)
    25  	require.NoError(os.Chdir("../.."))
    26  
    27  	var loader gfgo.NodeLoader
    28  	err = loader.Load("github.com/alkemics/goflow/example/nodes")
    29  	require.NoError(err)
    30  
    31  	wraps := []goflow.GraphWrapper{
    32  		inputs.Wrapper,
    33  		gonodes.Wrapper(&loader),
    34  		ctx.Wrapper,
    35  		bind.Wrapper,
    36  		varnames.Wrapper,
    37  		types.Wrapper,
    38  		inputs.TypeWrapper,
    39  		imports.Merger,
    40  		varnames.CompilableWrapper,
    41  	}
    42  
    43  	require.NoError(os.Chdir(wd))
    44  
    45  	testCases := gfgo.TestCases{
    46  		Imports: []string{"context"},
    47  		Tests: []gfgo.TestCase{
    48  			{
    49  				Test: "g.Run(context.Background())",
    50  			},
    51  		},
    52  	}
    53  	gfgo.TestGenerate(t, wraps, "ctx.yml", testCases)
    54  }