(k("123 123 * *"), exactly('1', '2', '3')),
]
+
@pytest.mark.parametrize("spec_section_key,spec_section",
[ # noqa: E128
('h', 'hosts'),
daemons: List[DaemonDescription]
expected: List[str]
+
@pytest.mark.parametrize("service_type,placement,hosts,daemons,expected",
[ # noqa: E128
# just hosts
expected_len: int
in_set: List[str]
+
@pytest.mark.parametrize("service_type,placement,hosts,daemons,expected_len,in_set",
[ # noqa: E128
# just count
for h in [h.hostname for h in hosts]:
assert h in in_set
+
@pytest.mark.parametrize("service_type,placement,hosts,daemons,expected_len,must_have",
[ # noqa: E128
# hosts + (smaller) count, (more) existing
hosts: List[str]
daemons: List[DaemonDescription]
expected: str
+
+
@pytest.mark.parametrize("service_type,placement,hosts,daemons,expected",
[ # noqa: E128
# unknown host
get_daemons_func=lambda _: daemons).place()
assert str(e.value) == expected
+
class ActiveAssignmentTest(NamedTuple):
service_type: str
placement: PlacementSpec
get_daemons_func=lambda _: daemons).place()
assert sorted([h.hostname for h in hosts]) in expected
+
class OddMonsTest(NamedTuple):
service_type: str
placement: PlacementSpec