Ignore md5_hash in plan_summary
This commit is contained in:
committed by
Wiktor Niesiobędzki
parent
fbd0af9a88
commit
ff5cd25869
@@ -144,6 +144,17 @@ def plan_summary(module_path, basedir, tf_var_files=None, extra_files=None,
|
||||
return PlanSummary(values, dict(counts), outputs)
|
||||
|
||||
|
||||
def filter_plan_values(values, ignored_attributes):
|
||||
"""Remove ignored attributes from plan values."""
|
||||
if not ignored_attributes:
|
||||
return values
|
||||
for addr, resource_values in values.items():
|
||||
if isinstance(resource_values, dict):
|
||||
for attr in ignored_attributes:
|
||||
resource_values.pop(attr, None)
|
||||
return values
|
||||
|
||||
|
||||
@pytest.fixture(name='plan_summary')
|
||||
def plan_summary_fixture(request):
|
||||
"""Return a function to generate a PlanSummary.
|
||||
|
||||
@@ -39,6 +39,10 @@ except ImportError:
|
||||
sys.path.append(str(BASEDIR / 'tests'))
|
||||
import fixtures
|
||||
|
||||
FILTERED_ATTRIBUTES = [
|
||||
'source_md5hash',
|
||||
]
|
||||
|
||||
|
||||
@click.command()
|
||||
@click.option('--example', default=False, is_flag=True)
|
||||
@@ -62,7 +66,8 @@ def main(example, module, tfvars, extra_files, extra_dirs):
|
||||
summary = fixtures.plan_summary(module, Path(), tfvars,
|
||||
extra_files=extra_files,
|
||||
extra_dirs=extra_dirs)
|
||||
print(yaml.dump({'values': summary.values}))
|
||||
values = fixtures.filter_plan_values(summary.values, FILTERED_ATTRIBUTES)
|
||||
print(yaml.dump({'values': values}))
|
||||
print(yaml.dump({'counts': summary.counts}))
|
||||
outputs = {
|
||||
k: v.get('value', '__missing__') for k, v in summary.outputs.items()
|
||||
|
||||
@@ -27,6 +27,10 @@ except ImportError:
|
||||
sys.path.append(str(BASEDIR / 'tests'))
|
||||
import fixtures
|
||||
|
||||
FILTERED_ATTRIBUTES = [
|
||||
'source_md5hash',
|
||||
]
|
||||
|
||||
|
||||
@click.command()
|
||||
@click.argument('test_file', type=click.Path(), nargs=1)
|
||||
@@ -52,7 +56,8 @@ def main(test_file, test_name):
|
||||
extra_files=extra_files,
|
||||
extra_dirs=extra_dirs)
|
||||
|
||||
print(yaml.dump({'values': summary.values}))
|
||||
values = fixtures.filter_plan_values(summary.values, FILTERED_ATTRIBUTES)
|
||||
print(yaml.dump({'values': values}))
|
||||
print(yaml.dump({'counts': summary.counts}))
|
||||
outputs = {
|
||||
k: v.get('value', '__missing__') for k, v in summary.outputs.items()
|
||||
|
||||
Reference in New Issue
Block a user