36997a48e3
(cherry picked from commit08be2b226e
) (cherry picked from commitb6cfa88c6e
) (cherry picked from commit59704200de
) [CLI] implement forgejo-cli actions generate-secret (cherry picked from commit6f7905c8ec
) (cherry picked from commite085d6d273
) [CLI] implement forgejo-cli actions generate-secret (squash) NoInit (cherry picked from commit962c944eb2
) [CLI] implement forgejo-cli actions register (cherry picked from commit2f95143000
) (cherry picked from commit42f2f8731e
) [CLI] implement forgejo-cli actions register (squash) no private Do not go through the private API, directly modify the database (cherry picked from commit1ba7c0d39d
) [CLI] implement forgejo-cli actions (cherry picked from commit6f7905c8ec
) (cherry picked from commite085d6d273
) [CLI] implement forgejo-cli actions generate-secret (squash) NoInit (cherry picked from commit962c944eb2
) (cherry picked from commit4c121ef022
) Conflicts: cmd/forgejo/actions.go tests/integration/cmd_forgejo_actions_test.go
36 lines
770 B
Go
36 lines
770 B
Go
// SPDX-License-Identifier: MIT
|
|
|
|
package integration
|
|
|
|
import (
|
|
"bytes"
|
|
"context"
|
|
"strings"
|
|
"testing"
|
|
|
|
"code.gitea.io/gitea/cmd/forgejo"
|
|
|
|
"github.com/urfave/cli/v2"
|
|
)
|
|
|
|
func cmdForgejoCaptureOutput(t *testing.T, args []string, stdin ...string) (string, error) {
|
|
buf := new(bytes.Buffer)
|
|
|
|
app := cli.NewApp()
|
|
app.Writer = buf
|
|
app.ErrWriter = buf
|
|
ctx := context.Background()
|
|
ctx = forgejo.ContextSetNoInit(ctx, true)
|
|
ctx = forgejo.ContextSetNoExit(ctx, true)
|
|
ctx = forgejo.ContextSetStdout(ctx, buf)
|
|
ctx = forgejo.ContextSetStderr(ctx, buf)
|
|
if len(stdin) > 0 {
|
|
ctx = forgejo.ContextSetStdin(ctx, strings.NewReader(strings.Join(stdin, "")))
|
|
}
|
|
app.Commands = []*cli.Command{
|
|
forgejo.CmdForgejo(ctx),
|
|
}
|
|
err := app.Run(args)
|
|
|
|
return buf.String(), err
|
|
}
|