go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/detector/os_release_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package detector 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 ) 11 12 func TestMajorMinorParser(t *testing.T) { 13 data := []struct { 14 release string 15 major string 16 minor string 17 other string 18 }{{ 19 release: "8.1.1911", 20 major: "8", 21 minor: "1", 22 other: "1911", 23 }, { 24 release: "5.11", 25 major: "5", 26 minor: "11", 27 other: "", 28 }, { 29 release: "6.9", 30 major: "6", 31 minor: "9", 32 other: "", 33 }, { 34 release: "7.5.1804", 35 major: "7", 36 minor: "5", 37 other: "1804", 38 }, { 39 release: "7", 40 major: "7", 41 minor: "", 42 other: "", 43 }, { 44 release: "12.04", 45 major: "12", 46 minor: "04", 47 other: "", 48 }, { 49 release: "7.0.0.2", 50 major: "7", 51 minor: "0", 52 other: "0.2", 53 }, { 54 release: "2019.4", 55 major: "2019", 56 minor: "4", 57 other: "", 58 }, { 59 release: "20200305", 60 major: "20200305", 61 minor: "", 62 other: "", 63 }, { 64 release: "2017.09", 65 major: "2017", 66 minor: "09", 67 other: "", 68 }, { 69 release: "3.7.0", 70 major: "3", 71 minor: "7", 72 other: "0", 73 }, { 74 release: "17763.720", 75 major: "17763", 76 minor: "720", 77 other: "", 78 }} 79 80 for i := range data { 81 v := ParseOsVersion(data[i].release) 82 assert.Equal(t, data[i].major, v.Major, data[i].release) 83 assert.Equal(t, data[i].minor, v.Minor, data[i].release) 84 assert.Equal(t, data[i].other, v.Other, data[i].release) 85 } 86 }