Best Gauge code snippet using config.GetProperty
handler.go
Source:handler.go
...60 authURL, err := c.GetRequiredProperty("OS_AUTH_URL")61 if err != nil {62 return nil, err63 }64 applicationCredentialID := c.GetProperty("OS_APPLICATION_CREDENTIAL_ID", "applicationCredentialID")65 applicationCredentialName := c.GetProperty("OS_APPLICATION_CREDENTIAL_NAME", "applicationCredentialName")66 applicationCredentialSecret := c.GetProperty("OS_APPLICATION_CREDENTIAL_SECRET", "applicationCredentialSecret")67 username := c.GetProperty("OS_USERNAME", "username")68 password := c.GetProperty("OS_PASSWORD", "password")69 if applicationCredentialID != "" || applicationCredentialName != "" {70 if applicationCredentialSecret == "" {71 return nil, fmt.Errorf("'OS_APPLICATION_CREDENTIAL_SECRET' (or 'applicationCredentialSecret') is required if 'OS_APPLICATION_CREDENTIAL_ID' or 'OS_APPLICATION_CREDENTIAL_NAME' is given")72 }73 if applicationCredentialID == "" && applicationCredentialName != "" {74 if username == "" {75 return nil, fmt.Errorf("OS_USERNAME' (or 'username') is required if 'OS_APPLICATION_CREDENTIAL_NAME' is given")76 }77 }78 if password != "" {79 return nil, fmt.Errorf("'OS_PASSWORD' (or 'password)' is not allowed if application credentials are used")80 }81 } else {82 if username == "" {83 return nil, fmt.Errorf("'OS_USERNAME' (or 'username') is required if application credentials are not used")84 }85 if password == "" {86 return nil, fmt.Errorf("'OS_PASSWORD' (or 'password') is required if application credentials are not used")87 }88 }89 domainName := c.GetProperty("OS_DOMAIN_NAME", "domainName")90 domainID := c.GetProperty("OS_DOMAIN_ID", "domainID")91 projectName := c.GetProperty("OS_PROJECT_NAME", "tenantName")92 projectID := c.GetProperty("OS_PROJECT_ID", "tenantID")93 userDomainName := c.GetProperty("OS_USER_DOMAIN_NAME", "userDomainName")94 userDomainID := c.GetProperty("OS_USER_DOMAIN_ID", "userDomainID")95 // optional restriction to region96 regionName := c.GetProperty("OS_REGION_NAME")97 // optional CA Certificate for keystone98 caCert := c.GetProperty("CACERT", "caCert")99 // optional Client Certificate100 clientCert := c.GetProperty("CLIENTCERT", "clientCert")101 clientKey := c.GetProperty("CLIENTKEY", "clientKey")102 insecure := strings.ToLower(c.GetProperty("INSECURE", "insecure"))103 authConfig := clientAuthConfig{104 AuthInfo: clientconfig.AuthInfo{105 AuthURL: authURL,106 ApplicationCredentialID: applicationCredentialID,107 ApplicationCredentialName: applicationCredentialName,108 ApplicationCredentialSecret: applicationCredentialSecret,109 Username: username,110 Password: password,111 DomainName: domainName,112 DomainID: domainID,113 ProjectName: projectName,114 ProjectID: projectID,115 UserDomainID: userDomainID,116 UserDomainName: userDomainName,...
config.go
Source:config.go
...76////////////////////////////////////////////////////////////////////////////////77func (c *DNSHandlerConfig) GetRequiredProperty(key string, altKeys ...string) (string, error) {78 return c.getProperty(key, true, altKeys...)79}80func (c *DNSHandlerConfig) GetProperty(key string, altKeys ...string) string {81 value, _ := c.getProperty(key, false, altKeys...)82 return value83}84func (c *DNSHandlerConfig) GetRequiredIntProperty(key string, altKeys ...string) (int, error) {85 value, err := c.getProperty(key, true, altKeys...)86 if err != nil {87 return 0, err88 }89 return strconv.Atoi(value)90}91func (c *DNSHandlerConfig) GetRequiredBoolProperty(key string, altKeys ...string) (bool, error) {92 value, err := c.getProperty(key, true, altKeys...)93 if err != nil {94 return false, err95 }96 return strconv.ParseBool(value)97}98func (c *DNSHandlerConfig) GetDefaultedProperty(key string, def string, altKeys ...string) string {99 value, _ := c.getProperty(key, false, altKeys...)100 if value == "" {101 return def102 }103 return value104}105func (c *DNSHandlerConfig) GetDefaultedIntProperty(key string, def int, altKeys ...string) (int, error) {106 value, _ := c.getProperty(key, false, altKeys...)107 if value == "" {108 return def, nil109 }110 return strconv.Atoi(value)111}112func (c *DNSHandlerConfig) GetDefaultedBoolProperty(key string, def bool, altKeys ...string) (bool, error) {113 value, _ := c.getProperty(key, false, altKeys...)114 if value == "" {115 return def, nil116 }117 return strconv.ParseBool(value)118}119func (c *DNSHandlerConfig) getProperty(key string, required bool, altKeys ...string) (string, error) {120 usedKey := key121 value, ok := c.Properties[key]122 if !ok && len(altKeys) > 0 {123 for _, altKey := range altKeys {124 value, ok = c.Properties[altKey]125 if ok {126 usedKey = altKey127 break128 }129 }130 }131 if !ok {132 if !required {133 return "", nil134 }135 keys := append([]string{key}, altKeys...)136 err := fmt.Errorf("'%s' required in secret", strings.Join(keys, "' or '"))137 return "", err138 }139 tvalue := strings.TrimSpace(value)140 if value != tvalue {141 c.Logger.Warnf("value for '%s' in secret contains leading or trailing spaces which have been removed", usedKey)142 }143 if tvalue == "" {144 if !required {145 return "", nil146 }147 err := fmt.Errorf("value for '%s' in secret is empty", usedKey)148 return "", err149 }150 return tvalue, nil151}152func (c *DNSHandlerConfig) FillRequiredProperty(target **string, prop string, alt ...string) error {153 if utils.IsEmptyString(*target) {154 value, err := c.GetRequiredProperty(prop, alt...)155 if err != nil {156 return err157 }158 *target = &value159 return nil160 }161 return c.checkNotDefinedInConfig(prop, alt...)162}163func (c *DNSHandlerConfig) FillRequiredIntProperty(target **int, prop string, alt ...string) error {164 if *target == nil || **target == 0 {165 value, err := c.GetRequiredProperty(prop, alt...)166 if err != nil {167 return err168 }169 i, err := strconv.Atoi(value)170 if err != nil {171 return fmt.Errorf("property %s must be an int value: %s", prop, err)172 }173 *target = &i174 return nil175 }176 return c.checkNotDefinedInConfig(prop, alt...)177}178func (c *DNSHandlerConfig) FillDefaultedIntProperty(target **int, def int, prop string, alt ...string) error {179 if *target == nil || **target == 0 {180 value := c.GetProperty(prop, alt...)181 if value == "" {182 *target = &def183 return nil184 }185 i, err := strconv.Atoi(value)186 if err != nil {187 return fmt.Errorf("property %s must be an int value: %s", prop, err)188 }189 *target = &i190 return nil191 }192 return c.checkNotDefinedInConfig(prop, alt...)193}194func (c *DNSHandlerConfig) FillDefaultedProperty(target **string, def string, prop string, alt ...string) error {195 if *target == nil || **target == "" {196 value := c.GetProperty(prop, alt...)197 if value == "" {198 if def == "" {199 *target = nil200 return nil201 }202 *target = &def203 return nil204 }205 *target = &value206 return nil207 }208 return c.checkNotDefinedInConfig(prop, alt...)209}210func (c *DNSHandlerConfig) FillDefaultedBoolProperty(target **bool, def bool, prop string, alt ...string) error {211 if *target == nil || **target == def {212 value := c.GetProperty(prop, alt...)213 if value == "" {214 *target = &def215 return nil216 }217 b, err := strconv.ParseBool(value)218 if err != nil {219 return err220 }221 *target = &b222 return nil223 }224 return c.checkNotDefinedInConfig(prop, alt...)225}226func (c *DNSHandlerConfig) checkNotDefinedInConfig(prop string, alt ...string) error {227 value := c.GetProperty(prop, alt...)228 if value != "" {229 return fmt.Errorf("property %s defined in secret and provider config", prop)230 }231 return nil232}233func (c *DNSHandlerConfig) Complete() error {234 rateLimiter := AlwaysRateLimiter()235 if c.Options != nil {236 rateLimiterConfig := c.Options.GetRateLimiterConfig()237 var err error238 rateLimiter, err = rateLimiterConfig.NewRateLimiter()239 if err != nil {240 return fmt.Errorf("invalid rate limiter: %w", err)241 }...
template.go
Source:template.go
1/*----------------------------------------------------------------2 * Copyright (c) ThoughtWorks, Inc.3 * Licensed under the Apache License, Version 2.04 * See LICENSE in the project root for license information.5 *----------------------------------------------------------------*/6package template7import (8 "fmt"9 "net/url"10 "path/filepath"11 "sort"12 "strings"13 "github.com/getgauge/common"14 "github.com/getgauge/gauge/config"15 "github.com/schollz/closestmatch"16)17const templateProperties = "template.properties"18type templates struct {19 t map[string]*config.Property20 names []string21}22func (t *templates) String() (string, error) {23 var buffer strings.Builder24 for _, k := range t.names {25 v := t.t[k]26 _, err := buffer.WriteString(fmt.Sprintf("\n# %s\n%s = %s\n", v.Description, v.Key, v.Value))27 if err != nil {28 return "", err29 }30 }31 return buffer.String(), nil32}33func (t *templates) update(k, v string, validate bool) error {34 if validate {35 if _, err := url.ParseRequestURI(v); err != nil {36 return fmt.Errorf("Failed to add template '%s'. The template location must be a valid (https) URI", k)37 }38 }39 if _, ok := t.t[k]; ok {40 t.t[k].Value = v41 } else {42 t.t[k] = config.NewProperty(k, v, fmt.Sprintf("Template download information for gauge %s projects", k))43 t.names = append(t.names, k)44 }45 sort.Strings(t.names)46 return nil47}48func (t *templates) get(k string) (string, error) {49 if _, ok := t.t[k]; ok {50 return t.t[k].Value, nil51 }52 matches := t.closestMatch(k)53 if len(matches) > 0 {54 return "", fmt.Errorf("Cannot find Gauge template '%s'.\nThe most similar template names are\n\n\t%s", k, strings.Join(matches, "\n\t"))55 }56 return "", fmt.Errorf("Cannot find Gauge template '%s'", k)57}58func (t *templates) closestMatch(k string) []string {59 matches := []string{}60 cm := closestmatch.New(t.names, []int{2})61 for _, m := range cm.ClosestN(k, 5) {62 if m != "" {63 matches = append(matches, m)64 }65 }66 sort.Strings(matches)67 return matches68}69func (t *templates) write() error {70 s, err := t.String()71 if err != nil {72 return err73 }74 return config.Write(s, templateProperties)75}76func Update(name, value string) error {77 t, err := getTemplates()78 if err != nil {79 return err80 }81 if err := t.update(name, value, true); err != nil {82 return err83 }84 return t.write()85}86func Generate() error {87 cd, err := common.GetConfigurationDir()88 if err != nil {89 return err90 }91 if !common.FileExists(filepath.Join(cd, templateProperties)) {92 return defaults().write()93 }94 return nil95}96func Get(name string) (string, error) {97 mp, err := getTemplates()98 if err != nil {99 return "", err100 }101 return mp.get(name)102}103func All() (string, error) {104 t, err := getTemplates()105 if err != nil {106 return "", err107 }108 return strings.Join(t.names, "\n"), nil109}110func List(machineReadable bool) (string, error) {111 var f config.Formatter112 f = config.TextFormatter{Headers: []string{"Template Name", "Location"}}113 if machineReadable {114 f = config.JsonFormatter{}115 }116 t, err := getTemplates()117 if err != nil {118 return "", err119 }120 var all []config.Property121 for _, v := range t.t {122 all = append(all, *v)123 }124 return f.Format(all)125}126func defaults() *templates {127 prop := map[string]*config.Property{128 "dotnet": getProperty("template-dotnet", "dotnet"),129 "java": getProperty("template-java", "java"),130 "java_gradle": getProperty("template-java-gradle", "java_gradle"),131 "java_maven": getProperty("template-java-maven", "java_maven"),132 "java_maven_selenium": getProperty("template-java-maven-selenium", "java_maven_selenium"),133 "js": getProperty("template-js", "js"),134 "js_simple": getProperty("template-js-simple", "js_simple"),135 "python": getProperty("template-python", "python"),136 "python_selenium": getProperty("template-python-selenium", "python_selenium"),137 "ruby": getProperty("template-ruby", "ruby"),138 "ruby_selenium": getProperty("template-ruby-selenium", "ruby_selenium"),139 "ts": getProperty("template-ts", "ts"),140 }141 return &templates{t: prop, names: getKeys(prop)}142}143func getKeys(prop map[string]*config.Property) []string {144 var keys []string145 for k := range prop {146 keys = append(keys, k)147 }148 sort.Strings(keys)149 return keys150}151func getTemplates() (*templates, error) {152 prop, err := common.GetGaugeConfigurationFor(templateProperties)153 if err != nil {154 return nil, err155 }156 t := &templates{t: make(map[string]*config.Property), names: []string{}}157 for k, v := range prop {158 if err := t.update(k, v, false); err != nil {159 return nil, err160 }161 }162 return t, nil163}164func getProperty(repoName, templateName string) *config.Property {165 f := "https://github.com/getgauge/%s/releases/latest/download/%s.zip"166 templateURL := fmt.Sprintf(f, repoName, templateName)167 desc := fmt.Sprintf("Template for gauge %s projects", templateName)168 return config.NewProperty(templateName, templateURL, desc)169}...
GetProperty
Using AI Code Generation
1import (2func main() {3 conf, err := config.NewConfig("ini", "conf/app.conf")4 if err != nil {5 fmt.Println(err)6 }7 port, err := conf.Int("app::httpport")8 if err != nil {9 fmt.Println(err)10 }11 fmt.Println(port)12}13import (14func main() {15 conf, err := config.NewConfig("ini", "conf/app.conf")16 if err != nil {17 fmt.Println(err)18 }19 conf.Set("app::httpport", "8082")20 port, err := conf.Int("app::httpport")21 if err != nil {22 fmt.Println(err)23 }24 fmt.Println(port)25}26import (27func main() {28 conf, err := config.NewConfig("ini", "conf/app.conf")29 if err != nil {30 fmt.Println(err)31 }32 conf.Set("app::httpport", "8082")33 conf.SaveConfigFile("conf/app.conf")34 port, err := conf.Int("app::httpport")35 if err != nil {36 fmt.Println(err)37 }38 fmt.Println(port)39}40import (41func main() {42 conf, err := config.NewConfig("ini", "conf/app.conf")43 if err != nil {44 fmt.Println(err)45 }46 conf.Set("app::httpport", "8082")47 conf.SaveConfigData("conf/app.conf")48 port, err := conf.Int("app::httpport")
GetProperty
Using AI Code Generation
1import (2func main() {3 config, err := config.NewConfig("ini", "conf/app.conf")4 if err != nil {5 fmt.Println(err)6 }7 fmt.Println(config.String("appname"))8 fmt.Println(config.String("httpport"))9 fmt.Println(config.String("runmode"))10}11import (12func main() {13 config, err := config.NewConfig("ini", "conf/app.conf")14 if err != nil {15 fmt.Println(err)16 }17 fmt.Println(config.String("appname"))18 fmt.Println(config.String("httpport"))19 fmt.Println(config.String("runmode"))20 sections := config.GetSection("mysql")21 fmt.Println(sections)22}
GetProperty
Using AI Code Generation
1import (2func main() {3 conf, err := config.NewConfig("ini", "conf/app.conf")4 if err != nil {5 fmt.Println("new config failed, err:", err)6 }7 port, err := conf.Int("server::port")8 if err != nil {9 fmt.Println("read server::port failed, err:", err)10 }11 fmt.Println("port:", port)12 log_level := conf.String("log::log_level")13 if len(log_level) == 0 {14 fmt.Println("read log::log_level failed")15 }16 fmt.Println("log_level:", log_level)17}18import (19func main() {20 conf, err := config.NewConfig("ini", "conf/app.conf")21 if err != nil {22 fmt.Println("new config failed, err:", err)23 }24 app_conf, err := conf.GetSection("app")25 if err != nil {26 fmt.Println("get section failed, err:", err)27 }28 for k, v := range app_conf {29 fmt.Printf("%s:%s\n", k, v)30 }31}32import (33func main() {34 conf, err := config.NewConfig("ini", "conf/app.conf")35 if err != nil {36 fmt.Println("new config failed, err:", err)37 }38 sections := conf.GetSections()39 for _, v := range sections {40 fmt.Println(v)41 }42}43import (44func main() {45 conf, err := config.NewConfig("ini", "conf/app.conf")46 if err != nil {47 fmt.Println("new config failed, err:", err)
GetProperty
Using AI Code Generation
1import (2func main() {3 conf, err := config.NewConfig("ini", "conf/app.conf")4 if err != nil {5 fmt.Println("new config failed, err:", err)6 }7 appname := conf.String("appname")8 if len(appname) == 0 {9 }10 fmt.Println("appname:", appname)11 fmt.Println("httpport:", conf.String("httpport"))12 fmt.Println("runmode:", conf.String("runmode"))13 fmt.Println("autorender:", conf.String("autorender"))14 fmt.Println("copyrequestbody:", conf.String("copyrequestbody"))15 fmt.Println("sessionon:", conf.String("sessionon"))16}17import (18func main() {19 conf, err := config.NewConfig("ini", "conf/app.conf")20 if err != nil {21 fmt.Println("new config failed, err:", err)22 }23 conf.Set("appname", "beego web app")24 conf.Set("httpport", "8080")25 conf.Set("runmode", "dev")26 conf.Set("autorender", "false")27 conf.Set("copyrequestbody", "true")28 conf.Set("sessionon", "true")29 fmt.Println("appname:", conf.String("appname"))30 fmt.Println("httpport:", conf.String("httpport"))31 fmt.Println("runmode:", conf.String("runmode"))32 fmt.Println("autorender:", conf.String("autorender"))33 fmt.Println("copyrequestbody:", conf.String("copyrequestbody"))34 fmt.Println("sessionon:", conf.String("sessionon"))35}36import (
GetProperty
Using AI Code Generation
1import (2func main() {3 fmt.Println(config.GetProperty("dbuser"))4 fmt.Println(config.GetProperty("dbpassword"))5 fmt.Println(config.GetProperty("dburl"))6 fmt.Println(config.GetProperty("dbdriver"))7}
GetProperty
Using AI Code Generation
1import (2func main() {3 conf, err := config.NewConfig("ini", "conf/app.conf")4 if err != nil {5 fmt.Println("new config failed, err:", err)6 }7 port, err := conf.Int("server::port")8 if err != nil {9 fmt.Println("read server::port failed, err:", err)10 }11 fmt.Println("port:", port)12 mysqlAddr := conf.String("mysql::mysql_addr")13 if len(mysqlAddr) == 0 {14 fmt.Println("read mysql::mysql_addr failed")15 }16 fmt.Println("mysqlAddr:", mysqlAddr)17}
GetProperty
Using AI Code Generation
1import (2func main() {3 h := hub.New()4 s := h.Subscribe("my-topic")5 h.Publish("my-topic", "Hello world")6 msg := <-s.Receive()7 fmt.Println(msg.Data)8}9import (10func main() {11 h := hub.New()12 s := h.Subscribe("my-topic")13 h.Publish("my-topic", "Hello world")14 msg := <-s.Receive()15 fmt.Println(msg.Data)16}
GetProperty
Using AI Code Generation
1import (2func main() {3 cfg := config.NewConfig()4 err := cfg.LoadFile("config.json")5 if err != nil {6 fmt.Println(err)7 }8 name := cfg.GetProperty("name")9 fmt.Println(name)10 age := cfg.GetProperty("age")11 fmt.Println(age)12 weight := cfg.GetProperty("weight")13 fmt.Println(weight)14 height := cfg.GetProperty("height")15 fmt.Println(height)16}17{18}
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!