go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/resources/smbios/smbios_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package smbios 5 6 import ( 7 "testing" 8 9 "github.com/stretchr/testify/assert" 10 "github.com/stretchr/testify/require" 11 "go.mondoo.com/cnquery/providers/os/connection/mock" 12 "go.mondoo.com/cnquery/providers/os/detector" 13 ) 14 15 func TestManagerCentos(t *testing.T) { 16 conn, err := mock.New("./testdata/centos.toml", nil) 17 require.NoError(t, err) 18 platform, ok := detector.DetectOS(conn) 19 require.True(t, ok) 20 21 mm, err := ResolveManager(conn, platform) 22 require.NoError(t, err) 23 biosInfo, err := mm.Info() 24 require.NoError(t, err) 25 assert.Equal(t, &SmBiosInfo{ 26 BIOS: BiosInfo{ 27 Vendor: "innotek GmbH", 28 Version: "VirtualBox", 29 ReleaseDate: "12/01/2006", 30 }, 31 SysInfo: SysInfo{ 32 Vendor: "innotek GmbH", 33 Model: "VirtualBox", 34 Version: "1.2", 35 SerialNumber: "0", 36 UUID: "64f118d3-0060-4a4c-bf1f-a11d655c4d6f", 37 Familiy: "Virtual Machine", 38 SKU: "", 39 }, 40 BaseBoardInfo: BaseBoardInfo{ 41 Vendor: "Oracle Corporation", 42 Model: "VirtualBox", 43 Version: "1.2", 44 SerialNumber: "0", 45 AssetTag: "", 46 }, 47 ChassisInfo: ChassisInfo{ 48 Vendor: "Oracle Corporation", 49 Model: "", 50 Version: "", 51 SerialNumber: "", 52 AssetTag: "", 53 Type: "1", 54 }, 55 }, biosInfo) 56 } 57 58 func TestManagerMacos(t *testing.T) { 59 conn, err := mock.New("./testdata/macos.toml", nil) 60 require.NoError(t, err) 61 platform, ok := detector.DetectOS(conn) 62 require.True(t, ok) 63 64 mm, err := ResolveManager(conn, platform) 65 require.NoError(t, err) 66 biosInfo, err := mm.Info() 67 require.NoError(t, err) 68 assert.Equal(t, &SmBiosInfo{ 69 BIOS: BiosInfo{ 70 Vendor: "Apple Inc.", 71 Version: "170.0.0.0.0", 72 ReleaseDate: "06/17/2019", 73 }, 74 SysInfo: SysInfo{ 75 Vendor: "Apple Inc.", 76 Model: "iMac17,1", 77 Version: "1.0", 78 SerialNumber: "DAAAA111AA11", 79 UUID: "e126775d-2368-4f51-9863-76d5df0c8108", 80 Familiy: "", 81 SKU: "", 82 }, 83 BaseBoardInfo: BaseBoardInfo{ 84 Vendor: "Apple Inc.", 85 Model: "Mac-A111A1117AA1AA1A", 86 Version: "", 87 SerialNumber: "DAAAA111AA11", 88 AssetTag: "", 89 }, 90 ChassisInfo: ChassisInfo{ 91 Vendor: "Apple Inc.", 92 Model: "", 93 Version: "Mac-A111A1117AA1AA1A", 94 SerialNumber: "DAAAA111AA11", 95 AssetTag: "", 96 Type: "Laptop", 97 }, 98 }, biosInfo) 99 } 100 101 func TestManagerWindows(t *testing.T) { 102 conn, err := mock.New("./testdata/windows.toml", nil) 103 require.NoError(t, err) 104 platform, ok := detector.DetectOS(conn) 105 require.True(t, ok) 106 107 mm, err := ResolveManager(conn, platform) 108 require.NoError(t, err) 109 biosInfo, err := mm.Info() 110 require.NoError(t, err) 111 assert.Equal(t, &SmBiosInfo{ 112 BIOS: BiosInfo{ 113 Vendor: "VMware, Inc.", 114 Version: "VMW71.00V.16722896.B64.2008100651", 115 ReleaseDate: "20200810000000.000000+000", 116 }, 117 SysInfo: SysInfo{ 118 Vendor: "VMware, Inc.", 119 Model: "VMware7,1", 120 Version: "None", 121 SerialNumber: "", 122 UUID: "16BD4D56-6B98-23F9-493C-F6B14E7CFC0B", 123 Familiy: "", 124 SKU: "", 125 }, 126 BaseBoardInfo: BaseBoardInfo{ 127 Vendor: "Intel Corporation", 128 Model: "440BX Desktop Reference Platform", 129 Version: "None", 130 SerialNumber: "None", 131 AssetTag: "", 132 }, 133 ChassisInfo: ChassisInfo{ 134 Vendor: "No Enclosure", 135 Model: "", 136 Version: "N/A", 137 SerialNumber: "None", 138 AssetTag: "", 139 Type: "", 140 }, 141 }, biosInfo) 142 }