This commit is contained in:
Jörn-Michael Miehe 2021-11-03 17:35:36 +01:00
parent 3686731f29
commit b4684998fd
4 changed files with 54 additions and 11 deletions

View file

@ -10,17 +10,15 @@ class TestDefault:
assert i.config is not None assert i.config is not None
assert len(i.config.projects) == 1 assert len(i.config.projects) == 1
p = i.config.projects[0] pc = i.config.projects[0]
assert p.name == "hello-world.project" assert pc.name == "hello-world.project"
ss = i.get_services(p.name) p = i.get_project("hello-world.project")
assert len(ss.content) == 5 assert p.directory == Path("example/hello-world.project")
s = ss.content[0] assert i.get_project("nonexistent") is None
assert s.name == "greeter"
def test_empty(self): def test_empty(self):
i = Instance() i = Instance()

31
tests/test_project.py Normal file
View file

@ -0,0 +1,31 @@
from pathlib import Path
import pytest
from kiwi_scp._constants import COMPOSE_FILE_NAME
from kiwi_scp.instance import Project
class TestDefault:
def test_example(self):
p = Project(Path("example/hello-world.project"))
ss = p.get_services()
assert len(ss.content) == 5
s = ss.content[0]
assert s.name == "greeter"
ss2 = p.get_services(["nonexistent"])
assert len(ss2.content) == 0
def test_empty(self):
p = Project(Path("nonexistent"))
with pytest.raises(FileNotFoundError) as exc_info:
p.get_services()
assert exc_info.value.filename == f"nonexistent/{COMPOSE_FILE_NAME}"

View file

@ -9,7 +9,7 @@ class TestDefault:
def test_empty(self): def test_empty(self):
s = Service( s = Service(
name="s", name="s",
description=CommentedMap(), content=CommentedMap(),
) )
assert s.name == "s" assert s.name == "s"
@ -18,7 +18,7 @@ class TestDefault:
def test_no_configs(self): def test_no_configs(self):
s = Service( s = Service(
name="s", name="s",
description=CommentedMap({ content=CommentedMap({
"image": "repo/image:tag", "image": "repo/image:tag",
}), }),
) )
@ -29,7 +29,7 @@ class TestDefault:
def test_no_configs_in_volumes(self): def test_no_configs_in_volumes(self):
s = Service( s = Service(
name="s", name="s",
description=CommentedMap({ content=CommentedMap({
"image": "repo/image:tag", "image": "repo/image:tag",
"volumes": [ "volumes": [
"docker_volume/third/dir:/path/to/third/mountpoint", "docker_volume/third/dir:/path/to/third/mountpoint",
@ -45,7 +45,7 @@ class TestDefault:
def test_with_configs(self): def test_with_configs(self):
s = Service( s = Service(
name="s", name="s",
description=CommentedMap({ content=CommentedMap({
"image": "repo/image:tag", "image": "repo/image:tag",
"volumes": [ "volumes": [
"${CONFDIR}/some/config:/path/to/some/config", "${CONFDIR}/some/config:/path/to/some/config",

14
tests/test_services.py Normal file
View file

@ -0,0 +1,14 @@
from ruamel.yaml import CommentedMap
from kiwi_scp.instance import Service, Services
class TestServices:
def test_empty(self):
s = Service(
name="s",
content=CommentedMap(),
)
ss = Services([s])
assert str(ss) == "services:\n s: {}"