go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/detector/parser_macos_version_test.go (about) 1 package detector_test 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "github.com/stretchr/testify/require" 8 "go.mondoo.com/cnquery/providers/os/detector" 9 ) 10 11 func TestDarwinRelease(t *testing.T) { 12 swVers := `ProductName: Mac OS X 13 ProductVersion: 10.13.2 14 BuildVersion: 17C88 15 ` 16 17 m, err := detector.ParseDarwinRelease(swVers) 18 require.NoError(t, err) 19 20 assert.Equal(t, "Mac OS X", m["ProductName"], "ProductName should be parsed properly") 21 assert.Equal(t, "10.13.2", m["ProductVersion"], "ProductVersion should be parsed properly") 22 assert.Equal(t, "17C88", m["BuildVersion"], "BuildVersion should be parsed properly") 23 } 24 25 func TestMacOsSystemVersion(t *testing.T) { 26 systemVersion := ` 27 <?xml version="1.0" encoding="UTF-8"?> 28 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 29 <plist version="1.0"> 30 <dict> 31 <key>ProductBuildVersion</key> 32 <string>17C88</string> 33 <key>ProductCopyright</key> 34 <string>1983-2017 Apple Inc.</string> 35 <key>ProductName</key> 36 <string>Mac OS X</string> 37 <key>ProductUserVisibleVersion</key> 38 <string>10.13.2</string> 39 <key>ProductVersion</key> 40 <string>10.13.2</string> 41 </dict> 42 </plist> 43 ` 44 45 m, err := detector.ParseMacOSSystemVersion(systemVersion) 46 assert.Nil(t, err) 47 48 assert.Equal(t, "17C88", m["ProductBuildVersion"], "ProductBuildVersion should be parsed properly") 49 assert.Equal(t, "1983-2017 Apple Inc.", m["ProductCopyright"], "ProductCopyright should be parsed properly") 50 assert.Equal(t, "Mac OS X", m["ProductName"], "ProductName should be parsed properly") 51 assert.Equal(t, "10.13.2", m["ProductUserVisibleVersion"], "ProductUserVisibleVersion should be parsed properly") 52 assert.Equal(t, "10.13.2", m["ProductVersion"], "ProductVersion should be parsed properly") 53 }