test_env.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. # -*- coding: utf-8 -*-
  2. """
  3. Test case for env sdb module
  4. """
  5. from __future__ import absolute_import, print_function, unicode_literals
  6. import os
  7. import textwrap
  8. import pytest
  9. import salt.utils.files
  10. from tests.support.case import ModuleCase
  11. from tests.support.mixins import SaltReturnAssertsMixin
  12. from tests.support.runtests import RUNTIME_VARS
  13. from tests.support.unit import skipIf
  14. @pytest.mark.windows_whitelisted
  15. class EnvTestCase(ModuleCase, SaltReturnAssertsMixin):
  16. def setUp(self):
  17. self.state_name = "test_sdb_env"
  18. self.state_file_name = self.state_name + ".sls"
  19. self.state_file_set_var = os.path.join(
  20. RUNTIME_VARS.BASE_FILES, self.state_file_name
  21. )
  22. with salt.utils.files.fopen(self.state_file_set_var, "w") as wfh:
  23. wfh.write(
  24. textwrap.dedent(
  25. """\
  26. set some env var:
  27. cmd.run:
  28. - name: echo {{ salt['sdb.set']('sdb://osenv/foo', 'bar') }}
  29. - order: 1
  30. {% if salt['sdb.get']('sdb://osenv/foo') == 'bar' %}
  31. always-changes-and-succeeds:
  32. test.succeed_with_changes:
  33. - name: foo
  34. {% else %}
  35. always-changes-and-fails:
  36. test.fail_with_changes:
  37. - name: foo
  38. {% endif %}
  39. """
  40. )
  41. )
  42. def tearDown(self):
  43. os.remove(self.state_file_set_var)
  44. @skipIf(True, "SLOWTEST skip")
  45. def test_env_module_sets_key(self):
  46. state_key = "test_|-always-changes-and-succeeds_|-foo_|-succeed_with_changes"
  47. ret = self.run_function("state.sls", [self.state_name])
  48. self.assertTrue(ret[state_key]["result"])