Loading internal/commands/create_test.go +44 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,26 @@ func TestCreate(t *testing.T) { } } func TestCreateFromFile(t *testing.T) { logger, hook := testlog.NewNullLogger() mhc := &gitlab.MockHTTPClient{} mhc.On("Do", mock.Anything).Return(testdata.Responses[testdata.ResponseCreateReleaseSuccess](), nil).Once() defer mhc.AssertExpectations(t) createFromFile, ctx := newTestCreateFromFile(t, logrus.NewEntry(logger), mhc) require.Equal(t, "create-from-file", createFromFile.Name) require.Len(t, createFromFile.Flags, 9) err := createFromFile.Run(ctx) require.NoError(t, err) for _, entry := range hook.AllEntries() { require.Contains(t, []string{"Creating Release...", "file does not exist, using string value for --description", "release created successfully!"}, entry.Message) } } func TestCreateAssets(t *testing.T) { logger, _ := testlog.NewNullLogger() Loading Loading @@ -339,3 +359,27 @@ func newTestCreate(t *testing.T, logger logrus.FieldLogger, mhc gitlab.HTTPClien return create, ctx } func newTestCreateFromFile(t *testing.T, logger logrus.FieldLogger, mhc gitlab.HTTPClient, extraArgs ...string) (*cli.Command, *cli.Context) { t.Helper() clientFn := func(ctx *cli.Context, log logrus.FieldLogger) (gitlab.HTTPClient, error) { return mhc, nil } args := []string{"create-from-file", "--file", "../testdata/release.yml"} args = append(args, extraArgs...) app := &cli.App{Writer: io.Discard} set := flag.NewFlagSet(t.Name(), 0) set.String(flags.ServerURL, "https://gitlab.com", "") set.String(flags.JobToken, "token", "") err := set.Parse(args) require.NoError(t, err) create := CreateFromFile(logger, clientFn) ctx := cli.NewContext(app, set, nil) return create, ctx } Loading
internal/commands/create_test.go +44 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,26 @@ func TestCreate(t *testing.T) { } } func TestCreateFromFile(t *testing.T) { logger, hook := testlog.NewNullLogger() mhc := &gitlab.MockHTTPClient{} mhc.On("Do", mock.Anything).Return(testdata.Responses[testdata.ResponseCreateReleaseSuccess](), nil).Once() defer mhc.AssertExpectations(t) createFromFile, ctx := newTestCreateFromFile(t, logrus.NewEntry(logger), mhc) require.Equal(t, "create-from-file", createFromFile.Name) require.Len(t, createFromFile.Flags, 9) err := createFromFile.Run(ctx) require.NoError(t, err) for _, entry := range hook.AllEntries() { require.Contains(t, []string{"Creating Release...", "file does not exist, using string value for --description", "release created successfully!"}, entry.Message) } } func TestCreateAssets(t *testing.T) { logger, _ := testlog.NewNullLogger() Loading Loading @@ -339,3 +359,27 @@ func newTestCreate(t *testing.T, logger logrus.FieldLogger, mhc gitlab.HTTPClien return create, ctx } func newTestCreateFromFile(t *testing.T, logger logrus.FieldLogger, mhc gitlab.HTTPClient, extraArgs ...string) (*cli.Command, *cli.Context) { t.Helper() clientFn := func(ctx *cli.Context, log logrus.FieldLogger) (gitlab.HTTPClient, error) { return mhc, nil } args := []string{"create-from-file", "--file", "../testdata/release.yml"} args = append(args, extraArgs...) app := &cli.App{Writer: io.Discard} set := flag.NewFlagSet(t.Name(), 0) set.String(flags.ServerURL, "https://gitlab.com", "") set.String(flags.JobToken, "token", "") err := set.Parse(args) require.NoError(t, err) create := CreateFromFile(logger, clientFn) ctx := cli.NewContext(app, set, nil) return create, ctx }