mirror of
https://codeberg.org/forgejo/forgejo
synced 2024-12-11 14:01:58 +01:00
570d6dde7b
(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
|
|
})
|
|
}
|
|
})
|
|
}
|