github.com/sacarr/gqlgen@v0.7.2/codegen/codegen_test.go (about) 1 package codegen 2 3 import ( 4 "syscall" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 "golang.org/x/tools/go/loader" 9 ) 10 11 func TestGenerateServer(t *testing.T) { 12 name := "graphserver" 13 schema := ` 14 type Query { 15 user: User 16 } 17 type User { 18 id: Int 19 fist_name: String 20 } 21 ` 22 serverFilename := "gen/" + name + "/server/server.go" 23 cfg := Config{ 24 SchemaFilename: SchemaFilenames{"schema.graphql"}, 25 SchemaStr: map[string]string{"schema.graphql": schema}, 26 Exec: PackageConfig{Filename: "gen/" + name + "/exec.go"}, 27 Model: PackageConfig{Filename: "gen/" + name + "/model.go"}, 28 Resolver: PackageConfig{Filename: "gen/" + name + "/resolver.go", Type: "Resolver"}, 29 } 30 31 _ = syscall.Unlink(cfg.Resolver.Filename) 32 _ = syscall.Unlink(serverFilename) 33 34 err := Generate(cfg) 35 require.NoError(t, err) 36 37 err = GenerateServer(cfg, serverFilename) 38 require.NoError(t, err) 39 40 conf := loader.Config{} 41 conf.CreateFromFilenames("gen/"+name, serverFilename) 42 43 _, err = conf.Load() 44 require.NoError(t, err) 45 }