Skip to content

Commit 9519817

Browse files
authored
Improve imported plan modification test to verify the order as well (#2618)
1 parent 60ec820 commit 9519817

File tree

2 files changed

+150
-26
lines changed

2 files changed

+150
-26
lines changed
+48-11
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,53 @@
1-
/must-be-imported-and-modified:
2-
summary: Test of correct environment variable expansion of ${VARIABLE}
1+
/imported:
2+
summary: Test of correct environment variable expansion
33
provision:
44
how: local
55
execute:
6-
script: test "${VARIABLE}" == "foobar"
6+
# Cannot use `$VARIABLE`, tmt would overwrite it with the value from `environment` above.
7+
script: |
8+
set -x -o pipefail
9+
env | grep VARIABLE
710

8-
/importing-other-plan-and-modify-environment:
9-
summary: Import plan and modify it with environment variable
11+
/imported/bare:
12+
environment: {}
13+
14+
/imported/with-environment:
1015
environment:
11-
VARIABLE: foobar
12-
plan:
13-
import:
14-
url: https://github.com/teemtee/tmt
15-
path: /tests/plan/import/modify-data
16-
name: /plans/must-be-imported-and-modified
16+
VARIABLE: foo
17+
18+
/importing:
19+
summary: Import plan and mess with its environment
20+
21+
/bare:
22+
plan:
23+
import:
24+
url: https://github.com/teemtee/tmt
25+
ref: test-import-env-ordering
26+
path: /tests/plan/import/modify-data
27+
name: /plans/imported/bare
28+
29+
/dont-modify:
30+
summary: Import plan but do not modify its environment
31+
32+
/modify:
33+
summary: Import plan and modify its environment
34+
35+
environment:
36+
VARIABLE: bar
37+
38+
/with-environment:
39+
plan:
40+
import:
41+
url: https://github.com/teemtee/tmt
42+
ref: test-import-env-ordering
43+
path: /tests/plan/import/modify-data
44+
name: /plans/imported/with-environment
45+
46+
/dont-modify:
47+
summary: Import plan but do not modify its environment
48+
49+
/modify:
50+
summary: Import plan and modify its environment
51+
52+
environment:
53+
VARIABLE: bar

tests/plan/import/modify.sh

+102-15
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,117 @@
11
#!/bin/bash
22
. /usr/share/beakerlib/beakerlib.sh || exit 1
33

4-
imported="/plans/must-be-imported-and-modified"
5-
importing="/plans/importing-other-plan-and-modify-environment"
6-
74
rlJournalStart
85
rlPhaseStartSetup
96
rlRun "pushd modify-data"
107
rlPhaseEnd
118

12-
rlPhaseStartTest "Show imported plan (invalid unless modified)"
13-
rlRun -s "tmt plan show ${imported}"
14-
rlAssertGrep 'test "${VARIABLE}" == "foobar"' $rlRun_LOG
9+
rlPhaseStartTest "Show imported plans"
10+
rlRun -s "tmt plan show /plans/imported/bare"
11+
rlAssertNotGrep "environment VARIABLE: foo" $rlRun_LOG
12+
13+
rlRun -s "tmt plan show /plans/imported/with-environment"
14+
rlAssertGrep "environment VARIABLE: foo" $rlRun_LOG
1515
rlPhaseEnd
1616

17-
rlPhaseStartTest "Show importing plan (modify imported plan)"
18-
rlRun -s "tmt plan show ${importing}"
19-
rlAssertGrep 'test "foobar" == "foobar"' $rlRun_LOG
20-
rlAssertGrep 'environment VARIABLE: foobar' $rlRun_LOG
17+
rlPhaseStartTest "Show importing plans"
18+
# Bare imported + trivial importing + no CLI => no variable
19+
rlRun -s "tmt plan show /importing/bare/dont-modify"
20+
rlAssertNotGrep "environment VARIABLE: foo" $rlRun_LOG
21+
rlAssertNotGrep "environment VARIABLE: bar" $rlRun_LOG
22+
rlAssertNotGrep "environment VARIABLE: baz" $rlRun_LOG
23+
24+
# Bare imported + trivial importing + CLI => CLI wins
25+
rlRun -s "tmt plan show --environment VARIABLE=baz /importing/bare/dont-modify"
26+
rlAssertNotGrep "environment VARIABLE: foo" $rlRun_LOG
27+
rlAssertNotGrep "environment VARIABLE: bar" $rlRun_LOG
28+
rlAssertGrep "environment VARIABLE: baz" $rlRun_LOG
29+
30+
# Bare imported + enhanced importing + no CLI => importing wins
31+
rlRun -s "tmt plan show /importing/bare/modify"
32+
rlAssertNotGrep "environment VARIABLE: foo" $rlRun_LOG
33+
rlAssertGrep "environment VARIABLE: bar" $rlRun_LOG
34+
rlAssertNotGrep "environment VARIABLE: baz" $rlRun_LOG
35+
36+
# Bare imported + enhanced importing + CLI => CLI wins
37+
rlRun -s "tmt plan show --environment VARIABLE=baz /importing/bare/modify"
38+
rlAssertNotGrep "environment VARIABLE: foo" $rlRun_LOG
39+
rlAssertNotGrep "environment VARIABLE: bar" $rlRun_LOG
40+
rlAssertGrep "environment VARIABLE: baz" $rlRun_LOG
41+
42+
# Enhanced imported + trivial importing + no CLI => imported wins
43+
rlRun -s "tmt plan show /importing/with-environment/dont-modify"
44+
rlAssertGrep "environment VARIABLE: foo" $rlRun_LOG
45+
rlAssertNotGrep "environment VARIABLE: bar" $rlRun_LOG
46+
rlAssertNotGrep "environment VARIABLE: baz" $rlRun_LOG
47+
48+
# Enhanced imported + trivial importing + CLI => CLI wins
49+
rlRun -s "tmt plan show --environment VARIABLE=baz /importing/with-environment/dont-modify"
50+
rlAssertNotGrep "environment VARIABLE: foo" $rlRun_LOG
51+
rlAssertNotGrep "environment VARIABLE: bar" $rlRun_LOG
52+
rlAssertGrep "environment VARIABLE: baz" $rlRun_LOG
53+
54+
# Enhanced imported + enhanced importing + no CLI => importing wins
55+
rlRun -s "tmt plan show /importing/with-environment/modify"
56+
rlAssertNotGrep "environment VARIABLE: foo" $rlRun_LOG
57+
rlAssertGrep "environment VARIABLE: bar" $rlRun_LOG
58+
rlAssertNotGrep "environment VARIABLE: baz" $rlRun_LOG
59+
60+
# Enhanced imported + enhanced importing + CLI => CLI wins
61+
rlRun -s "tmt plan show --environment VARIABLE=baz /importing/with-environment/modify"
62+
rlAssertNotGrep "environment VARIABLE: foo" $rlRun_LOG
63+
rlAssertNotGrep "environment VARIABLE: bar" $rlRun_LOG
64+
rlAssertGrep "environment VARIABLE: baz" $rlRun_LOG
2165
rlPhaseEnd
2266

23-
rlPhaseStartTest "Run plan ${importing}"
24-
rlRun -s "tmt run -dddvv plan --name ${importing}" 0 "Run plan ${importing}"
25-
rlAssertGrep 'cmd: test "foobar" == "foobar"' $rlRun_LOG
26-
rlAssertGrep "summary: 1 test passed" $rlRun_LOG
27-
rlAssertGrep "VARIABLE: foobar" $rlRun_LOG
67+
rlPhaseStartTest "Run importing plans"
68+
# Bare imported + trivial importing + no CLI => no variable
69+
rlRun -s "tmt run -vvv plan --name /importing/bare/dont-modify" 1
70+
rlAssertNotGrep "out: VARIABLE=foo" $rlRun_LOG
71+
rlAssertNotGrep "out: VARIABLE=bar" $rlRun_LOG
72+
rlAssertNotGrep "out: VARIABLE=baz" $rlRun_LOG
73+
74+
# Bare imported + trivial importing + CLI => CLI wins
75+
rlRun -s "tmt run -vvv --environment VARIABLE=baz plan --name /importing/bare/dont-modify"
76+
rlAssertNotGrep "out: VARIABLE=foo" $rlRun_LOG
77+
rlAssertNotGrep "out: VARIABLE=bar" $rlRun_LOG
78+
rlAssertGrep "out: VARIABLE=baz" $rlRun_LOG
79+
80+
# Bare imported + enhanced importing + no CLI => importing wins
81+
rlRun -s "tmt run -vvv plan --name /importing/bare/modify"
82+
rlAssertNotGrep "out: VARIABLE=foo" $rlRun_LOG
83+
rlAssertGrep "out: VARIABLE=bar" $rlRun_LOG
84+
rlAssertNotGrep "out: VARIABLE=baz" $rlRun_LOG
85+
86+
# Bare imported + enhanced importing + CLI => CLI wins
87+
rlRun -s "tmt run -vvv --environment VARIABLE=baz plan --name /importing/bare/modify"
88+
rlAssertNotGrep "out: VARIABLE=foo" $rlRun_LOG
89+
rlAssertNotGrep "out: VARIABLE=bar" $rlRun_LOG
90+
rlAssertGrep "out: VARIABLE=baz" $rlRun_LOG
91+
92+
# Enhanced imported + trivial importing + no CLI => imported wins
93+
rlRun -s "tmt run -vvv plan --name /importing/with-environment/dont-modify"
94+
rlAssertGrep "out: VARIABLE=foo" $rlRun_LOG
95+
rlAssertNotGrep "out: VARIABLE=bar" $rlRun_LOG
96+
rlAssertNotGrep "out: VARIABLE=baz" $rlRun_LOG
97+
98+
# Enhanced imported + trivial importing + CLI => CLI wins
99+
rlRun -s "tmt run -vvv --environment VARIABLE=baz plan --name /importing/with-environment/dont-modify"
100+
rlAssertNotGrep "out: VARIABLE=foo" $rlRun_LOG
101+
rlAssertNotGrep "out: VARIABLE=bar" $rlRun_LOG
102+
rlAssertGrep "out: VARIABLE=baz" $rlRun_LOG
103+
104+
# Enhanced imported + enhanced importing + no CLI => importing wins
105+
rlRun -s "tmt run -vvv plan --name /importing/with-environment/modify"
106+
rlAssertNotGrep "out: VARIABLE=foo" $rlRun_LOG
107+
rlAssertGrep "out: VARIABLE=bar" $rlRun_LOG
108+
rlAssertNotGrep "out: VARIABLE=baz" $rlRun_LOG
109+
110+
# Enhanced imported + enhanced importing + CLI => CLI wins
111+
rlRun -s "tmt run -vvv --environment VARIABLE=baz plan --name /importing/with-environment/modify"
112+
rlAssertNotGrep "out: VARIABLE=foo" $rlRun_LOG
113+
rlAssertNotGrep "out: VARIABLE=bar" $rlRun_LOG
114+
rlAssertGrep "out: VARIABLE=baz" $rlRun_LOG
28115
rlPhaseEnd
29116

30117
rlPhaseStartCleanup

0 commit comments

Comments
 (0)