test_depends.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import pytest
  2. from render import Render
  3. @pytest.fixture
  4. def mock_values():
  5. return {
  6. "images": {
  7. "test_image": {
  8. "repository": "nginx",
  9. "tag": "latest",
  10. }
  11. },
  12. }
  13. def test_add_dependency(mock_values):
  14. render = Render(mock_values)
  15. c1 = render.add_container("test_container", "test_image")
  16. c2 = render.add_container("test_container2", "test_image")
  17. c1.healthcheck.disable()
  18. c2.healthcheck.disable()
  19. c1.depends.add_dependency("test_container2", "service_started")
  20. output = render.render()
  21. assert output["services"]["test_container"]["depends_on"]["test_container2"] == {"condition": "service_started"}
  22. def test_add_dependency_invalid_condition(mock_values):
  23. render = Render(mock_values)
  24. c1 = render.add_container("test_container", "test_image")
  25. c1.healthcheck.disable()
  26. render.add_container("test_container2", "test_image")
  27. with pytest.raises(Exception):
  28. c1.depends.add_dependency("test_container2", "invalid_condition")
  29. def test_add_dependency_missing_container(mock_values):
  30. render = Render(mock_values)
  31. c1 = render.add_container("test_container", "test_image")
  32. c1.healthcheck.disable()
  33. with pytest.raises(Exception):
  34. c1.depends.add_dependency("test_container2", "service_started")
  35. def test_add_dependency_duplicate(mock_values):
  36. render = Render(mock_values)
  37. c1 = render.add_container("test_container", "test_image")
  38. render.add_container("test_container2", "test_image")
  39. c1.depends.add_dependency("test_container2", "service_started")
  40. c1.healthcheck.disable()
  41. with pytest.raises(Exception):
  42. c1.depends.add_dependency("test_container2", "service_started")