github.com/wawandco/ox@v0.13.6-0.20230809142027-913b3d837f2a/plugins/tools/standard/initializer_test.go (about) 1 package standard_test 2 3 import ( 4 "context" 5 "fmt" 6 "os" 7 "strings" 8 "testing" 9 10 "github.com/wawandco/ox/internal/runtime" 11 "github.com/wawandco/ox/plugins/base/new" 12 "github.com/wawandco/ox/plugins/tools/standard" 13 ) 14 15 func TestInitializer(t *testing.T) { 16 ini := standard.Initializer{} 17 18 if ini.Name() != "standard/initializer" { 19 t.Errorf("Expected 'standard/initializer' got '%s'", ini.Name()) 20 } 21 22 err := os.Chdir(t.TempDir()) 23 if err != nil { 24 t.Fatalf("could not change to temp dir: %s", err) 25 } 26 27 err = ini.Initialize(context.Background(), new.Options{ 28 Name: "test", 29 Module: "test", 30 }) 31 32 if err != nil { 33 t.Fatalf("error running initializer: %s", err) 34 } 35 36 if _, err := os.Stat("go.mod"); err != nil { 37 t.Fatalf("did not generate go.mod: %s", err) 38 } 39 40 content, err := os.ReadFile("go.mod") 41 if err != nil { 42 t.Fatalf("could not read go.mod: %s", err) 43 } 44 45 contents := []string{ 46 "module test", 47 fmt.Sprintf("github.com/wawandco/ox %s", runtime.Version), 48 } 49 50 scnt := string(content) 51 for _, v := range contents { 52 if !strings.Contains(scnt, v) { 53 t.Fatalf("'%s' does not contain '%s'", scnt, v) 54 } 55 } 56 }