github.com/fastly/cli@v1.7.2-0.20240304164155-9d0f1d77c3bf/pkg/commands/ip/ip_test.go (about)

     1  package ip_test
     2  
     3  import (
     4  	"bytes"
     5  	"io"
     6  	"testing"
     7  
     8  	"github.com/fastly/go-fastly/v9/fastly"
     9  
    10  	"github.com/fastly/cli/pkg/app"
    11  	"github.com/fastly/cli/pkg/global"
    12  	"github.com/fastly/cli/pkg/mock"
    13  	"github.com/fastly/cli/pkg/testutil"
    14  )
    15  
    16  func TestAllIPs(t *testing.T) {
    17  	var stdout bytes.Buffer
    18  	args := testutil.Args("ip-list")
    19  	api := mock.API{
    20  		AllIPsFn: func() (v4, v6 fastly.IPAddrs, err error) {
    21  			return []string{
    22  					"00.123.45.6/78",
    23  				}, []string{
    24  					"0a12:3b45::/67",
    25  				}, nil
    26  		},
    27  	}
    28  	app.Init = func(_ []string, _ io.Reader) (*global.Data, error) {
    29  		opts := testutil.MockGlobalData(args, &stdout)
    30  		opts.APIClientFactory = mock.APIClient(api)
    31  		return opts, nil
    32  	}
    33  	err := app.Run(args, nil)
    34  	testutil.AssertNoError(t, err)
    35  	testutil.AssertString(t, "\nIPv4\n\t00.123.45.6/78\n\nIPv6\n\t0a12:3b45::/67\n", stdout.String())
    36  }