github.com/gofiber/fiber-cli@v0.0.3/cmd/upgrade_test.go (about) 1 package cmd 2 3 import ( 4 "bytes" 5 "errors" 6 "net/http" 7 "testing" 8 9 "github.com/jarcoal/httpmock" 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func Test_Upgrade_upgradeRunE(t *testing.T) { 14 at := assert.New(t) 15 16 b := &bytes.Buffer{} 17 upgradeCmd.SetErr(b) 18 upgradeCmd.SetOut(b) 19 20 httpmock.Activate() 21 defer httpmock.DeactivateAndReset() 22 23 httpmock.RegisterResponder(http.MethodGet, latestCliVersionUrl, httpmock.NewErrorResponder(errors.New("network error"))) 24 25 at.NotNil(upgradeRunE(upgradeCmd, nil)) 26 27 httpmock.RegisterResponder(http.MethodGet, latestCliVersionUrl, httpmock.NewBytesResponder(200, fakeCliVersionResponse())) 28 29 setupCmd() 30 defer teardownCmd() 31 32 at.Nil(upgradeRunE(upgradeCmd, nil)) 33 34 at.Contains(b.String(), "99.99.99") 35 36 httpmock.RegisterResponder(http.MethodGet, latestCliVersionUrl, httpmock.NewBytesResponder(200, fakeCliVersionResponse(version))) 37 38 b.Reset() 39 40 at.Nil(upgradeRunE(upgradeCmd, nil)) 41 42 at.Contains(b.String(), "Currently") 43 } 44 45 func Test_Upgrade_upgrade(t *testing.T) { 46 at := assert.New(t) 47 48 b := &bytes.Buffer{} 49 upgradeCmd.SetErr(b) 50 upgradeCmd.SetOut(b) 51 52 setupCmd(errFlag) 53 defer teardownCmd() 54 55 upgrade(upgradeCmd, "99.99.99") 56 57 at.Contains(b.String(), "failed to upgrade") 58 }