Пример #1
0
def test_conditions_returns_all_native_conditions(node: agent.Node):
    conditions = node.conditions()
    assert conditions is not None
    conditions_dict = conditions.dict()
    assert len(conditions_dict) == len(agent.NATIVE_NODE_CONDITION_TYPES)
    assert all(condition_type.lower() in conditions_dict
               for condition_type in agent.NATIVE_NODE_CONDITION_TYPES)
Пример #2
0
def test_conditions_falsy_vs_status(node: agent.Node):
    conditions = node.conditions()
    assert conditions is not None

    falsy_conditions = [
        c for _, c in conditions if isinstance(c, section.FalsyNodeCondition)
    ]
    assert len(falsy_conditions) > 0
    assert all(c.is_ok() is (c.status == api.NodeConditionStatus.FALSE)
               for c in falsy_conditions)
Пример #3
0
def test_conditions_truthy_vs_status(node: agent.Node):
    conditions = node.conditions()
    assert conditions is not None

    truthy_conditions = [
        c for _, c in conditions if isinstance(c, section.TruthyNodeCondition)
    ]
    assert len(truthy_conditions) > 0
    assert all(c.is_ok() is (c.status == api.NodeConditionStatus.TRUE)
               for c in truthy_conditions)
Пример #4
0
def test_conditions_respects_status_conditions(node: agent.Node):
    api_conditions = node.status.conditions
    assert api_conditions is not None

    native_conditions = [
        cond for cond in api_conditions
        if cond.type_ in agent.NATIVE_NODE_CONDITION_TYPES
    ]

    conditions = node.conditions()
    assert conditions is not None
    conditions_dict = conditions.dict()
    assert len(conditions_dict) == len(native_conditions)
    assert all(
        conditions_dict[condition.type_.lower()]["status"] == condition.status
        for condition in native_conditions)
Пример #5
0
def test_conditions_with_status_conditions_none(node: agent.Node):
    node.status.conditions = None
    conditions = node.conditions()
    assert conditions is None