github.com/scraniel/migrate@v0.0.0-20230320185700-339088f36cee/source/github/github_test.go (about) 1 package github 2 3 import ( 4 "bytes" 5 "fmt" 6 "os" 7 "testing" 8 9 st "github.com/golang-migrate/migrate/v4/source/testing" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 var GithubTestSecret = "" // username:token 14 15 func init() { 16 secrets, err := os.ReadFile(".github_test_secrets") 17 if err == nil { 18 GithubTestSecret = string(bytes.TrimSpace(secrets)[:]) 19 } 20 } 21 22 func Test(t *testing.T) { 23 if len(GithubTestSecret) == 0 { 24 t.Skip("test requires .github_test_secrets") 25 } 26 27 g := &Github{} 28 d, err := g.Open("github://" + GithubTestSecret + "@mattes/migrate_test_tmp/test#452b8003e7") 29 if err != nil { 30 t.Fatal(err) 31 } 32 33 st.Test(t, d) 34 } 35 36 func TestDefaultClient(t *testing.T) { 37 g := &Github{} 38 owner := "golang-migrate" 39 repo := "migrate" 40 path := "source/github/examples/migrations" 41 42 url := fmt.Sprintf("github://%s/%s/%s", owner, repo, path) 43 d, err := g.Open(url) 44 if err != nil { 45 t.Fatal(err) 46 } 47 48 ver, err := d.First() 49 if err != nil { 50 t.Fatal(err) 51 } 52 assert.Equal(t, uint(1085649617), ver) 53 54 ver, err = d.Next(ver) 55 if err != nil { 56 t.Fatal(err) 57 } 58 assert.Equal(t, uint(1185749658), ver) 59 }