mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-17 19:45:28 +00:00
39 lines
907 B
Go
39 lines
907 B
Go
|
|
package generators
|
||
|
|
|
||
|
|
import (
|
||
|
|
"os"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestParseEnvVars(t *testing.T) {
|
||
|
|
old := os.Environ()
|
||
|
|
// set a scoped env var
|
||
|
|
_ = os.Setenv("NUCLEI_TEST_K", "V1")
|
||
|
|
t.Cleanup(func() {
|
||
|
|
// restore
|
||
|
|
for _, kv := range old {
|
||
|
|
parts := kv
|
||
|
|
_ = parts // nothing, environment already has superset; best-effort cleanup below
|
||
|
|
}
|
||
|
|
_ = os.Unsetenv("NUCLEI_TEST_K")
|
||
|
|
})
|
||
|
|
vars := parseEnvVars()
|
||
|
|
if vars["NUCLEI_TEST_K"] != "V1" {
|
||
|
|
t.Fatalf("expected V1, got %v", vars["NUCLEI_TEST_K"])
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestEnvVarsMemoization(t *testing.T) {
|
||
|
|
// reset memoized map
|
||
|
|
envVars = nil
|
||
|
|
_ = os.Setenv("NUCLEI_TEST_MEMO", "A")
|
||
|
|
t.Cleanup(func() { _ = os.Unsetenv("NUCLEI_TEST_MEMO") })
|
||
|
|
v1 := EnvVars()["NUCLEI_TEST_MEMO"]
|
||
|
|
// change env after memoization
|
||
|
|
_ = os.Setenv("NUCLEI_TEST_MEMO", "B")
|
||
|
|
v2 := EnvVars()["NUCLEI_TEST_MEMO"]
|
||
|
|
if v1 != "A" || v2 != "A" {
|
||
|
|
t.Fatalf("memoization failed: %v %v", v1, v2)
|
||
|
|
}
|
||
|
|
}
|