test_sysctls.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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_sysctl(mock_values):
  14. render = Render(mock_values)
  15. c1 = render.add_container("test_container", "test_image")
  16. c1.healthcheck.disable()
  17. c1.sysctls.add("net.ipv4.ip_forward", 1)
  18. c1.sysctls.add("fs.mqueue.msg_max", 100)
  19. output = render.render()
  20. assert output["services"]["test_container"]["sysctls"] == {"net.ipv4.ip_forward": "1", "fs.mqueue.msg_max": "100"}
  21. def test_add_net_sysctl_with_host_network(mock_values):
  22. render = Render(mock_values)
  23. c1 = render.add_container("test_container", "test_image")
  24. c1.healthcheck.disable()
  25. c1.set_network_mode("host")
  26. c1.sysctls.add("net.ipv4.ip_forward", 1)
  27. with pytest.raises(Exception):
  28. render.render()
  29. def test_add_duplicate_sysctl(mock_values):
  30. render = Render(mock_values)
  31. c1 = render.add_container("test_container", "test_image")
  32. c1.healthcheck.disable()
  33. c1.sysctls.add("net.ipv4.ip_forward", 1)
  34. with pytest.raises(Exception):
  35. c1.sysctls.add("net.ipv4.ip_forward", 0)
  36. def test_add_empty_sysctl(mock_values):
  37. render = Render(mock_values)
  38. c1 = render.add_container("test_container", "test_image")
  39. c1.healthcheck.disable()
  40. with pytest.raises(Exception):
  41. c1.sysctls.add("", 1)
  42. def test_add_sysctl_with_invalid_key(mock_values):
  43. render = Render(mock_values)
  44. c1 = render.add_container("test_container", "test_image")
  45. c1.healthcheck.disable()
  46. c1.sysctls.add("invalid.sysctl", 1)
  47. with pytest.raises(Exception):
  48. render.render()