test_dns.py 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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_auto_add_dns_opts(mock_values):
  14. mock_values["network"] = {"dns_opts": ["attempts:3", "opt1", "opt2"]}
  15. render = Render(mock_values)
  16. c1 = render.add_container("test_container", "test_image")
  17. c1.healthcheck.disable()
  18. output = render.render()
  19. assert output["services"]["test_container"]["dns_opt"] == ["attempts:3", "opt1", "opt2"]
  20. def test_auto_add_dns_searches(mock_values):
  21. mock_values["network"] = {"dns_searches": ["search1", "search2"]}
  22. render = Render(mock_values)
  23. c1 = render.add_container("test_container", "test_image")
  24. c1.healthcheck.disable()
  25. output = render.render()
  26. assert output["services"]["test_container"]["dns_search"] == ["search1", "search2"]
  27. def test_auto_add_dns_nameservers(mock_values):
  28. mock_values["network"] = {"dns_nameservers": ["nameserver1", "nameserver2"]}
  29. render = Render(mock_values)
  30. c1 = render.add_container("test_container", "test_image")
  31. c1.healthcheck.disable()
  32. output = render.render()
  33. assert output["services"]["test_container"]["dns"] == ["nameserver1", "nameserver2"]
  34. def test_add_duplicate_dns_nameservers(mock_values):
  35. mock_values["network"] = {"dns_nameservers": ["nameserver1", "nameserver1"]}
  36. render = Render(mock_values)
  37. with pytest.raises(Exception):
  38. render.add_container("test_container", "test_image")
  39. def test_add_duplicate_dns_searches(mock_values):
  40. mock_values["network"] = {"dns_searches": ["search1", "search1"]}
  41. render = Render(mock_values)
  42. with pytest.raises(Exception):
  43. render.add_container("test_container", "test_image")
  44. def test_add_duplicate_dns_opts(mock_values):
  45. mock_values["network"] = {"dns_opts": ["attempts:3", "attempts:5"]}
  46. render = Render(mock_values)
  47. with pytest.raises(Exception):
  48. render.add_container("test_container", "test_image")