mirror of
https://github.com/go-gitea/gitea.git
synced 2026-04-01 05:12:13 +00:00
This is a step towards potentially splitting command groups into their own folders to clean up `cmd/` as one folder for all cli commands. Returning fresh command instances will also aid in adding tests as you don't need to concern yourself with the whole command tree being one mutable variable. --------- Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
35 lines
995 B
Go
35 lines
995 B
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"code.gitea.io/gitea/modules/log"
|
|
"code.gitea.io/gitea/services/doctor"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/urfave/cli/v3"
|
|
)
|
|
|
|
func TestDoctorRun(t *testing.T) {
|
|
doctor.Register(&doctor.Check{
|
|
Title: "Test Check",
|
|
Name: "test-check",
|
|
Run: func(ctx context.Context, logger log.Logger, autofix bool) error { return nil },
|
|
|
|
SkipDatabaseInitialization: true,
|
|
})
|
|
app := &cli.Command{
|
|
Commands: []*cli.Command{newDoctorCheckCommand()},
|
|
}
|
|
err := app.Run(t.Context(), []string{"./gitea", "check", "--run", "test-check"})
|
|
assert.NoError(t, err)
|
|
err = app.Run(t.Context(), []string{"./gitea", "check", "--run", "no-such"})
|
|
assert.ErrorContains(t, err, `unknown checks: "no-such"`)
|
|
err = app.Run(t.Context(), []string{"./gitea", "check", "--run", "test-check,no-such"})
|
|
assert.ErrorContains(t, err, `unknown checks: "no-such"`)
|
|
}
|