github.com/youyuanwu/go-swagger@v0.19.0/cmd/swagger/commands/generate/operation_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 TestGenerateOperation(t *testing.T) { 17 specs := []string{ 18 "tasklist.basic.yml", 19 } 20 log.SetOutput(ioutil.Discard) 21 defer log.SetOutput(os.Stdout) 22 23 base := filepath.FromSlash("../../../../") 24 for i, spec := range specs { 25 _ = t.Run(spec, func(t *testing.T) { 26 path := filepath.Join(base, "fixtures/codegen", spec) 27 generated, err := ioutil.TempDir(filepath.Dir(path), "generated") 28 if err != nil { 29 t.Fatalf("TempDir()=%s", generated) 30 } 31 defer func() { 32 _ = os.RemoveAll(generated) 33 }() 34 m := &generate.Operation{} 35 if i == 0 { 36 m.CopyrightFile = flags.Filename(filepath.Join(base, "LICENSE")) 37 } 38 _, _ = flags.ParseArgs(m, []string{"--name=listTasks"}) 39 m.Spec = flags.Filename(path) 40 m.Target = flags.Filename(generated) 41 42 if err := m.Execute([]string{}); err != nil { 43 t.Error(err) 44 } 45 }) 46 } 47 } 48 49 func TestGenerateOperation_Check(t *testing.T) { 50 log.SetOutput(ioutil.Discard) 51 defer log.SetOutput(os.Stdout) 52 53 m := &generate.Operation{} 54 _, _ = flags.ParseArgs(m, []string{"--name=op1", "--name=op2"}) 55 m.DumpData = true 56 m.Name = []string{"op1", "op2"} 57 err := m.Execute([]string{}) 58 assert.Error(t, err) 59 }