/
githubmirror
/
etcd
Обзор
Документация
Войти
/
githubmirror
/
etcd
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
server/embed/util_test.go
58 строк
2 KB
Jonathan Albrecht
Add test utils to create unique urls for embed tests to fix
19 май 2026, 17:40
19 май 2026, 17:40
f254afa
Код
Авторство
О чём код?
// Copyright 2026 The etcd Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package embed import ( "fmt" "net/url" "os" ) type ConfigTestURLs struct { PeerURLs []url.URL ClientURLs []url.URL InitialCluster string } // Similar to function in integration/embed/embed_test.go for setting up Config. func newConfigTestURLs() *ConfigTestURLs { urls := newEmbedURLs(2) cfg := &ConfigTestURLs{ ClientURLs: []url.URL{urls[0]}, PeerURLs: []url.URL{urls[1]}, InitialCluster: "", } for i := range cfg.PeerURLs { cfg.InitialCluster += ",default=" + cfg.PeerURLs[i].String() } cfg.InitialCluster = cfg.InitialCluster[1:] return cfg } func newEmbedURLs(n int) (urls []url.URL) { scheme := "unix" for i := 0; i < n; i++ { u, _ := url.Parse(fmt.Sprintf("%s://localhost:%d%06d", scheme, os.Getpid(), i)) urls = append(urls, *u) } return urls } // applyTestURLConfig applies test URL configuration to the provided Config. func applyTestURLConfig(cfg *Config, testURLConfig *ConfigTestURLs) { cfg.ListenClientUrls, cfg.AdvertiseClientUrls = testURLConfig.ClientURLs, testURLConfig.ClientURLs cfg.ListenPeerUrls, cfg.AdvertisePeerUrls = testURLConfig.PeerURLs, testURLConfig.PeerURLs cfg.InitialCluster = testURLConfig.InitialCluster }