Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

64
pkg/utils/envtool/env.go Normal file
View File

@@ -0,0 +1,64 @@
package envtool
import (
"os"
"strconv"
"time"
)
// GetEnv return enviroment variable or default value if not set
func GetEnv(name string, defaultValue string) string {
value, ok := os.LookupEnv(name)
if ok && len(value) > 0 {
return value
}
return defaultValue
}
// GetEnvInt returns environment variable or default value if not set
func GetEnvInt(name string, defaultValue int) int {
value, ok := os.LookupEnv(name)
if ok && len(value) > 0 {
i, err := strconv.Atoi(value)
if err == nil {
return i
}
}
return defaultValue
}
// GetEnvInt returns environment variable or default value if not set
func GetEnvInt64(name string, defaultValue int64) int64 {
value, ok := os.LookupEnv(name)
if ok && len(value) > 0 {
i, err := strconv.ParseInt(value, 10, 0)
if err == nil {
return i
}
}
return defaultValue
}
// GetEnvBool returns environment variable or default value if not set
func GetEnvBool(name string, defaultValue bool) bool {
value, ok := os.LookupEnv(name)
if !ok {
return defaultValue
}
val, err := strconv.ParseBool(value)
if err != nil {
return defaultValue
}
return val
}
func GetEnvDuration(name string, defaultValue time.Duration) time.Duration {
value, ok := os.LookupEnv(name)
if ok && len(value) > 0 {
d, err := time.ParseDuration(value)
if err == nil {
return d
}
}
return defaultValue
}

View File

@@ -0,0 +1,66 @@
package envtool
import (
"os"
"strconv"
"testing"
"fiskerinc.com/modules/testhelper"
)
var defaultValue = "DEFAULT_VALUE"
var existingValue = "EXISTING_VALUE"
var defaultInt = 0
var existingInt = 1
var defaultBool = false
var existingBool = true
func TestGetEnvDefaultValue(t *testing.T) {
got := GetEnv("NON_EXISTING", defaultValue)
if got != defaultValue {
t.Errorf(testhelper.TestErrorTemplate, "Default value", defaultValue, got)
}
}
func TestGetEnvExistingValue(t *testing.T) {
const envName = "EXISTING"
os.Setenv(envName, existingValue)
got := GetEnv(envName, defaultValue)
if got != existingValue {
t.Errorf(testhelper.TestErrorTemplate, "Existing value", existingValue, got)
}
}
func TestGetEnvIntDefaultValue(t *testing.T) {
got := GetEnvInt("NON_EXISTING", defaultInt)
if got != defaultInt {
t.Errorf(testhelper.TestErrorTemplate, "Default value", defaultInt, got)
}
}
func TestGetEnvIntExistingValue(t *testing.T) {
const envName = "EXISTING"
os.Setenv(envName, strconv.Itoa(existingInt))
got := GetEnvInt(envName, defaultInt)
if got != existingInt {
t.Errorf(testhelper.TestErrorTemplate, "Existing value", existingInt, got)
}
}
func TestGetEnvBoolDefaultValue(t *testing.T) {
got := GetEnvBool("NON_EXISTING", defaultBool)
if got != defaultBool {
t.Errorf(testhelper.TestErrorTemplate, "Default Value", defaultBool, got)
}
}
func TestGetEnvBoolExistingValue(t *testing.T) {
const envName = "EXISTING"
os.Setenv(envName, strconv.FormatBool(existingBool))
got := GetEnvBool(envName, defaultBool)
if got != existingBool {
t.Errorf(testhelper.TestErrorTemplate, "Default Value", existingBool, got)
}
}