Blame internal/distro/osrelease_test.go

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