66 lines
1.7 KiB
Python
66 lines
1.7 KiB
Python
from pathlib import Path
|
|
|
|
from ruamel.yaml import CommentedMap
|
|
|
|
from kiwi_scp.service import Service
|
|
|
|
|
|
class TestDefault:
|
|
def test_empty(self):
|
|
s = Service(
|
|
name="s",
|
|
content=CommentedMap(),
|
|
parent_project=None,
|
|
)
|
|
|
|
assert s.name == "s"
|
|
assert list(s.configs) == []
|
|
|
|
def test_no_configs(self):
|
|
s = Service(
|
|
name="s",
|
|
content=CommentedMap({
|
|
"image": "repo/image:tag",
|
|
}),
|
|
parent_project=None,
|
|
)
|
|
|
|
assert s.name == "s"
|
|
assert list(s.configs) == []
|
|
|
|
def test_no_configs_in_volumes(self):
|
|
s = Service(
|
|
name="s",
|
|
content=CommentedMap({
|
|
"image": "repo/image:tag",
|
|
"volumes": [
|
|
"docker_volume/third/dir:/path/to/third/mountpoint",
|
|
"${KIWI_PROJECT}/some/dir:/path/to/some/mountpoint",
|
|
"$KIWI_PROJECT/other/dir:/path/to/other/mountpoint",
|
|
]
|
|
}),
|
|
parent_project=None,
|
|
)
|
|
|
|
assert s.name == "s"
|
|
assert list(s.configs) == []
|
|
|
|
def test_with_configs(self):
|
|
s = Service(
|
|
name="s",
|
|
content=CommentedMap({
|
|
"image": "repo/image:tag",
|
|
"volumes": [
|
|
"${KIWI_CONFIG}/some/config:/path/to/some/config",
|
|
"$KIWI_CONFIG/other/config:/path/to/other/config",
|
|
]
|
|
}),
|
|
parent_project=None,
|
|
)
|
|
|
|
assert s.name == "s"
|
|
assert len(list(s.configs)) == 2
|
|
assert list(s.configs) == [
|
|
Path("some/config"),
|
|
Path("other/config"),
|
|
]
|