Ignore md5_hash in plan_summary

This commit is contained in:
Julio Castillo
2026-04-27 09:21:31 +02:00
committed by Wiktor Niesiobędzki
parent fbd0af9a88
commit ff5cd25869
3 changed files with 23 additions and 2 deletions

View File

@@ -144,6 +144,17 @@ def plan_summary(module_path, basedir, tf_var_files=None, extra_files=None,
return PlanSummary(values, dict(counts), outputs) 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') @pytest.fixture(name='plan_summary')
def plan_summary_fixture(request): def plan_summary_fixture(request):
"""Return a function to generate a PlanSummary. """Return a function to generate a PlanSummary.

View File

@@ -39,6 +39,10 @@ except ImportError:
sys.path.append(str(BASEDIR / 'tests')) sys.path.append(str(BASEDIR / 'tests'))
import fixtures import fixtures
FILTERED_ATTRIBUTES = [
'source_md5hash',
]
@click.command() @click.command()
@click.option('--example', default=False, is_flag=True) @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, summary = fixtures.plan_summary(module, Path(), tfvars,
extra_files=extra_files, extra_files=extra_files,
extra_dirs=extra_dirs) 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})) print(yaml.dump({'counts': summary.counts}))
outputs = { outputs = {
k: v.get('value', '__missing__') for k, v in summary.outputs.items() k: v.get('value', '__missing__') for k, v in summary.outputs.items()

View File

@@ -27,6 +27,10 @@ except ImportError:
sys.path.append(str(BASEDIR / 'tests')) sys.path.append(str(BASEDIR / 'tests'))
import fixtures import fixtures
FILTERED_ATTRIBUTES = [
'source_md5hash',
]
@click.command() @click.command()
@click.argument('test_file', type=click.Path(), nargs=1) @click.argument('test_file', type=click.Path(), nargs=1)
@@ -52,7 +56,8 @@ def main(test_file, test_name):
extra_files=extra_files, extra_files=extra_files,
extra_dirs=extra_dirs) 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})) print(yaml.dump({'counts': summary.counts}))
outputs = { outputs = {
k: v.get('value', '__missing__') for k, v in summary.outputs.items() k: v.get('value', '__missing__') for k, v in summary.outputs.items()