corso/src/cli/repo/s3_test.go
Keepers d7fe518007
rename /internal/testing to /tester (#463)
The alias of testing to ctesting prevented auto-importing
of the testing library.  This change (arbitrarily) renames
the package so that it doesn't collide with the core pkg
for "testing".
2022-08-02 12:21:14 -06:00

51 lines
1.1 KiB
Go

package repo
import (
"testing"
"github.com/spf13/cobra"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/stretchr/testify/suite"
"github.com/alcionai/corso/internal/tester"
)
type S3Suite struct {
suite.Suite
}
func TestS3Suite(t *testing.T) {
suite.Run(t, new(S3Suite))
}
func (suite *S3Suite) TestAddS3Commands() {
expectUse := s3ProviderCommand
table := []struct {
name string
use string
expectUse string
expectShort string
expectRunE func(*cobra.Command, []string) error
}{
{"init s3", initCommand, expectUse, s3InitCmd.Short, initS3Cmd},
{"connect s3", connectCommand, expectUse, s3ConnectCmd.Short, connectS3Cmd},
}
for _, test := range table {
suite.T().Run(test.name, func(t *testing.T) {
cmd := &cobra.Command{Use: test.use}
c := addS3Commands(cmd)
require.NotNil(t, c)
cmds := cmd.Commands()
require.Len(t, cmds, 1)
child := cmds[0]
assert.Equal(t, test.expectUse, child.Use)
assert.Equal(t, test.expectShort, child.Short)
tester.AreSameFunc(t, test.expectRunE, child.RunE)
})
}
}