From 10e963421303b66c1aee853b779fd92f1333c45c Mon Sep 17 00:00:00 2001 From: Major Hayden Date: Fri, 10 Mar 2017 11:48:45 -0600 Subject: [PATCH] Tests for remaining OpenStack modules (#22) --- monitorstack/plugins/os_vm_used_disk.py | 2 +- monitorstack/plugins/os_vm_used_ram.py | 2 +- tests/test_os_vm.py | 56 +++++++++++++++++++++---- 3 files changed, 49 insertions(+), 11 deletions(-) diff --git a/monitorstack/plugins/os_vm_used_disk.py b/monitorstack/plugins/os_vm_used_disk.py index 050880e..80837cf 100644 --- a/monitorstack/plugins/os_vm_used_disk.py +++ b/monitorstack/plugins/os_vm_used_disk.py @@ -46,8 +46,8 @@ def cli(ctx, config_file): used_collection = collections.Counter() nova_config = utils.read_config(config_file=config_file)['nova'] _ost = ost.OpenStack(os_auth_args=nova_config) - flavors = _ost.get_flavors() try: + flavors = _ost.get_flavors() variables = output['variables'] for used in _ost.get_consumer_usage(): flavor = flavors[used['flavor']['id']] diff --git a/monitorstack/plugins/os_vm_used_ram.py b/monitorstack/plugins/os_vm_used_ram.py index 2d2ce85..19650e9 100644 --- a/monitorstack/plugins/os_vm_used_ram.py +++ b/monitorstack/plugins/os_vm_used_ram.py @@ -46,8 +46,8 @@ def cli(ctx, config_file): used_collection = collections.Counter() nova_config = utils.read_config(config_file=config_file)['nova'] _ost = ost.OpenStack(os_auth_args=nova_config) - flavors = _ost.get_flavors() try: + flavors = _ost.get_flavors() variables = output['variables'] for used in _ost.get_consumer_usage(): flavor = flavors[used['flavor']['id']] diff --git a/tests/test_os_vm.py b/tests/test_os_vm.py index 29994af..af07dd2 100644 --- a/tests/test_os_vm.py +++ b/tests/test_os_vm.py @@ -58,6 +58,8 @@ def mock_get_flavors(self): 1: { 'name': 'flavor_one', 'vcpus': 2, + 'disk': 10, + 'ram': 1024, } } @@ -143,14 +145,50 @@ class TestOs(object): assert result['measurement_name'] == 'os_vm_used_cores' assert result['meta'] == {'used': 'cores'} - def test_os_vm_used_disk(self): - """Ensure the run() method works.""" - pass + def test_os_vm_used_disk_success(self, monkeypatch): + """Ensure os_vm_used_disk method works with success.""" + monkeypatch.setattr(Ost, 'get_flavors', mock_get_flavors) + monkeypatch.setattr(Ost, 'get_consumer_usage', mock_get_consumer_usage) - def test_os_vm_used_instances(self): - """Ensure the run() method works.""" - pass + result = _runner('os_vm_used_disk') + assert result['measurement_name'] == 'os_vm_used_disk' + assert result['meta']['used'] == 'disk' + assert result['meta']['flavor_one'] - def test_os_vm_used_ram(self): - """Ensure the run() method works.""" - pass + def test_os_vm_used_disk_failure(self): + """Ensure os_vm_used_disk method works with failure.""" + result = _runner('os_vm_used_disk') + assert result['measurement_name'] == 'os_vm_used_disk' + assert result['meta'] == {'used': 'disk'} + + def test_os_vm_used_instance_success(self, monkeypatch): + """Ensure os_vm_used_instance method works with success.""" + monkeypatch.setattr(Ost, 'get_consumer_usage', mock_get_consumer_usage) + + result = _runner('os_vm_used_instance') + assert result['measurement_name'] == 'os_vm_used_instance' + assert result['meta']['used'] == 'instances' + assert result['variables'] == {'test_name': 1} + + def test_os_vm_used_instance_failure(self): + """Ensure os_vm_used_instance method works with failure.""" + result = _runner('os_vm_used_instance') + assert result['measurement_name'] == 'os_vm_used_instance' + assert result['meta'] == {'used': 'instances'} + + def test_os_vm_used_ram_success(self, monkeypatch): + """Ensure os_vm_used_ram method works with success.""" + monkeypatch.setattr(Ost, 'get_flavors', mock_get_flavors) + monkeypatch.setattr(Ost, 'get_consumer_usage', mock_get_consumer_usage) + + result = _runner('os_vm_used_ram') + assert result['measurement_name'] == 'os_vm_used_ram' + assert result['meta']['used'] == 'ram' + assert result['meta']['flavor_one'] + assert result['variables'] == {'test_name': 1024} + + def test_os_vm_used_ram_failure(self): + """Ensure os_vm_used_ram method works with failure.""" + result = _runner('os_vm_used_ram') + assert result['measurement_name'] == 'os_vm_used_ram' + assert result['meta'] == {'used': 'ram'}