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  }