7
7
import pytz
8
8
from pyVmomi import vim , vmodl
9
9
from twisted .internet import defer
10
+ from twisted .internet .error import ReactorAlreadyRunning
10
11
from twisted .web .server import NOT_DONE_YET
11
12
12
13
from vmware_exporter .vmware_exporter import main , HealthzResource , VmwareCollector , VMWareMetricsResource
@@ -526,19 +527,19 @@ def _fake_get_vms(*args, **kwargs):
526
527
527
528
@pytest_twisted .inlineCallbacks
528
529
def test_vmware_get_inventory ():
529
- content = mock .Mock ()
530
+ content = mock .Mock (spec = vim . ServiceInstanceContent )
530
531
531
532
# Compute case 1
532
- host_1 = mock .Mock ()
533
+ host_1 = mock .Mock (spec = vim . HostSystem )
533
534
host_1 ._moId = 'host:1'
534
535
host_1 .name = 'host-1'
535
536
host_1 .summary .config .name = 'host-1.'
536
537
537
- folder_1 = mock .Mock ()
538
+ folder_1 = mock .Mock (spec = vim . ComputeResource )
538
539
folder_1 .host = [host_1 ]
539
540
540
541
# Computer case 2
541
- host_2 = mock .Mock ()
542
+ host_2 = mock .Mock (spec = vim . HostSystem )
542
543
host_2 ._moId = 'host:2'
543
544
host_2 .name = 'host-2'
544
545
host_2 .summary .config .name = 'host-2.'
@@ -548,12 +549,12 @@ def test_vmware_get_inventory():
548
549
folder_2 .__dict__ ['host' ] = [host_2 ]
549
550
550
551
# Folders case
551
- host_3 = mock .Mock ()
552
+ host_3 = mock .Mock (spec = vim . HostSystem )
552
553
host_3 ._moId = 'host:3'
553
554
host_3 .name = 'host-3'
554
555
host_3 .summary .config .name = 'host-3.'
555
556
556
- folder_3 = mock .Mock ()
557
+ folder_3 = mock .Mock (spec = vim . ComputeResource )
557
558
folder_3 .host = [host_3 ]
558
559
559
560
folder_4 = vim .Folder ('folder:4' )
@@ -576,12 +577,20 @@ def test_vmware_get_inventory():
576
577
datastore_2_folder .__dict__ ['childEntity' ] = [datastore_2 ]
577
578
datastore_2_folder .__dict__ ['name' ] = 'datastore2-folder'
578
579
579
- data_center_1 = mock .Mock ()
580
+ data_center_1 = mock .Mock (spec = vim . Datacenter )
580
581
data_center_1 .name = 'dc-1'
581
- data_center_1 .hostFolder .childEntity = [folder_1 , folder_2 , folder_5 ]
582
- data_center_1 .datastoreFolder .childEntity = [datastore_1 , datastore_2_folder ]
582
+ data_center_1_hostfolder = mock .Mock (spec = vim .Folder )
583
+ data_center_1_hostfolder .childEntity = [folder_1 , folder_2 , folder_5 ]
584
+ data_center_1 .hostFolder = data_center_1_hostfolder
585
+
586
+ dc1_datastoreFolder = mock .Mock (spec = vim .Folder )
587
+ dc1_datastoreFolder .childEntity = [datastore_1 , datastore_2_folder ]
583
588
584
- content .rootFolder .childEntity = [data_center_1 ]
589
+ data_center_1 .datastoreFolder = dc1_datastoreFolder
590
+
591
+ rootFolder1 = mock .Mock (spec = vim .Folder )
592
+ rootFolder1 .childEntity = [data_center_1 ]
593
+ content .rootFolder = rootFolder1
585
594
586
595
collect_only = {
587
596
'vms' : True ,
@@ -895,6 +904,16 @@ def test_config_env_multiple_sections():
895
904
}
896
905
897
906
907
+ def test_invalid_loglevel_cli_argument ():
908
+ with pytest .raises (ValueError ):
909
+ main (['-l' , 'dog' ])
910
+
911
+
912
+ def test_valid_loglevel_cli_argument ():
913
+ with pytest .raises (ReactorAlreadyRunning ):
914
+ main (['-l' , 'INFO' ])
915
+
916
+
898
917
def test_main ():
899
918
with pytest .raises (SystemExit ):
900
- main (['-h' ])
919
+ main (['-h' , '-l debug' ])
0 commit comments