package_availability_test.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import pytest
  2. from openshift_checks.package_availability import PackageAvailability
  3. @pytest.mark.parametrize('task_vars,must_have_packages,must_not_have_packages', [
  4. (
  5. dict(openshift=dict(common=dict(service_type='openshift'))),
  6. set(),
  7. set(['openshift-master', 'openshift-node']),
  8. ),
  9. (
  10. dict(
  11. openshift=dict(common=dict(service_type='origin')),
  12. group_names=['masters'],
  13. ),
  14. set(['origin-master']),
  15. set(['origin-node']),
  16. ),
  17. (
  18. dict(
  19. openshift=dict(common=dict(service_type='atomic-openshift')),
  20. group_names=['nodes'],
  21. ),
  22. set(['atomic-openshift-node']),
  23. set(['atomic-openshift-master']),
  24. ),
  25. (
  26. dict(
  27. openshift=dict(common=dict(service_type='atomic-openshift')),
  28. group_names=['masters', 'nodes'],
  29. ),
  30. set(['atomic-openshift-master', 'atomic-openshift-node']),
  31. set(),
  32. ),
  33. ])
  34. def test_package_availability(task_vars, must_have_packages, must_not_have_packages):
  35. return_value = object()
  36. def execute_module(module_name=None, module_args=None, tmp=None, task_vars=None):
  37. assert module_name == 'check_yum_update'
  38. assert 'packages' in module_args
  39. assert set(module_args['packages']).issuperset(must_have_packages)
  40. assert not set(module_args['packages']).intersection(must_not_have_packages)
  41. return return_value
  42. check = PackageAvailability(execute_module=execute_module)
  43. result = check.run(tmp=None, task_vars=task_vars)
  44. assert result is return_value