mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
7bf155284f
cmd_runner module utils: fix bug when argument spec has implicit type (#6968)
* cmd_runner module utils: fix bug when argument spec has implicit type
* add changelog frag
(cherry picked from commit f6714edabb
)
Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
140 lines
3.3 KiB
YAML
140 lines
3.3 KiB
YAML
# -*- coding: utf-8 -*-
|
|
# Copyright (c) 2022, Alexei Znamensky
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
cmd_echo_tests:
|
|
- name: set aa and bb value
|
|
arg_formats:
|
|
aa:
|
|
func: as_opt_eq_val
|
|
args: [--answer]
|
|
bb:
|
|
func: as_bool
|
|
args: [--bb-here]
|
|
arg_order: 'aa bb'
|
|
arg_values:
|
|
bb: true
|
|
aa: 11
|
|
assertions:
|
|
- test_result.rc == 0
|
|
- test_result.out == "-- --answer=11 --bb-here\n"
|
|
- test_result.err == ""
|
|
|
|
- name: default aa value
|
|
arg_formats:
|
|
aa:
|
|
func: as_opt_eq_val
|
|
args: [--answer]
|
|
bb:
|
|
func: as_bool
|
|
args: [--bb-here]
|
|
arg_order: ['aa', 'bb']
|
|
arg_values:
|
|
aa: 43
|
|
bb: true
|
|
assertions:
|
|
- test_result.rc == 0
|
|
- test_result.out == "-- --answer=43 --bb-here\n"
|
|
- test_result.err == ""
|
|
|
|
- name: implicit aa format
|
|
arg_formats:
|
|
bb:
|
|
func: as_bool
|
|
args: [--bb-here]
|
|
arg_order: ['aa', 'bb']
|
|
arg_values:
|
|
bb: true
|
|
aa: 1984
|
|
assertions:
|
|
- test_result.rc == 0
|
|
- test_result.out == "-- --aa 1984 --bb-here\n"
|
|
- test_result.err == ""
|
|
|
|
- name: missing bb format
|
|
arg_order: ['aa', 'bb']
|
|
arg_values:
|
|
bb: true
|
|
aa: 1984
|
|
expect_error: true
|
|
assertions:
|
|
- test_result is failed
|
|
- test_result.rc == 1
|
|
- '"out" not in test_result'
|
|
- '"err" not in test_result'
|
|
- >-
|
|
"MissingArgumentFormat: Cannot find format for parameter bb"
|
|
in test_result.module_stderr
|
|
|
|
- name: missing bb value
|
|
arg_formats:
|
|
bb:
|
|
func: as_bool
|
|
args: [--bb-here]
|
|
arg_order: 'aa bb'
|
|
aa: 1984
|
|
expect_error: true
|
|
assertions:
|
|
- test_result is failed
|
|
- test_result.rc == 1
|
|
- '"out" not in test_result'
|
|
- '"err" not in test_result'
|
|
- >-
|
|
"MissingArgumentValue: Cannot find value for parameter bb"
|
|
in test_result.module_stderr
|
|
|
|
- name: set aa and bb value with check_mode on
|
|
arg_formats:
|
|
aa:
|
|
func: as_opt_eq_val
|
|
args: [--answer]
|
|
bb:
|
|
func: as_bool
|
|
args: [--bb-here]
|
|
arg_order: 'aa bb'
|
|
arg_values:
|
|
bb: true
|
|
aa: 11
|
|
check_mode: true
|
|
assertions:
|
|
- test_result.rc == 0
|
|
- test_result.out == "-- --answer=11 --bb-here\n"
|
|
- test_result.err == ""
|
|
|
|
- name: set aa and bb value with check_mode and check_mode_skip on
|
|
arg_formats:
|
|
aa:
|
|
func: as_opt_eq_val
|
|
args: [--answer]
|
|
bb:
|
|
func: as_bool
|
|
args: [--bb-here]
|
|
arg_order: 'aa bb'
|
|
arg_values:
|
|
bb: true
|
|
check_mode_skip: true
|
|
aa: 11
|
|
check_mode: true
|
|
expect_error: true # because if result contains rc != 0, ansible assumes error
|
|
assertions:
|
|
- test_result.rc == None
|
|
- test_result.out == None
|
|
- test_result.err == None
|
|
|
|
- name: set aa and tt value
|
|
arg_formats:
|
|
aa:
|
|
func: as_opt_eq_val
|
|
args: [--answer]
|
|
tt:
|
|
func: as_opt_val
|
|
args: [--tt-arg]
|
|
arg_order: 'aa tt'
|
|
arg_values:
|
|
tt: potatoes
|
|
aa: 11
|
|
assertions:
|
|
- test_result.rc == 0
|
|
- test_result.out == "-- --answer=11 --tt-arg potatoes\n"
|
|
- test_result.err == ""
|