12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import pytest
- from openshift_checks.memory_availability import MemoryAvailability
- @pytest.mark.parametrize('group_names,is_active', [
- (['masters'], True),
- (['nodes'], True),
- (['etcd'], True),
- (['masters', 'nodes'], True),
- (['masters', 'etcd'], True),
- ([], False),
- (['lb'], False),
- (['nfs'], False),
- ])
- def test_is_active(group_names, is_active):
- task_vars = dict(
- group_names=group_names,
- )
- assert MemoryAvailability.is_active(task_vars=task_vars) == is_active
- @pytest.mark.parametrize('group_names,ansible_memtotal_mb', [
- (
- ['masters'],
- 17200,
- ),
- (
- ['nodes'],
- 8200,
- ),
- (
- ['etcd'],
- 22200,
- ),
- (
- ['masters', 'nodes'],
- 17000,
- ),
- ])
- def test_succeeds_with_recommended_memory(group_names, ansible_memtotal_mb):
- task_vars = dict(
- group_names=group_names,
- ansible_memtotal_mb=ansible_memtotal_mb,
- )
- check = MemoryAvailability(execute_module=fake_execute_module)
- result = check.run(tmp=None, task_vars=task_vars)
- assert not result.get('failed', False)
- @pytest.mark.parametrize('group_names,ansible_memtotal_mb,extra_words', [
- (
- ['masters'],
- 0,
- ['0.0 GB'],
- ),
- (
- ['nodes'],
- 100,
- ['0.1 GB'],
- ),
- (
- ['etcd'],
- -1,
- ['0.0 GB'],
- ),
- (
- ['nodes', 'masters'],
- # enough memory for a node, not enough for a master
- 11000,
- ['11.0 GB'],
- ),
- ])
- def test_fails_with_insufficient_memory(group_names, ansible_memtotal_mb, extra_words):
- task_vars = dict(
- group_names=group_names,
- ansible_memtotal_mb=ansible_memtotal_mb,
- )
- check = MemoryAvailability(execute_module=fake_execute_module)
- result = check.run(tmp=None, task_vars=task_vars)
- assert result['failed']
- for word in 'below recommended'.split() + extra_words:
- assert word in result['msg']
- def fake_execute_module(*args):
- raise AssertionError('this function should not be called')
|