1
0
mirror of https://github.com/rancher/rke.git synced 2025-04-28 19:43:26 +00:00
rke/codegen/codegen_test.go
Kinara Shah 85042bd8cf Fixes for generating data.json
- remove rke2/k3s keys so data only has required info for rke1
- decide kdm url based on the tag version
2024-08-29 12:28:14 -07:00

67 lines
1.3 KiB
Go

package main
import (
"os"
"testing"
"github.com/rancher/rke/metadata"
)
func TestGetURL(t *testing.T) {
tests := []struct {
name string
envVar string
tag string
expectedURL string
}{
{
name: "No Metadata URL and TAG is release version",
envVar: "",
tag: "v1.0.0",
expectedURL: defaultReleaseURL,
},
{
name: "No Metadata URL and TAG is pre-release version",
envVar: "",
tag: "v1.0.0-alpha",
expectedURL: defaultDevURL,
},
{
name: "Metadata URL set",
envVar: "https://example.com",
tag: "v1.0.0",
expectedURL: "https://example.com",
},
{
name: "Invalid TAG",
envVar: "",
tag: "invalid-tag",
expectedURL: defaultDevURL,
},
{
name: "No TAG",
envVar: "",
tag: "",
expectedURL: defaultDevURL,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
// Set the environment variables
os.Setenv(metadata.RancherMetadataURLEnv, tt.envVar)
os.Setenv("TAG", tt.tag)
defer func() {
os.Unsetenv(metadata.RancherMetadataURLEnv)
os.Unsetenv("TAG")
}()
result := getURL()
if result != tt.expectedURL {
t.Errorf("expected %s, got %s", tt.expectedURL, result)
}
})
}
}