diff --git a/src/TibiaDataUtils.go b/src/TibiaDataUtils.go index b024f02d..3393c355 100644 --- a/src/TibiaDataUtils.go +++ b/src/TibiaDataUtils.go @@ -249,26 +249,6 @@ func getEnvAsBool(name string, defaultVal bool) bool { return defaultVal } -/* -// getEnvAsFloat func - read an environment variable into a float64 or return default value -func getEnvAsFloat(name string, defaultVal float64) float64 { - valStr := getEnv(name, "") - if val, err := strconv.ParseFloat(valStr, 64); err == nil { - return val - } - return defaultVal -} - -// getEnvAsInt func - read an environment variable into integer or return a default value -func getEnvAsInt(name string, defaultVal int) int { - valueStr := getEnv(name, "") - if value, err := strconv.Atoi(valueStr); err == nil { - return value - } - return defaultVal -} -*/ - // TibiaDataConvertValuesWithK func - convert price strings that contain k, kk or more to 3x0 func TibiaDataConvertValuesWithK(data string) int { return TibiaDataStringToInteger(strings.ReplaceAll(data, "k", "") + strings.Repeat("000", strings.Count(data, "k"))) diff --git a/src/TibiaDataUtils_test.go b/src/TibiaDataUtils_test.go index 50754faf..2d5b0553 100644 --- a/src/TibiaDataUtils_test.go +++ b/src/TibiaDataUtils_test.go @@ -1,6 +1,7 @@ package main import ( + "os" "testing" "github.com/stretchr/testify/assert" @@ -18,14 +19,51 @@ func TestTibiaUTCDateFormat(t *testing.T) { assert.Equal(t, "2021-12-24T09:52:16Z", TibiaDataDatetime("Dec 24 2021, 09:52:16 UTC")) } -func TestEnvFunctions(t *testing.T) { +func TestIsEnvExist(t *testing.T) { assert := assert.New(t) - assert.False(false, isEnvExist("test")) + // Test when environment variable exists and is not empty + os.Setenv("TIBIADATA_ENV", "production") + assert.True(isEnvExist("TIBIADATA_ENV")) - assert.Equal("default", getEnv("TIBIADATA_ENV", "default")) + // Test when environment variable exists and is empty + os.Setenv("TIBIADATA_ENV", "") + assert.False(isEnvExist("TIBIADATA_ENV")) + // Test when environment variable does not exist + os.Unsetenv("TIBIADATA_ENV") + assert.False(isEnvExist("TIBIADATA_ENV")) +} + +func TestGetEnv(t *testing.T) { + assert := assert.New(t) + + os.Setenv("TIBIADATA_ENV", "production") + defer os.Unsetenv("TIBIADATA_ENV") + + // Test when environment variable is set + assert.Equal("production", getEnv("TIBIADATA_ENV", "default")) + + // Test when environment variable is not set + assert.Equal("default", getEnv("NON_EXISTENT_ENV", "default")) +} + +func TestGetEnvAsBool(t *testing.T) { + assert := assert.New(t) + + // Test when environment variable is not set + assert.True(true, getEnvAsBool("TIBIADATA_ENV", true)) + assert.False(false, getEnvAsBool("TIBIADATA_ENV", false)) + + // Test when environment variable is set to true + os.Setenv("TIBIADATA_ENV", "true") + assert.True(true, getEnvAsBool("TIBIADATA_ENV", false)) + + // Test when environment variable is set to false + os.Setenv("TIBIADATA_ENV", "false") assert.False(false, getEnvAsBool("TIBIADATA_ENV", true)) + + os.Unsetenv("TIBIADATA_ENV") } func TestTibiaDataVocationValidator(t *testing.T) { @@ -50,6 +88,9 @@ func TestTibiaDataVocationValidator(t *testing.T) { x, y = TibiaDataVocationValidator("druid") assert.Equal(x, "druids") assert.Equal(y, "5") + x, y = TibiaDataVocationValidator("") + assert.Equal(x, "all") + assert.Equal(y, "0") } func TestTibiaDataGetNewsCategory(t *testing.T) { @@ -80,10 +121,18 @@ func TestHTMLLineBreakRemover(t *testing.T) { } func TestURLsRemover(t *testing.T) { - const str = `Bobeek` + const ( + strOne = `Bobeek` + strTwo = `