forked from Plemya-x/ALR
		
	tests: add tests for ReleasePlatformSpecific
This commit is contained in:
		| @@ -231,13 +231,11 @@ func ReleasePlatformSpecific(release int, info *distro.OSRelease) string { | |||||||
| 		return fmt.Sprintf("alt%d", release) | 		return fmt.Sprintf("alt%d", release) | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	for _, v := range info.Like { | 	if info.ID == "fedora" || slices.Contains(info.Like, "fedora") { | ||||||
| 		if v == "fedora" { | 		re := regexp.MustCompile(`platform:(\S+)`) | ||||||
| 			re := regexp.MustCompile(`platform:(\S+)`) | 		match := re.FindStringSubmatch(info.PlatformID) | ||||||
| 			match := re.FindStringSubmatch(info.PlatformID) | 		if len(match) > 1 { | ||||||
| 			if len(match) > 1 { | 			return fmt.Sprintf("%d.%s", release, match[1]) | ||||||
| 				return fmt.Sprintf("%d.%s", release, match[0]) |  | ||||||
| 			} |  | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -24,6 +24,7 @@ import ( | |||||||
| 	"reflect" | 	"reflect" | ||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
|  | 	"github.com/stretchr/testify/assert" | ||||||
| 	"golang.org/x/text/language" | 	"golang.org/x/text/language" | ||||||
|  |  | ||||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/overrides" | 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/overrides" | ||||||
| @@ -195,3 +196,43 @@ func TestResolveLangs(t *testing.T) { | |||||||
| 		t.Errorf("expected %v, got %v", expected, names) | 		t.Errorf("expected %v, got %v", expected, names) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | func TestReleasePlatformSpecific(t *testing.T) { | ||||||
|  |  | ||||||
|  | 	type testCase struct { | ||||||
|  | 		info     *distro.OSRelease | ||||||
|  | 		expected string | ||||||
|  | 	} | ||||||
|  |  | ||||||
|  | 	for _, tc := range []testCase{ | ||||||
|  | 		{ | ||||||
|  | 			info: &distro.OSRelease{ | ||||||
|  | 				ID:         "centos", | ||||||
|  | 				Like:       []string{"rhel", "fedora"}, | ||||||
|  | 				PlatformID: "platform:el8", | ||||||
|  | 			}, | ||||||
|  | 			expected: "1.el8", | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			info: &distro.OSRelease{ | ||||||
|  | 				ID:         "fedora", | ||||||
|  | 				PlatformID: "platform:f42", | ||||||
|  | 			}, | ||||||
|  | 			expected: "1.f42", | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			info: &distro.OSRelease{ | ||||||
|  | 				ID: "altlinux", | ||||||
|  | 			}, | ||||||
|  | 			expected: "alt1", | ||||||
|  | 		}, | ||||||
|  | 		{ | ||||||
|  | 			info: &distro.OSRelease{ | ||||||
|  | 				ID: "ubuntu", | ||||||
|  | 			}, | ||||||
|  | 			expected: "1", | ||||||
|  | 		}, | ||||||
|  | 	} { | ||||||
|  | 		assert.Equal(t, tc.expected, overrides.ReleasePlatformSpecific(1, tc.info)) | ||||||
|  | 	} | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user