forgejo/tests/integration/cmd_actions_test.go
Earl Warren d3ebc9449c
[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)
2023-03-12 15:19:45 +01:00

50 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
})
}
})
}