mirror of
https://github.com/basnijholt/compose-farm.git
synced 2026-02-03 14:13:26 +00:00
Fix external network name parsing (#152)
* fix: external network name parsing Compose network definitions may have a "name" field defining the actual network name, which may differ from the key used in the compose file e.g. when overriding the default compose network, or using a network name containing special characters that are not valid YAML keys. Fix: check for "name" field on definition and use that if present, else fall back to key. * tests: Add test for external network name field parsing Covers the case where a network definition has a "name" field that differs from the YAML key (e.g., default key with name: compose-net). --------- Co-authored-by: Bas Nijholt <bas@nijho.lt>
This commit is contained in:
committed by
GitHub
parent
a5eac339db
commit
d167da9d63
@@ -338,6 +338,26 @@ def test_parse_external_networks_missing_compose(tmp_path: Path) -> None:
|
||||
assert networks == []
|
||||
|
||||
|
||||
def test_parse_external_networks_with_name_field(tmp_path: Path) -> None:
|
||||
"""Network with 'name' field uses actual name, not key."""
|
||||
cfg = Config(
|
||||
compose_dir=tmp_path,
|
||||
hosts={"host1": Host(address="192.168.1.10")},
|
||||
stacks={"app": "host1"},
|
||||
)
|
||||
compose_path = tmp_path / "app" / "compose.yaml"
|
||||
_write_compose(
|
||||
compose_path,
|
||||
{
|
||||
"services": {"app": {"image": "nginx"}},
|
||||
"networks": {"default": {"name": "compose-net", "external": True}},
|
||||
},
|
||||
)
|
||||
|
||||
networks = parse_external_networks(cfg, "app")
|
||||
assert networks == ["compose-net"]
|
||||
|
||||
|
||||
class TestExtractWebsiteUrls:
|
||||
"""Test extract_website_urls function."""
|
||||
|
||||
|
||||
Reference in New Issue
Block a user