forked from forgejo/forgejo
[ACTIONS] forgejo actions --registration-token-admin
(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 commitd3ebc9449c
)
This commit is contained in:
parent
90ad322a56
commit
411bc5ac69
3 changed files with 119 additions and 0 deletions
50
tests/integration/cmd_actions_test.go
Normal file
50
tests/integration/cmd_actions_test.go
Normal file
|
@ -0,0 +1,50 @@
|
|||
// 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
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue