12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import pytest
- from render import Render
- @pytest.fixture
- def mock_values():
- return {
- "images": {
- "test_image": {
- "repository": "nginx",
- "tag": "latest",
- }
- },
- }
- def test_add_disallowed_label(mock_values):
- render = Render(mock_values)
- c1 = render.add_container("test_container", "test_image")
- c1.healthcheck.disable()
- with pytest.raises(Exception):
- c1.labels.add_label("com.docker.compose.service", "test_service")
- def test_add_duplicate_label(mock_values):
- render = Render(mock_values)
- c1 = render.add_container("test_container", "test_image")
- c1.healthcheck.disable()
- c1.labels.add_label("my.custom.label", "test_value")
- with pytest.raises(Exception):
- c1.labels.add_label("my.custom.label", "test_value1")
- def test_add_label_on_non_existing_container(mock_values):
- mock_values["labels"] = [
- {
- "key": "my.custom.label1",
- "value": "test_value1",
- "containers": ["test_container", "test_container2"],
- },
- ]
- render = Render(mock_values)
- c1 = render.add_container("test_container", "test_image")
- c1.healthcheck.disable()
- with pytest.raises(Exception):
- render.render()
- def test_add_label(mock_values):
- render = Render(mock_values)
- c1 = render.add_container("test_container", "test_image")
- c1.healthcheck.disable()
- c1.labels.add_label("my.custom.label1", "test_value1")
- c1.labels.add_label("my.custom.label2", "test_value2")
- output = render.render()
- assert output["services"]["test_container"]["labels"] == {
- "my.custom.label1": "test_value1",
- "my.custom.label2": "test_value2",
- }
- def test_auto_add_labels(mock_values):
- mock_values["labels"] = [
- {
- "key": "my.custom.label1",
- "value": "test_value1",
- "containers": ["test_container", "test_container2"],
- },
- {
- "key": "my.custom.label2",
- "value": "test_value2",
- "containers": ["test_container"],
- },
- ]
- render = Render(mock_values)
- c1 = render.add_container("test_container", "test_image")
- c2 = render.add_container("test_container2", "test_image")
- c1.healthcheck.disable()
- c2.healthcheck.disable()
- output = render.render()
- assert output["services"]["test_container"]["labels"] == {
- "my.custom.label1": "test_value1",
- "my.custom.label2": "test_value2",
- }
- assert output["services"]["test_container2"]["labels"] == {
- "my.custom.label1": "test_value1",
- }
|