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']
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']
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'
def test_empty_facts(data): data['cluster']['facts']['cloud'] = '' with pytest.raises(click.ClickException): cluster._full_target(data['cluster'], data['components'], data['catalog'])
def test_missing_facts(data): data['cluster']['facts'].pop('cloud') with pytest.raises(click.ClickException): cluster._full_target(data['cluster'], data['components'], data['catalog'])