How to use InitEnvs method of v1 Package

Best Testkube code snippet using v1.InitEnvs

main.go

Source:main.go Github

copy

Full Screen

1package main2import (3 "fmt"4 rsautil "github.com/asiainfoLDP/datafoundry_oauth2/util"5 "github.com/asiainfoLDP/datafoundry_oauth2/util/cache"6 "github.com/asiainfoLDP/datafoundry_oauth2/util/cache/redis"7 "github.com/asiainfoLDP/datafoundry_oauth2/util/service"8 router "github.com/julienschmidt/httprouter"9 "log"10 "net/http"11)12var (13 tokenConfig Config14 backingService_Redis string15 GithubRedirectUrl, GithubClientID, GithubClientSecret string16 dbConf storeConfig17 db Store18 DFHost_API string19 DFHost_Key string20 DF_API_Auth string21 Redis_Addr, Redis_Port string22 Redis_Password, Redis_Cluster_Name string23 Cache cache.Cache24 CacheMan cache.CacheMan25 KeyPool *rsautil.Pool26)27func init() {28 initEnvs()29 backingService_Redis = RedisEnv.Get("Redis_BackingService_Name", nil)30 if RedisConfig, ok := <-service.NewBackingService(service.Redis, service.ValidateHP, checkRedis, service.ErrorBackingService).GetBackingServices(backingService_Redis); !ok {31 log.Fatal("init redis err")32 } else {33 Redis_Password = RedisConfig.Credential.Password34 log.Printf("redis url [%s@%s:%s/%s]", Redis_Password, Redis_Addr, Redis_Port, Redis_Cluster_Name)35 //Redis_Addr = "117.121.97.20"36 //Redis_Port = "9999"37 }38 initOauthConfig()39 initCache()40 initStorage()41 initOauth2Plugin()42 initDFHost()43 initAPI()44 initSSHKey()45}46func main() {47 runGitLabCacheController()48 log.Println("start gitlab cache contoller success")49 runGitHubCacheController()50 log.Println("start github cache contoller success")51 router := router.New()52 router.GET("/v1/repos/github-redirect", githubHandler)53 router.GET("/v1/repos/github/owner", githubOwnerReposHandler)54 router.GET("/v1/repos/github/orgs", githubOrgReposHandler)55 router.GET("/v1/repos/github/users/:user/repos/:repo", getGithubBranchHandler)56 router.POST("/v1/repos/gitlab", gitlabHandler)57 router.GET("/v1/repos/gitlab/:repo", gitLabOwnerReposHandler)58 router.GET("/v1/repos/gitlab/:repo/branches", gitLabBranchHandler)59 router.POST("/v1/repos/gitlab/authorize/deploy", gitLabSecretHandler)60 router.GET("/v1/repos/source/:source/webhooks", getWebHookHandler)61 router.POST("/v1/repos/source/:source/webhooks", createWebHookHandler)62 router.DELETE("/v1/repos/source/:source/webhooks", deleteWebHookHandler)63 router.POST("/v1/repos/gitlab/login", gitLabLoginHandler)64 log.Fatal(http.ListenAndServe(":9443", router))65 log.Println("service listen on :9443")66}67func initOauthConfig() {68 var err error69 tokenConfig, err = NewGitHub(GithubClientID, GithubClientSecret, GithubRedirectUrl, []string{"repo", "user:email"})70 if err != nil {71 fmt.Errorf("oauth init fail %s\n", err.Error())72 }73 fmt.Println("oauth config init success")74}75func initStorage() {76 dbConf = storeConfig{77 Addr: httpAddrMaker(EtcdStorageEnv.Get("ETCD_HTTP_ADDR", nil)),78 Port: EtcdStorageEnv.Get("ETCD_HTTP_PORT", nil),79 User: EtcdStorageEnv.Get("ETCD_USER", nil),80 Passwd: EtcdStorageEnv.Get("ETCD_PASSWORD", nil),81 }82 refreshDB()83 fmt.Println("oauth init storage config success")84}85func initCache() {86 url := fmt.Sprintf("%s:%s", Redis_Addr, Redis_Port)87 Cache = redis.CreateCache(url, Redis_Password)88 CacheMan = cache.NewCacheMan(Cache)89}90func initOauth2Plugin() {91 initGithubPlugin()92}93func initGithubPlugin() {94 GithubRedirectUrl = GithubApplicationEnv.Get("GITHUB_REDIRECT_URL", nil)95 GithubClientID = GithubApplicationEnv.Get("GITHUB_CLIENT_ID", nil)96 GithubClientSecret = GithubApplicationEnv.Get("GITHUB_CLIENT_SECRET", nil)97}98func initDFHost() {99 DFHost_API = DatafoundryEnv.Get("DATAFOUNDRY_HOST_ADDR", nil)100 DFHost_Key = etcdFormatUrl(DFHost_API)101}102func initAPI() {103 DF_API_Auth = DFHost_API + "/oapi/v1/users/~"104}105func initEnvs() {106 envNotNil := func(k string) {107 log.Fatalf("[Env] %s must not be nil.", k)108 }109 EtcdStorageEnv.Init()110 EtcdStorageEnv.Print()111 EtcdStorageEnv.Validate(envNotNil)112 GithubApplicationEnv.Init()113 GithubApplicationEnv.Print()114 GithubApplicationEnv.Validate(envNotNil)115 DatafoundryEnv.Init()116 DatafoundryEnv.Print()117 DatafoundryEnv.Validate(envNotNil)118 RedisEnv.Init()119 RedisEnv.Print()120 RedisEnv.Validate(envNotNil)121}122func initSSHKey() {123 rsautil.Init("ssh-keygen")124 KeyPool = rsautil.NewKeyPool(10)125 go KeyPool.Run()126}127//https://github.com/login/oauth/authorize?client_id=2369ed831a59847924b4&scope=repo,user:email&state=ccc&redirect_uri=http://oauth2-oauth.app.asiainfodata.com/v1/github-redirect128//curl -v https://github.com/login/oauth/access_token -d "client_id=2369ed831a59847924b4&client_secret=510bb29970fcd684d0e7136a5947f92710332c98&code=4fda33093c9fc12711f1&state=ccc"129//access_token=f45feb6ff99f7b1be93d7dbcb8a4323431bc3321&scope=repo%2Cuser%3Aemail&token_type=bearer130//curl https://api.github.com/user -H "Authorization: token 620a4404e076f6cf1a10f9e00519924e43497091”131func checkRedis(svc service.Service) bool {132 const retryTimes = 3133 url := fmt.Sprintf("%s:%s", svc.Credential.Host, svc.Credential.Port)134 fmt.Printf("Redis Addr [%s]", url)135 for i := 1; i <= retryTimes; i++ {136 addr, port := getRedisMasterAddr(url, svc.Credential.Name)137 if len(addr) > 0 && len(port) > 0 {138 Redis_Addr, Redis_Port = addr, port139 log.Printf("dial redis[%s:%s] success", addr, port)140 return true141 }142 continue143 }144 return false145}146func fakeCheck(svc service.Service) bool {147 fmt.Printf("run fake check %v\n", svc)148 return true149}...

Full Screen

Full Screen

root.go

Source:root.go Github

copy

Full Screen

1package cmd2import (3 "context"4 "crypto/tls"5 "errors"6 "fmt"7 "net/http"8 "os"9 "github.com/gomicro/trust"10 "github.com/spf13/cobra"11 "google.golang.org/grpc"12 health_pb "google.golang.org/grpc/health/grpc_health_v1"13 ffmt "github.com/gomicro/probe/fmt"14)15var (16 verbose bool17 skipVerify bool18 grpcFlag bool19 // ErrGrpcBadStatus is the error returned when a non serving status is returend by a grpc service20 ErrGrpcBadStatus = errors.New("grpc status: not ok")21 // ErrGrpcConnFailure is the error returned when the grpc dial fails to connect to the specified host22 ErrGrpcConnFailure = errors.New("grpc conn: failure")23 // ErrHTTPBadStatus is the error returned when a non ok status is returned by a http service24 ErrHTTPBadStatus = errors.New("http status: not ok")25 // ErrHTTPGet is the errro returned when an http client encounters an error while performing a GET26 ErrHTTPGet = errors.New("http client: get")27)28func init() {29 cobra.OnInitialize(initEnvs)30 rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "show more verbose output")31 rootCmd.Flags().BoolVarP(&skipVerify, "insecure", "k", false, "permit operations for servers otherwise considered insecure")32 rootCmd.Flags().BoolVarP(&grpcFlag, "grpc", "g", false, "use grpc health to check a grpc service")33}34func initEnvs() {35}36var rootCmd = &cobra.Command{37 Use: "probe [flags] URL",38 Short: "Lightweight healthchecker for scratch containers",39 Args: func(cmd *cobra.Command, args []string) error {40 if len(args) == 0 {41 return errors.New("Expected url to access")42 }43 return nil44 },45 Run: probe,46}47// Execute adds all child commands to the root command and sets flags appropriately.48// This is called by main.main(). It only needs to happen once to the rootCmd.49func Execute() {50 if err := rootCmd.Execute(); err != nil {51 fmt.Printf("Failed to execute: %v\n", err.Error())52 os.Exit(1)53 }54}55func probe(cmd *cobra.Command, args []string) {56 var err error57 if grpcFlag {58 err = probeGrpc(args[0])59 } else {60 err = probeHTTP(args[0])61 }62 if err != nil {63 if errors.Is(err, ErrHTTPGet) || errors.Is(err, ErrGrpcConnFailure) {64 ffmt.Printf("%v", err.Error())65 os.Exit(2)66 }67 ffmt.Verbosef("%v", err.Error())68 os.Exit(1)69 }70}71func probeHTTP(host string) error {72 pool := trust.New()73 certs, err := pool.CACerts()74 if err != nil {75 fmt.Printf("Error: failed to create cert pool: %v\n", err.Error())76 }77 client := &http.Client{78 Transport: &http.Transport{79 TLSClientConfig: &tls.Config{80 RootCAs: certs,81 InsecureSkipVerify: skipVerify,82 },83 },84 }85 resp, err := client.Get(host)86 if err != nil {87 return fmt.Errorf("%w: %v", ErrHTTPGet, err.Error())88 }89 if resp.StatusCode != http.StatusOK {90 return fmt.Errorf("%w: status %v", ErrHTTPBadStatus, resp.StatusCode)91 }92 return nil93}94func probeGrpc(host string) error {95 ctx := context.Background()96 opts := []grpc.DialOption{97 grpc.WithBlock(),98 grpc.WithInsecure(),99 }100 conn, err := grpc.DialContext(ctx, host, opts...)101 if err != nil {102 return fmt.Errorf("%w: %v", ErrGrpcConnFailure, err.Error())103 }104 defer conn.Close()105 resp, err := health_pb.NewHealthClient(conn).Check(ctx, &health_pb.HealthCheckRequest{})106 if err != nil {107 return ErrGrpcBadStatus108 }109 if resp.GetStatus() != health_pb.HealthCheckResponse_SERVING {110 return fmt.Errorf("%w: status %v", err, resp.GetStatus())111 }112 return nil113}...

Full Screen

Full Screen

env.go

Source:env.go Github

copy

Full Screen

...5type Env struct {6 MongoURL string7 LiveloPartnersURL string8}9func InitEnvs() *Env {10 return &Env {11 MongoURL: os.Getenv("MONGO_URL"),12 LiveloPartnersURL: os.Getenv("LIVELO_URL") + "/ccstore/v1/files/thirdparty/config_partners_compre_e_pontue.json",13 }14}...

Full Screen

Full Screen

InitEnvs

Using AI Code Generation

copy

Full Screen

1v1.InitEnvs()2v2.InitEnvs()3v3.InitEnvs()4v4.InitEnvs()5v5.InitEnvs()6v6.InitEnvs()7v7.InitEnvs()8v8.InitEnvs()9v9.InitEnvs()10v10.InitEnvs()11v11.InitEnvs()12v12.InitEnvs()13v13.InitEnvs()14v14.InitEnvs()15v15.InitEnvs()16v16.InitEnvs()17v17.InitEnvs()18v18.InitEnvs()19v19.InitEnvs()

Full Screen

Full Screen

InitEnvs

Using AI Code Generation

copy

Full Screen

1v1.InitEnvs()2v2.InitEnvs()3v1.InitEnvs()4v2.InitEnvs()5cannot use v2 (type *V2) as type V1 in argument to v1.InitEnvs:6 *V2 does not implement V1 (missing InitEnvs method)7type V2 struct {8}9func (v *V2) InitEnvs() {10}11type V1 interface {12 InitEnvs()13}14v1.InitEnvs()15v2.InitEnvs()16v1.InitEnvs()17v2.InitEnvs()18v1.InitEnvs()19v2.InitEnvs()

Full Screen

Full Screen

InitEnvs

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 v1.InitEnvs()4 fmt.Println(v1.Envs)5}6func InitEnvs() {7 Envs = make(map[string]string)8}9func InitEnvs() {10 Envs = make(map[string]string)11}12func InitEnvs() {13 Envs = make(map[string]string)14}15import (16func main() {17 v2.InitEnvs()18 fmt.Println(v2.Envs)19}

Full Screen

Full Screen

InitEnvs

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 v1.InitEnvs()4 fmt.Println("Hello, playground")5}6import (7func main() {8 v2.InitEnvs()9 fmt.Println("Hello, playground")10}11import (12func main() {13 v3.InitEnvs()14 fmt.Println("Hello, playground")15}

Full Screen

Full Screen

InitEnvs

Using AI Code Generation

copy

Full Screen

1import (2func main() {3 v1.InitEnvs()4 envs := v1.Envs()5 for k, v := range envs {6 fmt.Printf("%s=%s7 }8}9import (10func main() {11 v1.InitEnvs()12 envs := v1.Envs()13 for k, v := range envs {14 fmt.Printf("%s=%s15 }16}17import (18func main() {19 v1.InitEnvs()20 envs := v1.Envs()21 for k, v := range envs {22 fmt.Printf("%s=%s23 }24}25import (26func main() {27 v1.InitEnvs()28 envs := v1.Envs()29 for k, v := range envs {30 fmt.Printf("%s=%s31 }32}33import (34func main() {35 v1.InitEnvs()36 envs := v1.Envs()37 for k, v := range envs {38 fmt.Printf("%s=%s39 }40}

Full Screen

Full Screen

Automation Testing Tutorials

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.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Testkube automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful