forgejo/tests/integration/cmd_actions_test.go
Earl Warren 843e6149c2
[ACTIONS] forgejo actions --registration-token-admin
(cherry picked from commit 481d813539)

address oliverpool comments

(cherry picked from commit d8f313f9e2)

s/Printf/Print/

(cherry picked from commit 6621b04458)

do not run initDB within integration tests

(cherry picked from commit 5a0428ede3)
(cherry picked from commit d3ebc9449c)
(cherry picked from commit 411bc5ac69)
(cherry picked from commit 9de9a916a6)
(cherry picked from commit bffa551ac9)
2023-04-11 23:38:23 +02:00

51 lines
1.1 KiB
Go

// SPDX-License-Identifier: MIT
package integration
import (
"bytes"
"flag"
"io"
"net/url"
"os"
"testing"
"code.gitea.io/gitea/cmd"
"github.com/stretchr/testify/assert"
"github.com/urfave/cli"
)
func Test_CmdActions(t *testing.T) {
onGiteaRun(t, func(*testing.T, *url.URL) {
tests := []struct {
name string
args []string
wantErr bool
expectedOutput func(string)
}{
{"test_registration-token-admin", []string{"actions", "--registration-token-admin"}, false, func(output string) { assert.EqualValues(t, 40, len(output), output) }},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
realStdout := os.Stdout
r, w, _ := os.Pipe()
os.Stdout = w
set := flag.NewFlagSet("actions", 0)
_ = set.Parse(tt.args)
context := cli.NewContext(&cli.App{Writer: os.Stdout}, set, nil)
err := cmd.CmdActions.Run(context)
if (err != nil) != tt.wantErr {
t.Errorf("CmdActions.Run() error = %v, wantErr %v", err, tt.wantErr)
}
w.Close()
var buf bytes.Buffer
io.Copy(&buf, r)
tt.expectedOutput(buf.String())
os.Stdout = realStdout
})
}
})
}