config: flatten Proxy struct (#846)

* config: flatten Proxy struct

* fix mw_test

* gofmt

* add line
This commit is contained in:
Marwan Sulaiman
2018-11-01 17:21:42 -04:00
committed by GitHub
parent c454512ba3
commit 21dcd5a388
6 changed files with 128 additions and 155 deletions
+30 -47
View File
@@ -14,15 +14,11 @@ import (
const exampleConfigPath = "../../config.dev.toml"
func compareConfigs(parsedConf *Config, expConf *Config, t *testing.T) {
opts := cmpopts.IgnoreTypes(StorageConfig{}, ProxyConfig{})
opts := cmpopts.IgnoreTypes(StorageConfig{})
eq := cmp.Equal(parsedConf, expConf, opts)
if !eq {
t.Errorf("Parsed Example configuration did not match expected values. Expected: %+v. Actual: %+v", expConf, parsedConf)
}
eq = cmp.Equal(parsedConf.Proxy, expConf.Proxy)
if !eq {
t.Errorf("Parsed Example Proxy configuration did not match expected values. Expected: %+v. Actual: %+v", expConf.Proxy, parsedConf.Proxy)
}
compareStorageConfigs(parsedConf.Storage, expConf.Storage, t)
}
@@ -60,26 +56,12 @@ func TestPortDefaultsCorrectly(t *testing.T) {
t.Fatalf("Env override failed: %v", err)
}
expPort := ":3000"
if conf.Proxy.Port != expPort {
t.Errorf("Port was incorrect. Got: %s, want: %s", conf.Proxy.Port, expPort)
if conf.Port != expPort {
t.Errorf("Port was incorrect. Got: %s, want: %s", conf.Port, expPort)
}
}
func TestEnvOverrides(t *testing.T) {
expProxy := ProxyConfig{
StorageType: "minio",
GlobalEndpoint: "mytikas.gomods.io",
Port: ":7000",
BasicAuthUser: "testuser",
BasicAuthPass: "testpass",
ForceSSL: true,
ValidatorHook: "testhook.io",
PathPrefix: "prefix",
NETRCPath: "/test/path/.netrc",
HGRCPath: "/test/path/.hgrc",
}
expConf := &Config{
GoEnv: "production",
GoGetWorkers: 10,
@@ -91,8 +73,17 @@ func TestEnvOverrides(t *testing.T) {
TimeoutConf: TimeoutConf{
Timeout: 30,
},
Proxy: &expProxy,
Storage: &StorageConfig{},
StorageType: "minio",
GlobalEndpoint: "mytikas.gomods.io",
Port: ":7000",
BasicAuthUser: "testuser",
BasicAuthPass: "testpass",
ForceSSL: true,
ValidatorHook: "testhook.io",
PathPrefix: "prefix",
NETRCPath: "/test/path/.netrc",
HGRCPath: "/test/path/.hgrc",
Storage: &StorageConfig{},
}
envVars := getEnvMap(expConf)
@@ -186,7 +177,6 @@ func TestParseExampleConfig(t *testing.T) {
// initialize all struct pointers so we get all applicable env variables
emptyConf := &Config{
Proxy: &ProxyConfig{},
Storage: &StorageConfig{
CDN: &CDNConfig{},
Disk: &DiskConfig{},
@@ -209,14 +199,6 @@ func TestParseExampleConfig(t *testing.T) {
globalTimeout := 300
expProxy := &ProxyConfig{
StorageType: "memory",
GlobalEndpoint: "http://localhost:3001",
Port: ":3000",
BasicAuthUser: "",
BasicAuthPass: "",
}
expStorage := &StorageConfig{
CDN: &CDNConfig{
Endpoint: "cdn.example.com",
@@ -275,8 +257,12 @@ func TestParseExampleConfig(t *testing.T) {
TimeoutConf: TimeoutConf{
Timeout: 300,
},
Proxy: expProxy,
Storage: expStorage,
StorageType: "memory",
GlobalEndpoint: "http://localhost:3001",
Port: ":3000",
BasicAuthUser: "",
BasicAuthPass: "",
Storage: expStorage,
}
absPath, err := filepath.Abs(exampleConfigPath)
@@ -306,19 +292,16 @@ func getEnvMap(config *Config) map[string]string {
"ATHENS_TRACE_EXPORTER": config.TraceExporterURL,
}
proxy := config.Proxy
if proxy != nil {
envVars["ATHENS_STORAGE_TYPE"] = proxy.StorageType
envVars["ATHENS_GLOBAL_ENDPOINT"] = proxy.GlobalEndpoint
envVars["ATHENS_PORT"] = proxy.Port
envVars["BASIC_AUTH_USER"] = proxy.BasicAuthUser
envVars["BASIC_AUTH_PASS"] = proxy.BasicAuthPass
envVars["PROXY_FORCE_SSL"] = strconv.FormatBool(proxy.ForceSSL)
envVars["ATHENS_PROXY_VALIDATOR"] = proxy.ValidatorHook
envVars["ATHENS_PATH_PREFIX"] = proxy.PathPrefix
envVars["ATHENS_NETRC_PATH"] = proxy.NETRCPath
envVars["ATHENS_HGRC_PATH"] = proxy.HGRCPath
}
envVars["ATHENS_STORAGE_TYPE"] = config.StorageType
envVars["ATHENS_GLOBAL_ENDPOINT"] = config.GlobalEndpoint
envVars["ATHENS_PORT"] = config.Port
envVars["BASIC_AUTH_USER"] = config.BasicAuthUser
envVars["BASIC_AUTH_PASS"] = config.BasicAuthPass
envVars["PROXY_FORCE_SSL"] = strconv.FormatBool(config.ForceSSL)
envVars["ATHENS_PROXY_VALIDATOR"] = config.ValidatorHook
envVars["ATHENS_PATH_PREFIX"] = config.PathPrefix
envVars["ATHENS_NETRC_PATH"] = config.NETRCPath
envVars["ATHENS_HGRC_PATH"] = config.HGRCPath
storage := config.Storage
if storage != nil {