add support for env variables to the DSL
This commit is contained in:
@ -21,7 +21,68 @@ func serverEqual(got, want Server) bool {
|
||||
}
|
||||
|
||||
func serverSettingEqual(got, want ServerSetting) bool {
|
||||
return stringPtrEqual(got.Host, want.Host) && intPtrEqual(got.Port, want.Port)
|
||||
return configValueEqual(got.Host, want.Host) &&
|
||||
intValueEqual(got.Port, want.Port) &&
|
||||
configValueEqual(got.DatabaseURL, want.DatabaseURL) &&
|
||||
configValueEqual(got.APIKey, want.APIKey) &&
|
||||
configValueEqual(got.SSLCert, want.SSLCert) &&
|
||||
configValueEqual(got.SSLKey, want.SSLKey)
|
||||
}
|
||||
|
||||
func configValueEqual(got, want *ConfigValue) bool {
|
||||
if got == nil && want == nil {
|
||||
return true
|
||||
}
|
||||
if got == nil || want == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
// Check literal values
|
||||
if got.Literal != nil && want.Literal != nil {
|
||||
return *got.Literal == *want.Literal
|
||||
}
|
||||
if got.Literal != nil || want.Literal != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
// Check environment variables
|
||||
if got.EnvVar != nil && want.EnvVar != nil {
|
||||
return envVarEqual(*got.EnvVar, *want.EnvVar)
|
||||
}
|
||||
return got.EnvVar == nil && want.EnvVar == nil
|
||||
}
|
||||
|
||||
func intValueEqual(got, want *IntValue) bool {
|
||||
if got == nil && want == nil {
|
||||
return true
|
||||
}
|
||||
if got == nil || want == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
// Check literal values
|
||||
if got.Literal != nil && want.Literal != nil {
|
||||
return *got.Literal == *want.Literal
|
||||
}
|
||||
if got.Literal != nil || want.Literal != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
// Check environment variables
|
||||
if got.EnvVar != nil && want.EnvVar != nil {
|
||||
return envVarEqual(*got.EnvVar, *want.EnvVar)
|
||||
}
|
||||
return got.EnvVar == nil && want.EnvVar == nil
|
||||
}
|
||||
|
||||
func envVarEqual(got, want EnvVar) bool {
|
||||
if got.Name != want.Name {
|
||||
return false
|
||||
}
|
||||
if got.Required != want.Required {
|
||||
return false
|
||||
}
|
||||
return stringPtrEqual(got.Default, want.Default)
|
||||
}
|
||||
|
||||
func entityEqual(got, want Entity) bool {
|
||||
|
Reference in New Issue
Block a user