mirror of
https://gitea.com/gitea/tea.git
synced 2026-04-06 00:13:30 +02:00
replace log.Fatal/os.Exit with error returns (#941)
* Use stdlib encoders * Reduce some duplication * Remove global pagination state * Dedupe JSON detail types * Bump golangci-lint Reviewed-on: https://gitea.com/gitea/tea/pulls/941 Co-authored-by: techknowlogick <techknowlogick@gitea.com> Co-committed-by: techknowlogick <techknowlogick@gitea.com>
This commit is contained in:
committed by
techknowlogick
parent
21881525a8
commit
b05e03416b
@@ -40,7 +40,13 @@ func runSecretsCreate(ctx stdctx.Context, cmd *cli.Command) error {
|
||||
return fmt.Errorf("secret name is required")
|
||||
}
|
||||
|
||||
c := context.InitCommand(cmd)
|
||||
c, err := context.InitCommand(cmd)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := c.Ensure(context.CtxRequirement{RemoteRepo: true}); err != nil {
|
||||
return err
|
||||
}
|
||||
client := c.Login.Client()
|
||||
|
||||
secretName := cmd.Args().First()
|
||||
|
||||
@@ -35,7 +35,13 @@ func runSecretsDelete(ctx stdctx.Context, cmd *cli.Command) error {
|
||||
return fmt.Errorf("secret name is required")
|
||||
}
|
||||
|
||||
c := context.InitCommand(cmd)
|
||||
c, err := context.InitCommand(cmd)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := c.Ensure(context.CtxRequirement{RemoteRepo: true}); err != nil {
|
||||
return err
|
||||
}
|
||||
client := c.Login.Client()
|
||||
|
||||
secretName := cmd.Args().First()
|
||||
@@ -50,7 +56,7 @@ func runSecretsDelete(ctx stdctx.Context, cmd *cli.Command) error {
|
||||
}
|
||||
}
|
||||
|
||||
_, err := client.DeleteRepoActionSecret(c.Owner, c.Repo, secretName)
|
||||
_, err = client.DeleteRepoActionSecret(c.Owner, c.Repo, secretName)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -29,16 +29,21 @@ var CmdSecretsList = cli.Command{
|
||||
|
||||
// RunSecretsList list action secrets
|
||||
func RunSecretsList(ctx stdctx.Context, cmd *cli.Command) error {
|
||||
c := context.InitCommand(cmd)
|
||||
c, err := context.InitCommand(cmd)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := c.Ensure(context.CtxRequirement{RemoteRepo: true}); err != nil {
|
||||
return err
|
||||
}
|
||||
client := c.Login.Client()
|
||||
|
||||
secrets, _, err := client.ListRepoActionSecret(c.Owner, c.Repo, gitea.ListRepoActionSecretOption{
|
||||
ListOptions: flags.GetListOptions(),
|
||||
ListOptions: flags.GetListOptions(cmd),
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
print.ActionSecretsList(secrets, c.Output)
|
||||
return nil
|
||||
return print.ActionSecretsList(secrets, c.Output)
|
||||
}
|
||||
|
||||
@@ -4,7 +4,13 @@
|
||||
package secrets
|
||||
|
||||
import (
|
||||
stdctx "context"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"code.gitea.io/tea/modules/config"
|
||||
"github.com/stretchr/testify/require"
|
||||
"github.com/urfave/cli/v3"
|
||||
)
|
||||
|
||||
func TestSecretsListFlags(t *testing.T) {
|
||||
@@ -61,3 +67,32 @@ func TestSecretsListValidation(t *testing.T) {
|
||||
// This is fine - list commands typically ignore extra args
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunSecretsListRequiresRepoContext(t *testing.T) {
|
||||
oldWd, err := os.Getwd()
|
||||
require.NoError(t, err)
|
||||
|
||||
require.NoError(t, os.Chdir(t.TempDir()))
|
||||
t.Cleanup(func() {
|
||||
require.NoError(t, os.Chdir(oldWd))
|
||||
})
|
||||
|
||||
config.SetConfigForTesting(config.LocalConfig{
|
||||
Logins: []config.Login{{
|
||||
Name: "test",
|
||||
URL: "https://gitea.example.com",
|
||||
Token: "token",
|
||||
User: "tester",
|
||||
Default: true,
|
||||
}},
|
||||
})
|
||||
|
||||
cmd := &cli.Command{
|
||||
Name: CmdSecretsList.Name,
|
||||
Flags: CmdSecretsList.Flags,
|
||||
}
|
||||
require.NoError(t, cmd.Set("login", "test"))
|
||||
|
||||
err = RunSecretsList(stdctx.Background(), cmd)
|
||||
require.ErrorContains(t, err, "remote repository required")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user