Пример #1
0
def test_optional_fact_region_empty(data):
    data['cluster']['facts']['region'] = ''
    target = cluster._full_target(data['cluster'], data['components'],
                                  data['catalog'])
    facts = data['cluster']['facts']
    assert f"global.cloud.{facts['cloud']}.{facts['region']}" not in target[
        'classes']
Пример #2
0
def test_optional_fact_lieutenant_instance(data):
    data['cluster']['facts']['lieutenant-instance'] = 'lieutenant-dev'
    target = cluster._full_target(data['cluster'], data['components'],
                                  data['catalog'])
    facts = data['cluster']['facts']
    assert f"global.lieutenant-instance.{facts['lieutenant-instance']}" in target[
        'classes']
Пример #3
0
def test_render_target(data):
    target = cluster._full_target(data['cluster'], data['components'],
                                  data['catalog'])
    facts = data['cluster']['facts']
    all_classes = [f"defaults.{cn}" for cn in data['components']] + [
        'global.common', f"global.distribution.{facts['distribution']}",
        f"global.cloud.{facts['cloud']}",
        f"{data['cluster']['tenant']}.{data['cluster']['id']}"
    ]
    assert target != ""
    assert len(target['classes']) == len(all_classes), \
        "rendered target includes different amount of classes"
    for i in range(len(all_classes)):
        assert target['classes'][i] == all_classes[i]
    assert target['parameters']['target_name'] == 'cluster'
Пример #4
0
def test_empty_facts(data):
    data['cluster']['facts']['cloud'] = ''
    with pytest.raises(click.ClickException):
        cluster._full_target(data['cluster'], data['components'],
                             data['catalog'])
Пример #5
0
def test_missing_facts(data):
    data['cluster']['facts'].pop('cloud')
    with pytest.raises(click.ClickException):
        cluster._full_target(data['cluster'], data['components'],
                             data['catalog'])