Improve loader tests

Order of items in job dict depends on implementation specifics.
But test should not fail if implementation change.

Sort it so it won't depend on implementation.

Change-Id: I6decdf1225adcb14f888b787cfc10be66ae52a31
This commit is contained in:
Vsevolod Fedorov 2023-12-01 10:51:36 +03:00
parent 5aeecef649
commit 36ea222763
12 changed files with 23 additions and 23 deletions

View File

@ -1,6 +1,5 @@
[
{
"name": "test-job-include-raw-1",
"builders": [
{
"shell": "#!/bin/bash\n#\n# Sample script showing how the yaml include-raw tag can be used\n# to inline scripts that are maintained outside of the jenkins\n# job yaml configuration.\n\necho \"hello world\"\n\nexit 0\n"
@ -9,6 +8,7 @@
"shell": "#!/bin/bash\n#\n# sample script to check that brackets aren't escaped\n# when using the include-raw application yaml tag\n\nVAR1=\"hello\"\nVAR2=\"world\"\nVAR3=\"${VAR1} ${VAR2}\"\n\n[[ -n \"${VAR3}\" ]] && {\n # this next section is executed as one\n echo \"${VAR3}\"\n exit 0\n}\n"
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-include-raw-1"
}
]

View File

@ -1,6 +1,5 @@
[
{
"name": "test-job-include-raw-1",
"builders": [
{
"shell": "#!/bin/bash\n#\n# Sample script showing how the yaml include-raw tag can be used\n# to inline scripts that are maintained outside of the jenkins\n# job yaml configuration.\n\necho \"hello world\"\n\nexit 0\n"
@ -9,6 +8,7 @@
"shell": "#!/bin/bash\n#\n# sample script to check that brackets aren't escaped\n# when using the include-raw application yaml tag\n\nVAR1=\"hello\"\nVAR2=\"world\"\nVAR3=\"${VAR1} ${VAR2}\"\n\n[[ -n \"${VAR3}\" ]] && {\n # this next section is executed as one\n echo \"${VAR3}\"\n exit 0\n}\n"
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-include-raw-1"
}
]

View File

@ -1,6 +1,5 @@
[
{
"name": "test-job-1",
"builders": [
{
"copyartifact": {
@ -40,6 +39,7 @@
}
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-1"
}
]

View File

@ -1,11 +1,11 @@
[
{
"name": "test-job-include-raw-1",
"builders": [
{
"shell": "#!/bin/bash\n#\n# Sample script showing how the yaml include-raw tag can be used\n# to inline scripts that are maintained outside of the jenkins\n# job yaml configuration.\n\necho \"hello world\"\n\nexit 0\n\n#!/bin/bash\n#\n# sample script to check that brackets aren't escaped\n# when using the include-raw application yaml tag\n\nVAR1=\"hello\"\nVAR2=\"world\"\nVAR3=\"${VAR1} ${VAR2}\"\n\n[[ -n \"${VAR3}\" ]] && {\n # this next section is executed as one\n echo \"${VAR3}\"\n exit 0\n}\n"
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-include-raw-1"
}
]

View File

@ -1,6 +1,5 @@
[
{
"name": "test-job-include-raw",
"builders": [
{
"shell": "#!/bin/bash\n#\n# Sample script showing how the yaml include-raw tag can be used\n# to inline scripts that are maintained outside of the jenkins\n# job yaml configuration.\n\necho \"hello world\"\n\nexit 0\n"
@ -9,6 +8,7 @@
"shell": "#!/bin/bash\n#\n# sample script to check that brackets aren't escaped\n# when using the include-raw application yaml tag\n\nVAR1=\"hello\"\nVAR2=\"world\"\nVAR3=\"${{VAR1}} ${{VAR2}}\"\n\n[[ -n \"${{VAR3}}\" ]] && {{\n # this next section is executed as one\n echo \"${{VAR3}}\"\n exit 0\n}}\n"
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-include-raw"
}
]

View File

@ -1,6 +1,5 @@
[
{
"name": "test-job-include-raw-1",
"builders": [
{
"shell": "#!/bin/bash\n#\n# Sample script showing how the yaml include-raw tag can be used\n# to inline scripts that are maintained outside of the jenkins\n# job yaml configuration.\n\necho \"hello world\"\n\nexit 0\n"
@ -9,6 +8,7 @@
"shell": "#!/bin/bash\n#\n# sample script to check that brackets aren't escaped\n# when using the include-raw application yaml tag\n\nVAR1=\"hello\"\nVAR2=\"world\"\nVAR3=\"${VAR1} ${VAR2}\"\n\n[[ -n \"${VAR3}\" ]] && {\n # this next section is executed as one\n echo \"${VAR3}\"\n exit 0\n}\n"
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-include-raw-1"
}
]

View File

@ -1,11 +1,11 @@
[
{
"name": "test-job-include-raw-1",
"builders": [
{
"shell": "#!/bin/bash\n#\n# Sample script showing how the yaml include-raw tag can be used\n# to inline scripts that are maintained outside of the jenkins\n# job yaml configuration.\n\necho \"hello world\"\n\nexit 0\n\n#!/bin/bash\n#\n# sample script to check that brackets aren't escaped\n# when using the include-raw application yaml tag\n\nVAR1=\"hello\"\nVAR2=\"world\"\nVAR3=\"${VAR1} ${VAR2}\"\n\n[[ -n \"${VAR3}\" ]] && {\n # this next section is executed as one\n echo \"${VAR3}\"\n exit 0\n}\n"
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-include-raw-1"
}
]

View File

@ -1,6 +1,5 @@
[
{
"name": "test-job-include-raw-1",
"builders": [
{
"shell": "#!/bin/bash\n#\n# Sample script showing how the yaml include-raw tag can be used\n# to inline scripts that are maintained outside of the jenkins\n# job yaml configuration.\n\necho \"hello world\"\n\nexit 0\n"
@ -9,6 +8,7 @@
"shell": "#!/bin/bash\n#\n# sample script to check that brackets aren't escaped\n# when using the include-raw application yaml tag\n\nVAR1=\"hello\"\nVAR2=\"world\"\nVAR3=\"${VAR1} ${VAR2}\"\n\n[[ -n \"${VAR3}\" ]] && {\n # this next section is executed as one\n echo \"${VAR3}\"\n exit 0\n}\n"
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-include-raw-1"
}
]

View File

@ -1,11 +1,11 @@
[
{
"name": "test-job-include-raw-1",
"builders": [
{
"shell": "#!/bin/bash\n#\n# sample script to check that brackets aren't escaped\n# when using the include-raw application yaml tag\n\nVAR1=\"1\"\nVAR2=\"world\"\nVAR3=\"${VAR1} ${VAR2}\"\n\n[[ -n \"${VAR3}\" ]] && {\n # this next section is executed as one\n echo \"${VAR3}\"\n exit 0\n}\n"
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-include-raw-1"
}
]

View File

@ -1,6 +1,5 @@
[
{
"name": "test-job-1",
"builders": [
{
"copyartifact": {
@ -40,6 +39,7 @@
}
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "test-job-1"
}
]

View File

@ -1,6 +1,5 @@
[
{
"name": "sample-job",
"builders": [
{
"shell": [
@ -13,6 +12,7 @@
]
}
],
"description": "<!-- Managed by Jenkins Job Builder -->"
"description": "<!-- Managed by Jenkins Job Builder -->",
"name": "sample-job"
}
]

View File

@ -62,7 +62,7 @@ def test_include(scenario, jjb_config, expected_output):
roots = Roots(jjb_config)
load_files(jjb_config, roots, [scenario.in_path])
job_data_list = [j.data for j in roots.generate_jobs()]
job_data_list = [dict(sorted(j.data.items())) for j in roots.generate_jobs()]
pretty_json = json.dumps(job_data_list, indent=4)
print(pretty_json)
assert pretty_json == expected_output.strip()