go.mondoo.com/cnquery@v0.0.0-20231005093811-59568235f6ea/providers/os/detector/windows/wmi_test.go (about) 1 // Copyright (c) Mondoo, Inc. 2 // SPDX-License-Identifier: BUSL-1.1 3 4 package windows 5 6 import ( 7 "strings" 8 "testing" 9 10 "github.com/stretchr/testify/assert" 11 ) 12 13 func TestWindowsWmic(t *testing.T) { 14 15 osVersion := 16 `Node,BootDevice,BuildNumber,BuildType,Caption,CodeSet,CountryCode,CreationClassName,CSCreationClassName,CSDVersion,CSName,CurrentTimeZone,DataExecutionPrevention_32BitApplications,DataExecutionPrevention_Available,DataExecutionPrevention_Drivers,DataExecutionPrevention_SupportPolicy,Debug,Description,Distributed,EncryptionLevel,ForegroundApplicationBoost,FreePhysicalMemory,FreeSpaceInPagingFiles,FreeVirtualMemory,InstallDate,LargeSystemCache,LastBootUpTime,LocalDateTime,Locale,Manufacturer,MaxNumberOfProcesses,MaxProcessMemorySize,MUILanguages,Name,NumberOfLicensedUsers,NumberOfProcesses,NumberOfUsers,OperatingSystemSKU,Organization,OSArchitecture,OSLanguage,OSProductSuite,OSType,OtherTypeDescription,PAEEnabled,PlusProductID,PlusVersionNumber,PortableOperatingSystem,Primary,ProductType,RegisteredUser,SerialNumber,ServicePackMajorVersion,ServicePackMinorVersion,SizeStoredInPagingFiles,Status,SuiteMask,SystemDevice,SystemDirectory,SystemDrive,TotalSwapSpaceSize,TotalVirtualMemorySize,TotalVisibleMemorySize,Version,WindowsDirectory 17 VAGRANT-2016,\\Device\\HarddiskVolume1,14393,Multiprocessor Free,Microsoft Windows Server 2016 Standard Evaluation,1252,1,Win32_OperatingSystem,Win32_ComputerSystem,,VAGRANT-2016,-420,TRUE,TRUE,TRUE,3,FALSE,,FALSE,256,2,1629000,1179648,2833804,20180313201557.000000-420,,20180630024418.280385-420,20180630024734.124000-420,0409,Microsoft Corporation,4294967295,137438953344,{en-US},Microsoft Windows Server 2016 Standard Evaluation|C:\\Windows|\\Device\\Harddisk0\\Partition2,0,35,1,79,Vagrant,64-bit,1033,272,18,,,,,FALSE,TRUE,3,,00378-00000-00000-AA739,0,0,1179648,OK,272,\\Device\\HarddiskVolume2,C:\\Windows\\system32,C:,,3276340,2096692,10.0.14393,C:\\Windows 18 ` 19 20 m, err := ParseWinWmicOS(strings.NewReader(osVersion)) 21 assert.Nil(t, err) 22 23 assert.Equal(t, "14393", m.BuildNumber, "buildnumber should be parsed properly") 24 assert.Equal(t, "10.0.14393", m.Version, "version should be parsed properly") 25 assert.Equal(t, "Microsoft Windows Server 2016 Standard Evaluation", m.Caption, "caption should be parsed properly") 26 assert.Equal(t, "", m.Description, "description should be parsed properly") 27 assert.Equal(t, "Microsoft Corporation", m.Manufacturer, "manufacturer should be parsed properly") 28 assert.Equal(t, "64-bit", m.OSArchitecture, "os architecture should be parsed properly") 29 assert.Equal(t, "18", m.OSType, "os type should be parsed properly") 30 // 1: workstation, 2: domain controller, 3: server 31 assert.Equal(t, "3", m.ProductType, "product type should be parsed properly") 32 }