mirror of
https://github.com/ansible-collections/community.routeros.git
synced 2025-07-15 04:34:36 +02:00
Add module_utils and filters for quoting and unquoting (#53)
* Move splitting code to own file. * Move list to dictionary code to quoting as well. * Add quoting functionality. * Add quoting filters. * Add integration tests to CI. * Fix bugs, increase coverage. * Make parsing more strict. * Extract function parse_argument_value from split_routeros_command to make proper parsing of WHERE possible. * Adjust expected error message in integration tests. * Simplify code and improve coverage. * Add changelog fragment for WHERE strictness in api module. * Add documenation. * Fix typo. * Add documentation references. * Add example to api module which uses quote_argument_value. * Fix bug, and add tests which prevent this in the future. * Add more escape sequence tests. * Make sure all control characters are quoted.
This commit is contained in:
parent
f9d246cd7a
commit
d73eb1c144
14 changed files with 803 additions and 145 deletions
73
.github/workflows/ansible-test.yml
vendored
73
.github/workflows/ansible-test.yml
vendored
|
@ -112,3 +112,76 @@ jobs:
|
|||
- uses: codecov/codecov-action@v1
|
||||
with:
|
||||
fail_ci_if_error: false
|
||||
|
||||
###
|
||||
# Integration tests (RECOMMENDED)
|
||||
#
|
||||
# https://docs.ansible.com/ansible/latest/dev_guide/testing_integration.html
|
||||
|
||||
integration:
|
||||
runs-on: ubuntu-latest
|
||||
name: I (Ⓐ${{ matrix.ansible }}+py${{ matrix.python }})
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
ansible:
|
||||
- stable-2.12
|
||||
- devel
|
||||
python:
|
||||
- 3.8
|
||||
- 3.9
|
||||
- "3.10"
|
||||
include:
|
||||
# 2.9
|
||||
- ansible: stable-2.9
|
||||
python: 2.7
|
||||
- ansible: stable-2.9
|
||||
python: 3.5
|
||||
- ansible: stable-2.9
|
||||
python: 3.6
|
||||
# 2.10
|
||||
- ansible: stable-2.10
|
||||
python: 3.5
|
||||
# 2.11
|
||||
- ansible: stable-2.11
|
||||
python: 2.7
|
||||
- ansible: stable-2.11
|
||||
python: 3.6
|
||||
- ansible: stable-2.11
|
||||
python: 3.9
|
||||
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: ansible_collections/community/routeros
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
# it is just required to run that once as "ansible-test integration" in the docker image
|
||||
# will run on all python versions it supports.
|
||||
python-version: 3.8
|
||||
|
||||
- name: Install ansible-core (${{ matrix.ansible }})
|
||||
run: pip install https://github.com/ansible/ansible/archive/${{ matrix.ansible }}.tar.gz --disable-pip-version-check
|
||||
|
||||
- name: Install collection dependencies
|
||||
run: git clone --depth=1 --single-branch https://github.com/ansible-collections/ansible.netcommon.git ansible_collections/ansible/netcommon
|
||||
# NOTE: we're installing with git to work around Galaxy being a huge PITA (https://github.com/ansible/galaxy/issues/2429)
|
||||
# run: ansible-galaxy collection install ansible.netcommon -p .
|
||||
|
||||
# Run the integration tests
|
||||
- name: Run integration test
|
||||
run: ansible-test integration -v --color --retry-on-error --continue-on-error --diff --python ${{ matrix.python }} --docker --coverage
|
||||
working-directory: ./ansible_collections/community/routeros
|
||||
|
||||
# ansible-test support producing code coverage date
|
||||
- name: Generate coverage report
|
||||
run: ansible-test coverage xml -v --requirements --group-by command --group-by version
|
||||
working-directory: ./ansible_collections/community/routeros
|
||||
|
||||
# See the reports at https://codecov.io/gh/ansible-collections/community.routeros
|
||||
- uses: codecov/codecov-action@v1
|
||||
with:
|
||||
fail_ci_if_error: false
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue