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  }