github.com/supabase/cli@v1.168.1/internal/utils/tenant/storage_test.go (about) 1 package tenant 2 3 import ( 4 "context" 5 "errors" 6 "net/http" 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 "gopkg.in/h2non/gock.v1" 11 ) 12 13 func TestStorageVersion(t *testing.T) { 14 t.Run("appends prefix v", func(t *testing.T) { 15 // Setup mock api 16 defer gock.OffAll() 17 gock.New("http://127.0.0.1"). 18 Get("/storage/v1/version"). 19 Reply(http.StatusOK). 20 BodyString("0.40.4") 21 // Run test 22 version, err := mockApi.GetStorageVersion(context.Background()) 23 // Check error 24 assert.NoError(t, err) 25 assert.Equal(t, "v0.40.4", version) 26 }) 27 28 t.Run("throws error on network error", func(t *testing.T) { 29 // Setup mock api 30 defer gock.OffAll() 31 gock.New("http://127.0.0.1"). 32 Get("/storage/v1/version"). 33 ReplyError(errors.New("network error")) 34 // Run test 35 version, err := mockApi.GetStorageVersion(context.Background()) 36 // Check error 37 assert.ErrorContains(t, err, "network error") 38 assert.Empty(t, version) 39 }) 40 41 t.Run("throws error on missing version", func(t *testing.T) { 42 // Setup mock api 43 defer gock.OffAll() 44 gock.New("http://127.0.0.1"). 45 Get("/storage/v1/version"). 46 Reply(http.StatusOK). 47 BodyString("0.0.0") 48 // Run test 49 version, err := mockApi.GetStorageVersion(context.Background()) 50 // Check error 51 assert.ErrorIs(t, err, errStorageVersion) 52 assert.Empty(t, version) 53 }) 54 }