From 521624e88d04eefea6211f16d81a47d5a61af3d3 Mon Sep 17 00:00:00 2001 From: Arne Luenser Date: Tue, 31 Mar 2026 14:24:42 +0200 Subject: [PATCH] chore: deflake tests --- cmd/cloudx/client/command_helper.go | 6 +++++- cmd/cloudx/client/command_helper_test.go | 2 +- cmd/cloudx/relationtuples/relationtuples_test.go | 2 +- cmd/root.go | 7 +------ 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/cmd/cloudx/client/command_helper.go b/cmd/cloudx/client/command_helper.go index ad8b6e7f..a36d0264 100644 --- a/cmd/cloudx/client/command_helper.go +++ b/cmd/cloudx/client/command_helper.go @@ -45,6 +45,7 @@ type ( projectID, workspaceID uuid.UUID configLocation string noConfirm, isQuiet bool + workspaceFromConfig bool VerboseErrWriter io.Writer Stdin *bufio.Reader openBrowserHook func(string) error @@ -231,6 +232,7 @@ func (h *CommandHelper) determineWorkspaceID(ctx context.Context, config *Config workspace = ws } else if config.SelectedWorkspace != uuid.Nil { h.workspaceID = config.SelectedWorkspace + h.workspaceFromConfig = true return nil } workspace = strings.TrimSpace(workspace) @@ -261,9 +263,11 @@ func (h *CommandHelper) determineProjectID(ctx context.Context, config *Config) if h.projectOverride != nil { return fmt.Errorf("project API key is set but project flag is also set, please remove one") } - if h.workspaceID != uuid.Nil { + if h.workspaceID != uuid.Nil && !h.workspaceFromConfig { return fmt.Errorf("project API key is set but workspace is also set, please remove one") } + // Clear workspace from config since project API key takes precedence. + h.workspaceID = uuid.Nil pjs, err := h.ListProjects(ctx, nil) if err != nil { return err diff --git a/cmd/cloudx/client/command_helper_test.go b/cmd/cloudx/client/command_helper_test.go index bcd4fdea..907d1794 100644 --- a/cmd/cloudx/client/command_helper_test.go +++ b/cmd/cloudx/client/command_helper_test.go @@ -372,7 +372,7 @@ func TestCommandHelper(t *testing.T) { assert.Equal(t, tc.project.Id, actual.Id) assertValidProject(t, tc.project) - actual, err = authenticated.GetProject(ctx, tc.project.Slug[0:4], tc.project.WorkspaceId.Get()) + actual, err = authenticated.GetProject(ctx, tc.project.Slug[:len(tc.project.Slug)-1], tc.project.WorkspaceId.Get()) require.NoError(t, err) assert.Equal(t, tc.project.Id, actual.Id) }) diff --git a/cmd/cloudx/relationtuples/relationtuples_test.go b/cmd/cloudx/relationtuples/relationtuples_test.go index 5c330548..e659fd90 100644 --- a/cmd/cloudx/relationtuples/relationtuples_test.go +++ b/cmd/cloudx/relationtuples/relationtuples_test.go @@ -165,7 +165,7 @@ func TestCRUD(t *testing.T) { func createLegacyNamespace(t *testing.T, project, rawNamespace string) { t.Helper() _, _, err := defaultCmd.Exec(nil, "patch", "permission-config", "--project", project, - "--add", `/namespaces/-=`+rawNamespace) + "--replace", `/namespaces=[`+rawNamespace+`]`) if err != nil { t.Fatal(err) } diff --git a/cmd/root.go b/cmd/root.go index 5ca0e67f..e5e55d33 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -7,7 +7,6 @@ import ( "context" "fmt" "os" - "sync" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -19,8 +18,6 @@ import ( "github.com/ory/x/cmdx" ) -var commandTemplatingOnce sync.Once - func NewRootCmd() *cobra.Command { c := &cobra.Command{ Use: "ory", @@ -51,9 +48,7 @@ func NewRootCmd() *cobra.Command { cloudx.NewIsCmd(), versionCmd, ) - commandTemplatingOnce.Do(func() { - cmdx.EnableUsageTemplating(c) - }) + cmdx.EnableUsageTemplating(c) return c }