github.com/hashicorp/go-getter/v2@v2.2.2/detect_bitbucket_test.go (about) 1 package getter 2 3 import ( 4 "net/http" 5 "strings" 6 "testing" 7 ) 8 9 const testBBUrl = "https://bitbucket.org/hashicorp/tf-test-git" 10 11 func TestBitBucketDetector(t *testing.T) { 12 t.Parallel() 13 14 if _, err := http.Get(testBBUrl); err != nil { 15 t.Log("internet may not be working, skipping BB tests") 16 t.Skip() 17 } 18 19 cases := []struct { 20 Input string 21 Output string 22 }{ 23 // HTTP 24 { 25 "bitbucket.org/hashicorp/tf-test-git", 26 "git::https://bitbucket.org/hashicorp/tf-test-git.git", 27 }, 28 { 29 "bitbucket.org/hashicorp/tf-test-git.git", 30 "git::https://bitbucket.org/hashicorp/tf-test-git.git", 31 }, 32 } 33 34 pwd := "/pwd" 35 f := new(BitBucketDetector) 36 for i, tc := range cases { 37 var err error 38 for i := 0; i < 3; i++ { 39 var output string 40 var ok bool 41 output, ok, err = f.Detect(tc.Input, pwd) 42 if err != nil { 43 if strings.Contains(err.Error(), "invalid character") { 44 continue 45 } 46 47 t.Fatalf("err: %s", err) 48 } 49 if !ok { 50 t.Fatal("not ok") 51 } 52 53 if output != tc.Output { 54 t.Fatalf("%d: bad: %#v", i, output) 55 } 56 57 break 58 } 59 if i >= 3 { 60 t.Fatalf("failure from bitbucket: %s", err) 61 } 62 } 63 }