gitea源码

doctor_test.go 986B

1234567891011121314151617181920212223242526272829303132333435
  1. // Copyright 2023 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package cmd
  4. import (
  5. "context"
  6. "testing"
  7. "code.gitea.io/gitea/modules/log"
  8. "code.gitea.io/gitea/services/doctor"
  9. "github.com/stretchr/testify/assert"
  10. "github.com/urfave/cli/v3"
  11. )
  12. func TestDoctorRun(t *testing.T) {
  13. doctor.Register(&doctor.Check{
  14. Title: "Test Check",
  15. Name: "test-check",
  16. Run: func(ctx context.Context, logger log.Logger, autofix bool) error { return nil },
  17. SkipDatabaseInitialization: true,
  18. })
  19. app := &cli.Command{
  20. Commands: []*cli.Command{cmdDoctorCheck},
  21. }
  22. err := app.Run(t.Context(), []string{"./gitea", "check", "--run", "test-check"})
  23. assert.NoError(t, err)
  24. err = app.Run(t.Context(), []string{"./gitea", "check", "--run", "no-such"})
  25. assert.ErrorContains(t, err, `unknown checks: "no-such"`)
  26. err = app.Run(t.Context(), []string{"./gitea", "check", "--run", "test-check,no-such"})
  27. assert.ErrorContains(t, err, `unknown checks: "no-such"`)
  28. }