github.com/argoproj/argo-cd/v2@v2.10.5/test/e2e/fixture/project/consequences.go (about) 1 package project 2 3 import ( 4 "context" 5 6 "github.com/argoproj/argo-cd/v2/pkg/apiclient/project" 7 8 "github.com/argoproj/argo-cd/v2/test/e2e/fixture" 9 ) 10 11 // this implements the "then" part of given/when/then 12 type Consequences struct { 13 context *Context 14 actions *Actions 15 } 16 17 func (c *Consequences) Expect() *Consequences { 18 return c 19 } 20 21 func (c *Consequences) And(block func(app *project.DetailedProjectsResponse, err error)) *Consequences { 22 c.context.t.Helper() 23 block(c.detailedProject()) 24 return c 25 } 26 27 func (c *Consequences) detailedProject() (*project.DetailedProjectsResponse, error) { 28 prj, err := c.get() 29 return prj, err 30 } 31 32 func (c *Consequences) get() (*project.DetailedProjectsResponse, error) { 33 _, projectClient, _ := fixture.ArgoCDClientset.NewProjectClient() 34 prj, err := projectClient.GetDetailedProject(context.Background(), &project.ProjectQuery{ 35 Name: c.context.name, 36 }) 37 38 return prj, err 39 } 40 41 func (c *Consequences) Given() *Context { 42 return c.context 43 } 44 45 func (c *Consequences) When() *Actions { 46 return c.actions 47 }