mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-11-15 05:34:32 +00:00
(cherry picked from commit481d813539) address oliverpool comments (cherry picked from commitd8f313f9e2) s/Printf/Print/ (cherry picked from commit6621b04458) do not run initDB within integration tests (cherry picked from commit5a0428ede3) (cherry picked from commite8287b753d) (cherry picked from commitfc2b49e571) (cherry picked from commita291b39b23) (cherry picked from commitb8d4953405)
50 lines
1.1 KiB
Go
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", "generate-runner-token"}, 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
|
|
})
|
|
}
|
|
})
|
|
}
|