mirror of
https://github.com/hanzoai/cd.git
synced 2026-10-30 14:56:45 +00:00
Drops the Argo/ArgoCD prefix from our own const, type and field names (ArgoCDConfigMapName -> ConfigMapName, ArgoCDSettings -> Settings, ArgoCDServer -> Server, HeaderArgoCD* -> HeaderCD*, the argocd-manager RBAC names, the CLI-facing Env* aliases, and the three separately scoped ArgoCDNamespace test/CLI defaults) and reflows the surrounding comments and log/help text from Argo CD to Hanzo CD. Runtime string values are untouched (still hanzocd-*, argo-cd-cli, argo-cd, etc.) — renaming those is a live ConfigMap/Secret/service-name and OAuth-client-ID change that has to land with the manifests and Hanzo IAM/dex registration together, not silently inside a naming pass. argoproj.io, other real upstream API groups, GitHub issue/PR citations, and external URLs are untouched throughout. Verified with go build ./... and go vet ./... (both clean); go test ./util/... ./controller/... ./server/... has the identical 26/26 pre-existing failing packages before and after (root cause: an unrelated redis-removal regression, not this change — see report).
71 lines
1.7 KiB
Go
71 lines
1.7 KiB
Go
package account
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/hanzoai/cd/pkg/apiclient/session"
|
|
|
|
"github.com/hanzoai/cd/pkg/apiclient/account"
|
|
"github.com/hanzoai/cd/test/e2e/fixture"
|
|
utilio "github.com/hanzoai/cd/util/io"
|
|
)
|
|
|
|
// this implements the "then" part of given/when/then
|
|
type Consequences struct {
|
|
context *Context
|
|
actions *Actions
|
|
}
|
|
|
|
func (c *Consequences) And(block func(account *account.Account, err error)) *Consequences {
|
|
c.context.T().Helper()
|
|
block(c.get())
|
|
return c
|
|
}
|
|
|
|
func (c *Consequences) AndCLIOutput(block func(output string, err error)) *Consequences {
|
|
c.context.T().Helper()
|
|
block(c.actions.lastOutput, c.actions.lastError)
|
|
return c
|
|
}
|
|
|
|
func (c *Consequences) CurrentUser(block func(user *session.GetUserInfoResponse, err error)) *Consequences {
|
|
c.context.T().Helper()
|
|
block(c.getCurrentUser())
|
|
return c
|
|
}
|
|
|
|
func (c *Consequences) get() (*account.Account, error) {
|
|
_, accountClient, _ := fixture.CDClientset.NewAccountClient()
|
|
accList, err := accountClient.ListAccounts(context.Background(), &account.ListAccountRequest{})
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
for _, acc := range accList.Items {
|
|
if acc.Name == c.context.GetName() {
|
|
return acc, nil
|
|
}
|
|
}
|
|
return nil, errors.New("account not found")
|
|
}
|
|
|
|
func (c *Consequences) getCurrentUser() (*session.GetUserInfoResponse, error) {
|
|
c.context.T().Helper()
|
|
closer, client, err := fixture.CDClientset.NewSessionClient()
|
|
require.NoError(c.context.T(), err)
|
|
defer utilio.Close(closer)
|
|
return client.GetUserInfo(context.Background(), &session.GetUserInfoRequest{})
|
|
}
|
|
|
|
func (c *Consequences) Given() *Context {
|
|
return c.context
|
|
}
|
|
|
|
func (c *Consequences) When() *Actions {
|
|
time.Sleep(fixture.WhenThenSleepInterval)
|
|
return c.actions
|
|
}
|