mirror of
				https://github.com/rancher/rke.git
				synced 2025-11-04 03:20:13 +00:00 
			
		
		
		
	- remove rke2/k3s keys so data only has required info for rke1 - decide kdm url based on the tag version
		
			
				
	
	
		
			67 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			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)
 | 
						|
			}
 | 
						|
		})
 | 
						|
	}
 | 
						|
}
 |