From b95f63d2f059f8ba58fde7726c4b9116aa3a599f Mon Sep 17 00:00:00 2001 From: lekaf974 Date: Wed, 5 Feb 2025 23:01:45 -0500 Subject: [PATCH] test: enhance test suite Signed-off-by: lekaf974 --- .../fixtures/provisioners.custom.golden | 97 +++++++++++++------ .../testdata/provisioners.list.valid.golden | 56 ++++++----- 2 files changed, 96 insertions(+), 57 deletions(-) diff --git a/internal/command/fixtures/provisioners.custom.golden b/internal/command/fixtures/provisioners.custom.golden index 7fee447..d699a73 100644 --- a/internal/command/fixtures/provisioners.custom.golden +++ b/internal/command/fixtures/provisioners.custom.golden @@ -3,19 +3,31 @@ outputs: | o1: o1 o2: o2 + +- uri: template://test-provisioners/with-class-without-params + type: with-class-without-params + class: c1 + outputs: | + o1: o1 + o2: o2 + - uri: template://test-provisioners/without-class-with-params-in-outputs type: without-class-with-params-in-outputs outputs: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.po1 }}{{ fail "expected 'po1' param for the target workload name" }}{{ end }} o1: o1 o2: o2 -- uri: template://test-provisioners/with-class-without-params - type: with-class-without-params + +- uri: template://test-provisioners/with-class-with-params-in-outputs + type: with-class-with-params-in-outputs class: c1 outputs: | + {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} + {{ if not .Params.po1 }}{{ fail "expected 'po1' param for the target workload name" }}{{ end }} o1: o1 o2: o2 + - uri: template://test-provisioners/without-class-with-params-in-shared type: without-class-with-params-in-shared outputs: | @@ -23,7 +35,8 @@ o2: o2 shared: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.psh1 }}{{ fail "expected 'psh1' param for the target workload name" }}{{ end }} + - uri: template://test-provisioners/with-class-with-params-in-shared type: with-class-with-params-in-shared class: c1 @@ -32,7 +45,8 @@ o2: o2 shared: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.psh1 }}{{ fail "expected 'psh1' param for the target workload name" }}{{ end }} + - uri: template://test-provisioners/without-class-with-params-in-state type: without-class-with-params-in-state outputs: | @@ -40,71 +54,90 @@ o2: o2 state: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.psh1 }}{{ fail "expected 'psh1' param for the target workload name" }}{{ end }} + - uri: template://test-provisioners/with-class-with-params-in-state type: with-class-with-params-in-state class: c1 outputs: | o1: o1 o2: o2 + state: | + {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} + {{ if not .Params.pst1 }}{{ fail "expected 'pst1' param for the target workload name" }}{{ end }} + +- uri: template://test-provisioners/without-class-with-params-in-shared-outputs + type: without-class-with-params-in-shared-outputs + outputs: | + {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} + {{ if not .Params.po1 }}{{ fail "expected 'po1' param for the target workload name" }}{{ end }} + o1: o1 + o2: o2 + shared: | + {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} + {{ if not .Params.psh1 }}{{ fail "expected 'psh1' param for the target workload name" }}{{ end }} + +- uri: template://test-provisioners/with-class-with-params-in-shared-outputs + type: with-class-with-params-in-shared-outputs + class: c1 + outputs: | + {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} + {{ if not .Params.po1 }}{{ fail "expected 'po1' param for the target workload name" }}{{ end }} + o1: o1 + o2: o2 shared: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.psh1 }}{{ fail "expected 'psh1' param for the target workload name" }}{{ end }} + + - uri: template://test-provisioners/without-class-with-params-in-state-outputs type: without-class-with-params-in-state-outputs outputs: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.po1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.po1 }}{{ fail "expected 'po1' param for the target workload name" }}{{ end }} o1: o1 o2: o2 - shared: | + state: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.ps1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.pst1 }}{{ fail "expected 'pst1' param for the target workload name" }}{{ end }} + - uri: template://test-provisioners/with-class-with-params-in-state-outputs type: with-class-with-params-in-state-outputs class: c1 outputs: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.po1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.po1 }}{{ fail "expected 'po1' param for the target workload name" }}{{ end }} o1: o1 o2: o2 shared: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.ps1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} -- uri: template://test-provisioners/without-class-with-params-in-state-outputs-state - type: without-class-with-params-in-state-outputs-state + {{ if not .Params.pst1 }}{{ fail "expected 'pst1' param for the target workload name" }}{{ end }} + +- uri: template://test-provisioners/without-class-with-params-in-state-outputs-state-shared + type: without-class-with-params-in-state-outputs-shared outputs: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.po1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.po1 }}{{ fail "expected 'po1' param for the target workload name" }}{{ end }} o1: o1 o2: o2 state: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.pst1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.pst1 }}{{ fail "expected 'pst1' param for the target workload name" }}{{ end }} shared: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.ps1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} -- uri: template://test-provisioners/with-class-with-params-in-state-outputs-state - type: with-class-with-params-in-state-outputs-state + {{ if not .Params.psh1 }}{{ fail "expected 'psh1' param for the target workload name" }}{{ end }} + +- uri: template://test-provisioners/with-class-with-params-in-state-outputs-shared + type: with-class-with-params-in-state-outputs-shared class: c1 outputs: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.po1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.po1 }}{{ fail "expected 'po1' param for the target workload name" }}{{ end }} o1: o1 o2: o2 state: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.pst1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} + {{ if not .Params.pst1 }}{{ fail "expected 'pst1' param for the target workload name" }}{{ end }} shared: | {{ if not .Params.p1 }}{{ fail "expected 'p1' param for the target workload name" }}{{ end }} - {{ if not .Params.p2 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} - {{ if not .Params.pst1 }}{{ fail "expected 'p2' param for the target workload name" }}{{ end }} \ No newline at end of file + {{ if not .Params.psh1 }}{{ fail "expected 'psh1' param for the target workload name" }}{{ end }} \ No newline at end of file diff --git a/internal/command/testdata/provisioners.list.valid.golden b/internal/command/testdata/provisioners.list.valid.golden index 6a480b0..687376d 100644 --- a/internal/command/testdata/provisioners.list.valid.golden +++ b/internal/command/testdata/provisioners.list.valid.golden @@ -1,25 +1,31 @@ -+--------------------------------------------------+-------+------------------------+---------+ -| TYPE | CLASS | PARAMS | OUTPUTS | -+--------------------------------------------------+-------+------------------------+---------+ -| with-class-with-params-in-shared | c1 | p1, p2 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| with-class-with-params-in-state | c1 | p1, p2 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| with-class-with-params-in-state-outputs | c1 | p1, p2, po1, ps1 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| with-class-with-params-in-state-outputs-state | c1 | p1, p2, po1, pst1 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| with-class-without-params | c1 | | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| without-class-with-params-in-outputs | (any) | p1, p2 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| without-class-with-params-in-shared | (any) | p1, p2 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| without-class-with-params-in-state | (any) | p1, p2 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| without-class-with-params-in-state-outputs | (any) | p1, p2, po1, ps1 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| without-class-with-params-in-state-outputs-state | (any) | p1, p2, po1, ps1, pst1 | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ -| without-class-without-params | (any) | | o1, o2 | -+--------------------------------------------------+-------+------------------------+---------+ ++---------------------------------------------------+-------+---------------------+---------+ +| TYPE | CLASS | PARAMS | OUTPUTS | ++---------------------------------------------------+-------+---------------------+---------+ +| with-class-with-params-in-outputs | c1 | p1, po1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| with-class-with-params-in-shared | c1 | p1, psh1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| with-class-with-params-in-shared-outputs | c1 | p1, po1, psh1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| with-class-with-params-in-state | c1 | p1, pst1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| with-class-with-params-in-state-outputs | c1 | p1, po1, pst1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| with-class-with-params-in-state-outputs-shared | c1 | p1, po1, psh1, pst1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| with-class-without-params | c1 | | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| without-class-with-params-in-outputs | (any) | p1, po1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| without-class-with-params-in-shared | (any) | p1, psh1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| without-class-with-params-in-shared-outputs | (any) | p1, po1, psh1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| without-class-with-params-in-state | (any) | p1, psh1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| without-class-with-params-in-state-outputs | (any) | p1, po1, pst1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| without-class-with-params-in-state-outputs-shared | (any) | p1, po1, psh1, pst1 | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+ +| without-class-without-params | (any) | | o1, o2 | ++---------------------------------------------------+-------+---------------------+---------+