github.com/youyuanwu/go-swagger@v0.19.0/cmd/swagger/commands/generate/server_test.go (about) 1 package generate_test 2 3 import ( 4 "io/ioutil" 5 "log" 6 "os" 7 "path/filepath" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 12 "github.com/go-swagger/go-swagger/cmd/swagger/commands/generate" 13 flags "github.com/jessevdk/go-flags" 14 ) 15 16 func TestGenerateServer(t *testing.T) { 17 specs := []string{ 18 "billforward.discriminators.yml", 19 "todolist.simplequery.yml", 20 } 21 log.SetOutput(ioutil.Discard) 22 defer log.SetOutput(os.Stdout) 23 24 base := filepath.FromSlash("../../../../") 25 for i, spec := range specs { 26 _ = t.Run(spec, func(t *testing.T) { 27 path := filepath.Join(base, "fixtures/codegen", spec) 28 generated, err := ioutil.TempDir(filepath.Dir(path), "generated") 29 if err != nil { 30 t.Fatalf("TempDir()=%s", generated) 31 } 32 defer func() { 33 _ = os.RemoveAll(generated) 34 }() 35 m := &generate.Server{} 36 _, _ = flags.Parse(m) 37 if i == 0 { 38 m.CopyrightFile = flags.Filename(filepath.Join(base, "LICENSE")) 39 } 40 if i == 1 { 41 m.FlagStrategy = "pflag" 42 } 43 m.Spec = flags.Filename(path) 44 m.Target = flags.Filename(generated) 45 46 if err := m.Execute([]string{}); err != nil { 47 t.Error(err) 48 } 49 }) 50 } 51 } 52 53 func TestGenerateServer_Checks(t *testing.T) { 54 log.SetOutput(ioutil.Discard) 55 defer log.SetOutput(os.Stdout) 56 57 m := &generate.Server{} 58 _, _ = flags.Parse(m) 59 m.CopyrightFile = "nowhere" 60 err := m.Execute([]string{}) 61 assert.Error(t, err) 62 }