mirror of
https://github.com/rancher/rke.git
synced 2025-09-04 00:14:49 +00:00
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
This commit is contained in:
66
codegen/codegen_test.go
Normal file
66
codegen/codegen_test.go
Normal file
@@ -0,0 +1,66 @@
|
||||
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)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user