github.com/kubeshop/testkube@v1.17.23/pkg/api/v1/client/config.go (about) 1 package client 2 3 import ( 4 "encoding/json" 5 "net/http" 6 7 "github.com/kubeshop/testkube/pkg/api/v1/testkube" 8 ) 9 10 // NewConfigClient creates new Cnfig client 11 func NewConfigClient(configTransport Transport[testkube.Config]) ConfigClient { 12 return ConfigClient{ 13 configTransport: configTransport, 14 } 15 } 16 17 // ConfigClient is a client for config 18 type ConfigClient struct { 19 configTransport Transport[testkube.Config] 20 } 21 22 func (c ConfigClient) UpdateConfig(config testkube.Config) (outputConfig testkube.Config, err error) { 23 uri := c.configTransport.GetURI("/config") 24 25 body, err := json.Marshal(config) 26 if err != nil { 27 return outputConfig, err 28 } 29 30 return c.configTransport.Execute(http.MethodPatch, uri, body, nil) 31 } 32 33 func (c ConfigClient) GetConfig() (config testkube.Config, err error) { 34 uri := c.configTransport.GetURI("/config") 35 return c.configTransport.Execute(http.MethodGet, uri, nil, nil) 36 }