Blame internal/distro/osrelease_test.go

Packit 63bb0d
package distro
Packit 63bb0d
Packit 63bb0d
import (
Packit 63bb0d
	"reflect"
Packit 63bb0d
	"strings"
Packit 63bb0d
	"testing"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
func TestOSRelease(t *testing.T) {
Packit 63bb0d
	var cases = []struct {
Packit 63bb0d
		Input     string
Packit 63bb0d
		OSRelease map[string]string
Packit 63bb0d
	}{
Packit 63bb0d
		{
Packit 63bb0d
			``,
Packit 63bb0d
			map[string]string{},
Packit 63bb0d
		},
Packit 63bb0d
		{
Packit 63bb0d
			`NAME=Fedora
Packit 63bb0d
VERSION="30 (Workstation Edition)"
Packit 63bb0d
ID=fedora
Packit 63bb0d
VERSION_ID=30
Packit 63bb0d
VERSION_CODENAME=""
Packit 63bb0d
PLATFORM_ID="platform:f30"
Packit 63bb0d
PRETTY_NAME="Fedora 30 (Workstation Edition)"
Packit 63bb0d
VARIANT="Workstation Edition"
Packit 63bb0d
VARIANT_ID=workstation`,
Packit 63bb0d
			map[string]string{
Packit 63bb0d
				"NAME":             "Fedora",
Packit 63bb0d
				"VERSION":          "30 (Workstation Edition)",
Packit 63bb0d
				"ID":               "fedora",
Packit 63bb0d
				"VERSION_ID":       "30",
Packit 63bb0d
				"VERSION_CODENAME": "",
Packit 63bb0d
				"PLATFORM_ID":      "platform:f30",
Packit 63bb0d
				"PRETTY_NAME":      "Fedora 30 (Workstation Edition)",
Packit 63bb0d
				"VARIANT":          "Workstation Edition",
Packit 63bb0d
				"VARIANT_ID":       "workstation",
Packit 63bb0d
			},
Packit 63bb0d
		},
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	for i, c := range cases {
Packit 63bb0d
		r := strings.NewReader(c.Input)
Packit 63bb0d
Packit 63bb0d
		osrelease, err := readOSRelease(r)
Packit 63bb0d
		if err != nil {
Packit 63bb0d
			t.Fatalf("%d: readOSRelease: %v", i, err)
Packit 63bb0d
		}
Packit 63bb0d
Packit 63bb0d
		if !reflect.DeepEqual(osrelease, c.OSRelease) {
Packit 63bb0d
			t.Fatalf("%d: readOSRelease returned unexpected result: %#v", i, osrelease)
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
}