github.com/kaisawind/go-swagger@v0.19.0/cmd/swagger/commands/generate/support_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/go-swagger/go-swagger/cmd/swagger/commands/generate"
    11  	flags "github.com/jessevdk/go-flags"
    12  )
    13  
    14  func TestGenerateSupport(t *testing.T) {
    15  	specs := []string{
    16  		"tasklist.basic.yml",
    17  	}
    18  	log.SetOutput(ioutil.Discard)
    19  	defer log.SetOutput(os.Stdout)
    20  
    21  	base := filepath.FromSlash("../../../../")
    22  	for i, spec := range specs {
    23  		_ = t.Run(spec, func(t *testing.T) {
    24  			path := filepath.Join(base, "fixtures/codegen", spec)
    25  			generated, err := ioutil.TempDir(filepath.Dir(path), "generated")
    26  			if err != nil {
    27  				t.Fatalf("TempDir()=%s", generated)
    28  			}
    29  			defer func() {
    30  				_ = os.RemoveAll(generated)
    31  			}()
    32  			m := &generate.Support{}
    33  			if i == 0 {
    34  				m.CopyrightFile = flags.Filename(filepath.Join(base, "LICENSE"))
    35  			}
    36  			_, _ = flags.Parse(m)
    37  			m.Spec = flags.Filename(path)
    38  			m.Target = flags.Filename(generated)
    39  
    40  			if err := m.Execute([]string{}); err != nil {
    41  				t.Error(err)
    42  			}
    43  		})
    44  	}
    45  }