From d4f77f9e0227fa16883a765f3144eba116d7d0ae Mon Sep 17 00:00:00 2001 From: Shatakshi Mishra Date: Thu, 18 May 2023 17:51:00 +0530 Subject: [PATCH] Display sidecar plugin in the collections list (#1531) * Display sidecar plugin in the collections list * Modify the fixtures to include filter plugin * Fix collection's test_direct_interactive_ee * Fix collection's test_direct_interactive_ee_with_volmount * Fix collection's test_direct_interactive_noee * Fix collection's test_welcome_interactive_ee * Fix collection's test_welcome_interactive_noee * Fixture ansible.builtin.add_host fix for collections browsing --- .../data/catalog_collections.py | 3 +- .../test_direct_interactive_ee.py/test/1.json | 9 +- .../test/10.json | 56 +++-- .../test/11.json | 13 +- .../test/12.json | 64 ++---- .../test/13.json | 4 +- .../test/14.json | 79 +++---- .../test/16.json | 73 ++++-- .../test/17.json | 21 +- .../test/18.json | 4 +- .../test/19.json | 23 +- .../test_direct_interactive_ee.py/test/2.json | 46 ++-- .../test/20.json | 64 ++---- .../test/21.json | 13 +- .../test/22.json | 46 ++-- .../test/23.json | 144 +----------- .../test/24.json | 213 ++++-------------- .../test/25.json | 19 ++ .../test/26.json | 21 ++ .../test/27.json | 143 ++++++++++++ .../test/28.json | 172 ++++++++++++++ .../test_direct_interactive_ee.py/test/3.json | 9 +- .../test_direct_interactive_ee.py/test/4.json | 79 +++---- .../test_direct_interactive_ee.py/test/5.json | 9 +- .../test_direct_interactive_ee.py/test/6.json | 115 +++++----- .../test_direct_interactive_ee.py/test/7.json | 9 +- .../test_direct_interactive_ee.py/test/8.json | 98 ++++---- .../test_direct_interactive_ee.py/test/9.json | 9 +- .../test/1.json | 9 +- .../test/10.json | 56 +++-- .../test/11.json | 13 +- .../test/12.json | 64 ++---- .../test/13.json | 4 +- .../test/14.json | 79 +++---- .../test/16.json | 73 ++++-- .../test/17.json | 21 +- .../test/18.json | 12 +- .../test/19.json | 23 +- .../test/2.json | 46 ++-- .../test/20.json | 64 ++---- .../test/21.json | 9 +- .../test/22.json | 46 ++-- .../test/23.json | 144 +----------- .../test/24.json | 213 ++++-------------- .../test/25.json | 19 ++ .../test/26.json | 21 ++ .../test/27.json | 143 ++++++++++++ .../test/28.json | 172 ++++++++++++++ .../test/3.json | 9 +- .../test/4.json | 79 +++---- .../test/5.json | 9 +- .../test/6.json | 115 +++++----- .../test/7.json | 9 +- .../test/8.json | 98 ++++---- .../test/9.json | 9 +- .../test/1.json | 9 +- .../test/10.json | 56 +++-- .../test/11.json | 13 +- .../test/12.json | 64 ++---- .../test/13.json | 4 +- .../test/14.json | 79 +++---- .../test/16.json | 73 ++++-- .../test/17.json | 21 +- .../test/18.json | 12 +- .../test/19.json | 23 +- .../test/2.json | 46 ++-- .../test/20.json | 64 ++---- .../test/21.json | 13 +- .../test/22.json | 46 ++-- .../test/23.json | 144 +----------- .../test/24.json | 213 ++++-------------- .../test/25.json | 19 ++ .../test/26.json | 21 ++ .../test/27.json | 143 ++++++++++++ .../test/28.json | 172 ++++++++++++++ .../test/3.json | 9 +- .../test/4.json | 79 +++---- .../test/5.json | 9 +- .../test/6.json | 115 +++++----- .../test/7.json | 9 +- .../test/8.json | 98 ++++---- .../test/9.json | 9 +- .../test/10.json | 9 +- .../test/11.json | 56 +++-- .../test/12.json | 13 +- .../test/13.json | 64 ++---- .../test/14.json | 4 +- .../test/15.json | 79 +++---- .../test/17.json | 73 ++++-- .../test/18.json | 21 +- .../test/19.json | 4 +- .../test/2.json | 9 +- .../test/20.json | 23 +- .../test/21.json | 64 ++---- .../test/22.json | 13 +- .../test/23.json | 46 ++-- .../test/24.json | 144 +----------- .../test/25.json | 213 ++++-------------- .../test/26.json | 19 ++ .../test/27.json | 21 ++ .../test/28.json | 143 ++++++++++++ .../test/29.json | 172 ++++++++++++++ .../test/3.json | 46 ++-- .../test/4.json | 9 +- .../test/5.json | 79 +++---- .../test/6.json | 9 +- .../test/7.json | 115 +++++----- .../test/8.json | 9 +- .../test/9.json | 98 ++++---- .../test/10.json | 9 +- .../test/11.json | 56 +++-- .../test/12.json | 13 +- .../test/13.json | 64 ++---- .../test/14.json | 4 +- .../test/15.json | 79 +++---- .../test/17.json | 73 ++++-- .../test/18.json | 21 +- .../test/19.json | 12 +- .../test/2.json | 9 +- .../test/20.json | 23 +- .../test/21.json | 64 ++---- .../test/22.json | 13 +- .../test/23.json | 46 ++-- .../test/24.json | 144 +----------- .../test/25.json | 213 ++++-------------- .../test/26.json | 19 ++ .../test/27.json | 21 ++ .../test/28.json | 143 ++++++++++++ .../test/29.json | 172 ++++++++++++++ .../test/3.json | 46 ++-- .../test/4.json | 9 +- .../test/5.json | 79 +++---- .../test/6.json | 9 +- .../test/7.json | 115 +++++----- .../test/8.json | 9 +- .../test/9.json | 98 ++++---- tests/integration/actions/collections/base.py | 16 +- 137 files changed, 4227 insertions(+), 3587 deletions(-) create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/25.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/26.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/27.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/28.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/25.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/26.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/27.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/28.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/25.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/26.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/27.json create mode 100644 tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/28.json create mode 100644 tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/26.json create mode 100644 tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/27.json create mode 100644 tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/28.json create mode 100644 tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/29.json create mode 100644 tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/26.json create mode 100644 tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/27.json create mode 100644 tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/28.json create mode 100644 tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/29.json diff --git a/src/ansible_navigator/data/catalog_collections.py b/src/ansible_navigator/data/catalog_collections.py index 97b6435d8..bd170c285 100644 --- a/src/ansible_navigator/data/catalog_collections.py +++ b/src/ansible_navigator/data/catalog_collections.py @@ -95,7 +95,8 @@ def _catalog_plugins(self, collection: dict) -> None: plugin_type = plugin_dir.name if plugin_type == "modules": plugin_type = "module" - filenames = plugin_dir.glob("**/*.py") + files = list(plugin_dir.glob("**/*.py")) + list(plugin_dir.glob("**/*.yml")) + filenames = (x for x in files) self._process_plugin_dir( plugin_type, filenames, diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json index 2985c6563..8c38e0c2d 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/1.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json index 2f92d3b9f..a897a23fc 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/10.json @@ -1,21 +1,51 @@ { - "name": "test[10-:back-Back to ansible-navigator collections browse window]", + "name": "test[10-:4-role_minimal details window]", "index": 10, - "comment": "Back to ansible-navigator collections browse window", + "comment": "role_minimal details window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.role_minimum", + "Description: Minimal sample role.", + " 0│---", + " 1│argument_specs: {}", + " 2│argument_specs_path: ''", + " 3│defaults: {}", + " 4│defaults_path: ''", + " 5│full_name: company_name.coll_1.role_minimum", + " 6│info:", + " 7│ dependencies: []", + " 8│ galaxy_info:", + " 9│ author: Ansible team (ansible-navigator)", + "10│ company: Ansible", + "11│ description: Minimal sample role.", + "12│ galaxy_tags:", + "13│ - tag_1", + "14│ - tag_2", + "15│ license: LICENSE", + "16│ min_ansible_version: 2.9.0", + "17│ platforms:", + "18│ - name: eos", + "19│ versions:", + "20│ - all", + "21│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", + "22│readme: |-", + "23│ # Role minimum", + "24│", + "25│ This is a role with:", + "26│", + "27│ - meta/main.yml", + "28│ - README.md", + "29│", + "30│ This is a role without:", + "31│", + "32│ - defaults/main.yml", + "33│ - meta/argument_spec.yml", + "34│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", + "35│short_name: role_minimum", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json index 97d8d8e19..cee9e1043 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/11.json @@ -1,16 +1,19 @@ { - "name": "test[11-:2-Browse company_name.coll_2 plugins window]", + "name": "test[11-:back-Back to browse company_name.coll_1 plugins window]", "index": 11, - "comment": "Browse company_name.coll_2 plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - " Company name.coll 2 Type Added Deprecated Description", - "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", - "1│mod_2 module 2.0.0 False This is a test module", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/12.json index f16061052..9e964b3ef 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/12.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/12.json @@ -1,59 +1,21 @@ { - "name": "test[12-:0-lookup_2 plugin docs window]", + "name": "test[12-:back-Back to ansible-navigator collections browse window]", "index": 12, - "comment": "lookup_2 plugin docs window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_2.lookup_2", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_2", - " 7│ namespace: company_name", - " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 2.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_2", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 2.0.0", - "33│ version_added_collection: company_name.coll_2", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", - "38│full_name: company_name.coll_2.lookup_2", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/13.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/13.json index 380e06e5b..b4fccf84a 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/13.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/13.json @@ -1,7 +1,7 @@ { - "name": "test[13-:back-Back to browse company_name.coll_2 plugins window]", + "name": "test[13-:2-Browse company_name.coll_2 plugins window]", "index": 13, - "comment": "Back to browse company_name.coll_2 plugins window", + "comment": "Browse company_name.coll_2 plugins window", "additional_information": { "present": [], "absent": [], diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/14.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/14.json index 6c028225f..32af25128 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/14.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/14.json @@ -1,15 +1,15 @@ { - "name": "test[14-:1-mod_2 plugin docs window]", + "name": "test[14-:0-lookup_2 plugin docs window]", "index": 14, - "comment": "mod_2 plugin docs window", + "comment": "lookup_2 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_2.mod_2", - "Description: This is a test module", + "Image: company_name.coll_2.lookup_2", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 2.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_2", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 2.0.0", - "37│ version_added_collection: company_name.coll_2", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_2.mod_2:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_2.mod_2", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_2", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 2.0.0", + "33│ version_added_collection: company_name.coll_2", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", + "38│full_name: company_name.coll_2.lookup_2", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json index ae1cb5708..85a2f481e 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/16.json @@ -1,21 +1,68 @@ { - "name": "test[16-:back-Back to ansible-navigator collections browse window]", + "name": "test[16-:1-mod_2 plugin docs window]", "index": 16, - "comment": "Back to ansible-navigator collections browse window", + "comment": "mod_2 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_2.mod_2", + "Description: This is a test module", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_2", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 2.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_2", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 2.0.0", + "37│ version_added_collection: company_name.coll_2", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_2.mod_2:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_2.mod_2", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json index 072aaa4b0..029bbcfe1 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/17.json @@ -1,21 +1,16 @@ { - "name": "test[17-:collections --ee FFFFF-Provide an invalid ee value]", + "name": "test[17-:back-Back to browse company_name.coll_2 plugins window]", "index": 17, - "comment": "Provide an invalid ee value", + "comment": "Back to browse company_name.coll_2 plugins window", "additional_information": { - "present": [ - "Issues were found while applying the settings" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Warning: Issues were found while applying the settings.", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Hint: Command provided: 'collections --ee FFFFF'", - " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", - " Hint: Try again with '--ee true' or '--ee false'", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Ok" + " Company name.coll 2 Type Added Deprecated Description", + "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", + "1│mod_2 module 2.0.0 False This is a test module", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json index 3d4adb442..f106aaa56 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/18.json @@ -1,7 +1,7 @@ { - "name": "test[18-Enter-ansible-navigator collections browse window]", + "name": "test[18-:back-Back to ansible-navigator collections browse window]", "index": 18, - "comment": "ansible-navigator collections browse window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { "present": [ "ansible.builtin", diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/19.json index f9376406e..cb4eaafea 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/19.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/19.json @@ -1,18 +1,21 @@ { - "name": "test[19-:1-Browse company_name.coll_1 plugins window]", + "name": "test[19-:collections --ee FFFFF-Provide an invalid ee value]", "index": 19, - "comment": "Browse company_name.coll_1 plugins window", + "comment": "Provide an invalid ee value", "additional_information": { - "present": [], + "present": [ + "Issues were found while applying the settings" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + " Warning: Issues were found while applying the settings.", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Hint: Command provided: 'collections --ee FFFFF'", + " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", + " Hint: Try again with '--ee true' or '--ee false'", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Ok" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/2.json index 87c44ec66..7e971e73b 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/2.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/2.json @@ -1,15 +1,15 @@ { - "name": "test[02-:0-lookup_1 plugin docs window]", + "name": "test[02-:0-filter_1 plugin docs window]", "index": 2, - "comment": "lookup_1 plugin docs window", + "comment": "filter_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -25,35 +25,17 @@ "12│doc:", "13│ author: test", "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", + "15│ - This is test filter plugin", + "16│ name: filter_1", "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/20.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/20.json index a07c336a8..68fb89417 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/20.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/20.json @@ -1,59 +1,21 @@ { - "name": "test[20-:0-lookup_1 plugin docs window]", + "name": "test[20-Enter-ansible-navigator collections browse window]", "index": 20, - "comment": "lookup_1 plugin docs window", + "comment": "ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_1", - " 7│ namespace: company_name", - " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 1.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/21.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/21.json index 418cd5840..e05e32d8e 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/21.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/21.json @@ -1,7 +1,7 @@ { - "name": "test[21-:back-Back to browse company_name.coll_1 plugins window]", + "name": "test[21-:1-Browse company_name.coll_1 plugins window]", "index": 21, - "comment": "Back to browse company_name.coll_1 plugins window", + "comment": "Browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/22.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/22.json index ac23caad6..191741782 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/22.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/22.json @@ -1,21 +1,41 @@ { - "name": "test[22-:back-Back to ansible-navigator collections browse window]", + "name": "test[22-:0-filter_1 plugin docs window]", "index": 22, - "comment": "Back to ansible-navigator collections browse window", + "comment": "filter_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test filter plugin", + "16│ name: filter_1", + "17│ notes:", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/23.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/23.json index b0ae28558..9ca1403a2 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/23.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/23.json @@ -1,143 +1,19 @@ { - "name": "test[23-:0-Browse ansible.builtin plugins window]", + "name": "test[23-:back-Back to browse company_name.coll_1 plugins window]", "index": 23, - "comment": "Browse ansible.builtin plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { - "present": [ - "yum_repository" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Ansible.builtin Type Added Deprecated Description", - " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", - " 2│apt module 0.0.2 False Manages apt-packages", - " 3│apt_key module 1.0 False Add or remove an apt key", - " 4│apt_repository module 0.7 False Add and remove APT repositories", - " 5│assemble module 0.5 False Assemble configuration files from fragments", - " 6│assert module 1.5 False Asserts given expressions are true", - " 7│async_status module 0.5 False Obtain status of asynchronous task", - " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", - " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", - " 10│cmd shell 2.8 False Windows Command Prompt", - " 11│command module historical False Execute commands on targets", - " 12│config lookup 2.5 False Lookup current Ansible configuration values", - " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", - " 14│copy module historical False Copy files to remote locations", - " 15│cron module 0.9 False Manage cron.d and crontab entries", - " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", - " 17│debconf module 1.6 False Configure a .deb package", - " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", - " 19│debug module 0.8 False Print statements during execution", - " 20│default callback historical False default Ansible screen output", - " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", - " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", - " 23│dpkg_selections module 2.0 False Dpkg package selection selections", - " 24│env lookup 0.9 False Read the value of environment variables", - " 25│expect module 2.0 False Executes a command and responds to prompts", - " 26│fail module 0.8 False Fail with custom message", - " 27│fetch module 0.2 False Fetch files from remote nodes", - " 28│file lookup 0.9 False read file contents", - " 29│file module historical False Manage files and file properties", - " 30│fileglob lookup 1.4 False list files matching a pattern", - " 31│find module 2.0 False Return a list of files based on specific criteria", - " 32│first_found lookup historical False return first file found from list", - " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", - " 34│gather_facts module 2.8 False Gathers facts about remote hosts", - " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", - " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", - " 37│getent module 1.8 False A wrapper to the unix getent utility", - " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", - " 39│group module 0.0.2 False Add or remove groups", - " 40│group_by module 0.9 False Create Ansible groups based on facts", - " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", - " 42│host_list inventory 2.4 False Parses a 'host list' string", - " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", - " 44│hostname module 1.4 False Manage hostname", - " 45│import_playbook module 2.4 False Import a playbook", - " 46│import_role module 2.4 False Import a role into a play", - " 47│import_tasks module 2.4 False Import a task list", - " 48│include module 0.6 False Include a task list", - " 49│include_role module 2.2 False Load and execute a role", - " 50│include_tasks module 2.4 False Dynamically include a task list", - " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", - " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", - " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", - " 54│ini lookup 2.0 False read data from an ini file", - " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", - " 56│iptables module 2.0 False Modify iptables rules", - " 57│items lookup historical False list of items", - " 58│jsonfile cache 1.9 False JSON formatted files.", - " 59│junit callback historical False write playbook output to a JUnit file.", - " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", - " 61│linear strategy 2.0 False Executes tasks in a linear fashion", - " 62│lineinfile module 0.7 False Manage lines in text files", - " 63│lines lookup 0.9 False read lines from command", - " 64│list lookup 2.0 False simply returns what it is given.", - " 65│local connection historical False execute on controller", - " 66│memory cache historical False RAM backed, non persistent", - " 67│meta module 1.2 False Execute Ansible 'actions'", - " 68│minimal callback historical False minimal Ansible screen output", - " 69│nested lookup 1.1 False composes a list with nested elements of other lists", - " 70│oneline callback historical False oneline Ansible screen output", - " 71│package module 2.0 False Generic OS package manager", - " 72│package_facts module 2.5 False Package information as facts", - " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", - " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", - " 75│pause module 0.8 False Pause playbook execution", - " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", - " 77│pip module 0.7 False Manages Python library dependencies", - " 78│pipe lookup 0.9 False read output from a command", - " 79│powershell shell historical False Windows PowerShell", - " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", - " 81│random_choice lookup 1.1 False return random element from list", - " 82│raw module historical False Executes a low-down and dirty command", - " 83│reboot module 2.7 False Reboot a machine", - " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", - " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", - " 86│runas become 2.8 False Run As user", - " 87│script inventory 2.4 False Executes an inventory script that returns JSON", - " 88│script module 0.9 False Runs a local script on a remote node after transferring it", - " 89│sequence lookup 1.0 False generate a list based on a number sequence", - " 90│service module 0.1 False Manage services", - " 91│service_facts module 2.5 False Return service state information as fact data", - " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", - " 93│set_stats module 2.3 False Define and display stats for the current ansible run", - " 94│setup module historical False Gathers facts about remote hosts", - " 95│sh shell historical False POSIX shell (/bin/sh)", - " 96│shell module 0.2 False Execute shell commands on targets", - " 97│slurp module historical False Slurps a file from remote nodes", - " 98│ssh connection historical False connect via SSH client binary", - " 99│stat module 1.3 False Retrieve file or file system status", - "100│su become 2.8 False Substitute User", - "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", - "102│subversion module 0.7 False Deploys a subversion repository", - "103│sudo become 2.8 False Substitute User DO", - "104│systemd_service module 2.2 False Manage systemd units", - "105│sysvinit module 2.6 False Manage SysV services.", - "106│tempfile module 2.3 False Creates temporary files and directories", - "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", - "108│template module historical False Template a file out to a target host", - "109│together lookup 1.3 False merges lists into synchronized list", - "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", - "111│tree callback 2.0 False Save host events to files", - "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", - "113│unvault lookup 2.10 False read vaulted file(s) contents", - "114│uri module 1.1 False Interacts with webservices", - "115│url lookup 1.9 False return contents from URL", - "116│urlsplit filter 2.4 False get components from URL", - "117│user module 0.2 False Manage user accounts", - "118│validate_argument_spec module 2.11 False Validate role argument specs.", - "119│varnames lookup 2.8 False Lookup matching variable names", - "120│vars lookup 2.5 False Lookup templated value of variables", - "121│wait_for module 0.7 False Waits for a condition before continuing", - "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", - "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", - "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", - "125│yum module historical False Manages packages with the I(yum) package manager", - "126│yum_repository module 2.1 False Add or remove YUM repositories", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/24.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/24.json index f37143728..39e87d660 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/24.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/24.json @@ -1,172 +1,59 @@ { - "name": "test[24-:0-Browse ansible.builtin.add_host module]", + "name": "test[24-:1-lookup_1 plugin docs window]", "index": 24, - "comment": "Browse ansible.builtin.add_host module", + "comment": "lookup_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin.add_host" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - "Image: ansible.builtin.add_host", - "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ name: ansible.builtin", - " 4│ path: /usr/local/lib/python3.XX/site-packages/ansible", - " 5│ shadowed_by: []", - " 6│ version: 2.14.1", - " 7│doc:", - " 8│ attributes:", - " 9│ action:", - " 10│ description: Indicates this has a corresponding action plugin so some parts", - " 11│ of the options can be executed on the controller", - " 12│ support: full", - " 13│ async:", - " 14│ description: Supports being used with the C(async) keyword", - " 15│ support: none", - " 16│ become:", - " 17│ description: Is usable alongside become keywords", - " 18│ support: none", - " 19│ bypass_host_loop:", - " 20│ description:", - " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", - " 22│ templating and serial, throttle and other loop considerations", - " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", - " 24│ be from the first available host", - " 25│ - This action will not work normally outside of lockstep strategies", - " 26│ support: full", - " 27│ bypass_task_loop:", - " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", - " 29│ support: none", - " 30│ check_mode:", - " 31│ description: Can run in check_mode and return changed status prediction without", - " 32│ modifying target", - " 33│ details: While this makes no changes to target systems the 'in memory' inventory", - " 34│ will still be altered", - " 35│ support: partial", - " 36│ connection:", - " 37│ description: Uses the target's configured connection information to execute", - " 38│ code on it", - " 39│ support: none", - " 40│ core:", - " 41│ description: This is a 'core engine' feature and is not implemented like most", - " 42│ task actions, so it is not overridable in any way via the plugin system.", - " 43│ details: While parts of this action are implemented in core, other parts are", - " 44│ still available as normal plugins and can be partially overridden", - " 45│ support: partial", - " 46│ delegation:", - " 47│ description: Can be used in conjunction with delegate_to and related keywords", - " 48│ support: none", - " 49│ diff_mode:", - " 50│ description: Will return details on what has changed (or possibly needs changing", - " 51│ in check_mode), when in diff mode", - " 52│ support: none", - " 53│ ignore_conditional:", - " 54│ description: The action is not subject to conditional execution so it will ignore", - " 55│ the C(when:) keyword", - " 56│ support: none", - " 57│ platform:", - " 58│ description: Target OS/families that can be operated against", - " 59│ platforms: all", - " 60│ support: N/A", - " 61│ tags:", - " 62│ description: Allows for the 'tags' keyword to control the selection of this", - " 63│ action for execution", - " 64│ support: full", - " 65│ until:", - " 66│ description: Denotes if this action objeys until/retry/poll keywords", - " 67│ support: full", - " 68│ author:", - " 69│ - Ansible Core Team", - " 70│ - Seth Vidal (@skvidal)", - " 71│ description:", - " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", - " 73│ of the same playbook.", - " 74│ - Takes variables so you can define the new hosts more fully.", - " 75│ - This module is also supported for Windows targets.", - " 76│ module: add_host", - " 77│ notes:", - " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", - " 79│ newer.", - " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", - " 81│ of the 'global inventory source', because you can now have multiple sources. An", - " 82│ example was added that shows how to partially restore the previous behaviour.", - " 83│ - Though this module does not change the remote host, we do provide 'changed' status", - " 84│ as it can be useful for those trying to track inventory changes.", - " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", - " 86│ of those need to be in agreement to make them available as play targets. They", - " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", - " 88│ options:", - " 89│ groups:", - " 90│ aliases:", - " 91│ - group", - " 92│ - groupname", - " 93│ description:", - " 94│ - The groups to add the hostname to.", - " 95│ elements: str", - " 96│ type: list", - " 97│ name:", - " 98│ aliases:", - " 99│ - host", - "100│ - hostname", - "101│ description:", - "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", - "103│ a port number.", - "104│ required: true", - "105│ type: str", - "106│ seealso:", - "107│ - module: ansible.builtin.group_by", - "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", - "109│ in-memory inventory", - "110│ version_added: '0.9'", - "111│ version_added_collection: ansible.builtin", - "112│examples: |-", - "113│ - name: Add host to group 'just_created' with variable foo=42", - "114│ ansible.builtin.add_host:", - "115│ name: '{{ ip_from_ec2 }}'", - "116│ groups: just_created", - "117│ foo: 42", - "118│", - "119│ - name: Add host to multiple groups", - "120│ ansible.builtin.add_host:", - "121│ hostname: '{{ new_ip }}'", - "122│ groups:", - "123│ - group1", - "124│ - group2", - "125│", - "126│ - name: Add a host with a non-standard port local to your machines", - "127│ ansible.builtin.add_host:", - "128│ name: '{{ new_ip }}:{{ new_port }}'", - "129│", - "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", - "131│ ansible.builtin.add_host:", - "132│ hostname: '{{ new_ip }}'", - "133│ ansible_ssh_host: '{{ inventory_hostname }}'", - "134│ ansible_ssh_port: '{{ new_port }}'", - "135│", - "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", - "137│ ansible.builtin.add_host:", - "138│ hostname: '{{ new_ip }}'", - "139│ ansible_host: '{{ inventory_hostname }}'", - "140│ ansible_port: '{{ new_port }}'", - "141│", - "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", - "143│ ansible.builtin.add_host:", - "144│ hostname: charlie", - "145│ inventory_dir: '{{ inventory_dir }}'", - "146│", - "147│ - name: Add all hosts running this playbook to the done group", - "148│ ansible.builtin.add_host:", - "149│ name: '{{ item }}'", - "150│ groups: done", - "151│ loop: \"{{ ansible_play_hosts }}\"", - "152│full_name: ansible.builtin.add_host", - "153│metadata: null", - "154│returndocs: null", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/25.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/25.json new file mode 100644 index 000000000..21819593d --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/25.json @@ -0,0 +1,19 @@ +{ + "name": "test[25-:back-Back to browse company_name.coll_1 plugins window]", + "index": 25, + "comment": "Back to browse company_name.coll_1 plugins window", + "additional_information": { + "present": [], + "absent": [], + "compared_fixture": true + }, + "output": [ + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/26.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/26.json new file mode 100644 index 000000000..1eb16bdbe --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/26.json @@ -0,0 +1,21 @@ +{ + "name": "test[26-:back-Back to ansible-navigator collections browse window]", + "index": 26, + "comment": "Back to ansible-navigator collections browse window", + "additional_information": { + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/27.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/27.json new file mode 100644 index 000000000..cc3c40b77 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/27.json @@ -0,0 +1,143 @@ +{ + "name": "test[27-:0-Browse ansible.builtin plugins window]", + "index": 27, + "comment": "Browse ansible.builtin plugins window", + "additional_information": { + "present": [ + "yum_repository" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Ansible.builtin Type Added Deprecated Description", + " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", + " 2│apt module 0.0.2 False Manages apt-packages", + " 3│apt_key module 1.0 False Add or remove an apt key", + " 4│apt_repository module 0.7 False Add and remove APT repositories", + " 5│assemble module 0.5 False Assemble configuration files from fragments", + " 6│assert module 1.5 False Asserts given expressions are true", + " 7│async_status module 0.5 False Obtain status of asynchronous task", + " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", + " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", + " 10│cmd shell 2.8 False Windows Command Prompt", + " 11│command module historical False Execute commands on targets", + " 12│config lookup 2.5 False Lookup current Ansible configuration values", + " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", + " 14│copy module historical False Copy files to remote locations", + " 15│cron module 0.9 False Manage cron.d and crontab entries", + " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", + " 17│debconf module 1.6 False Configure a .deb package", + " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", + " 19│debug module 0.8 False Print statements during execution", + " 20│default callback historical False default Ansible screen output", + " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", + " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", + " 23│dpkg_selections module 2.0 False Dpkg package selection selections", + " 24│env lookup 0.9 False Read the value of environment variables", + " 25│expect module 2.0 False Executes a command and responds to prompts", + " 26│fail module 0.8 False Fail with custom message", + " 27│fetch module 0.2 False Fetch files from remote nodes", + " 28│file lookup 0.9 False read file contents", + " 29│file module historical False Manage files and file properties", + " 30│fileglob lookup 1.4 False list files matching a pattern", + " 31│find module 2.0 False Return a list of files based on specific criteria", + " 32│first_found lookup historical False return first file found from list", + " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", + " 34│gather_facts module 2.8 False Gathers facts about remote hosts", + " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", + " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", + " 37│getent module 1.8 False A wrapper to the unix getent utility", + " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", + " 39│group module 0.0.2 False Add or remove groups", + " 40│group_by module 0.9 False Create Ansible groups based on facts", + " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", + " 42│host_list inventory 2.4 False Parses a 'host list' string", + " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", + " 44│hostname module 1.4 False Manage hostname", + " 45│import_playbook module 2.4 False Import a playbook", + " 46│import_role module 2.4 False Import a role into a play", + " 47│import_tasks module 2.4 False Import a task list", + " 48│include module 0.6 False Include a task list", + " 49│include_role module 2.2 False Load and execute a role", + " 50│include_tasks module 2.4 False Dynamically include a task list", + " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", + " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", + " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", + " 54│ini lookup 2.0 False read data from an ini file", + " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", + " 56│iptables module 2.0 False Modify iptables rules", + " 57│items lookup historical False list of items", + " 58│jsonfile cache 1.9 False JSON formatted files.", + " 59│junit callback historical False write playbook output to a JUnit file.", + " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", + " 61│linear strategy 2.0 False Executes tasks in a linear fashion", + " 62│lineinfile module 0.7 False Manage lines in text files", + " 63│lines lookup 0.9 False read lines from command", + " 64│list lookup 2.0 False simply returns what it is given.", + " 65│local connection historical False execute on controller", + " 66│memory cache historical False RAM backed, non persistent", + " 67│meta module 1.2 False Execute Ansible 'actions'", + " 68│minimal callback historical False minimal Ansible screen output", + " 69│nested lookup 1.1 False composes a list with nested elements of other lists", + " 70│oneline callback historical False oneline Ansible screen output", + " 71│package module 2.0 False Generic OS package manager", + " 72│package_facts module 2.5 False Package information as facts", + " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", + " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", + " 75│pause module 0.8 False Pause playbook execution", + " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", + " 77│pip module 0.7 False Manages Python library dependencies", + " 78│pipe lookup 0.9 False read output from a command", + " 79│powershell shell historical False Windows PowerShell", + " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", + " 81│random_choice lookup 1.1 False return random element from list", + " 82│raw module historical False Executes a low-down and dirty command", + " 83│reboot module 2.7 False Reboot a machine", + " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", + " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", + " 86│runas become 2.8 False Run As user", + " 87│script inventory 2.4 False Executes an inventory script that returns JSON", + " 88│script module 0.9 False Runs a local script on a remote node after transferring it", + " 89│sequence lookup 1.0 False generate a list based on a number sequence", + " 90│service module 0.1 False Manage services", + " 91│service_facts module 2.5 False Return service state information as fact data", + " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", + " 93│set_stats module 2.3 False Define and display stats for the current ansible run", + " 94│setup module historical False Gathers facts about remote hosts", + " 95│sh shell historical False POSIX shell (/bin/sh)", + " 96│shell module 0.2 False Execute shell commands on targets", + " 97│slurp module historical False Slurps a file from remote nodes", + " 98│ssh connection historical False connect via SSH client binary", + " 99│stat module 1.3 False Retrieve file or file system status", + "100│su become 2.8 False Substitute User", + "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", + "102│subversion module 0.7 False Deploys a subversion repository", + "103│sudo become 2.8 False Substitute User DO", + "104│systemd_service module 2.2 False Manage systemd units", + "105│sysvinit module 2.6 False Manage SysV services.", + "106│tempfile module 2.3 False Creates temporary files and directories", + "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", + "108│template module historical False Template a file out to a target host", + "109│together lookup 1.3 False merges lists into synchronized list", + "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", + "111│tree callback 2.0 False Save host events to files", + "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", + "113│unvault lookup 2.10 False read vaulted file(s) contents", + "114│uri module 1.1 False Interacts with webservices", + "115│url lookup 1.9 False return contents from URL", + "116│urlsplit filter 2.4 False get components from URL", + "117│user module 0.2 False Manage user accounts", + "118│validate_argument_spec module 2.11 False Validate role argument specs.", + "119│varnames lookup 2.8 False Lookup matching variable names", + "120│vars lookup 2.5 False Lookup templated value of variables", + "121│wait_for module 0.7 False Waits for a condition before continuing", + "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", + "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", + "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", + "125│yum module historical False Manages packages with the I(yum) package manager", + "126│yum_repository module 2.1 False Add or remove YUM repositories", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/28.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/28.json new file mode 100644 index 000000000..9dd7aaa64 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/28.json @@ -0,0 +1,172 @@ +{ + "name": "test[28-:1-Browse ansible.builtin.add_host module]", + "index": 28, + "comment": "Browse ansible.builtin.add_host module", + "additional_information": { + "present": [ + "ansible.builtin.add_host" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + "Image: ansible.builtin.add_host", + "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ name: ansible.builtin", + " 4│ path: /usr/local/lib/python3.XX/site-packages/ansible", + " 5│ shadowed_by: []", + " 6│ version: 2.14.1", + " 7│doc:", + " 8│ attributes:", + " 9│ action:", + " 10│ description: Indicates this has a corresponding action plugin so some parts", + " 11│ of the options can be executed on the controller", + " 12│ support: full", + " 13│ async:", + " 14│ description: Supports being used with the C(async) keyword", + " 15│ support: none", + " 16│ become:", + " 17│ description: Is usable alongside become keywords", + " 18│ support: none", + " 19│ bypass_host_loop:", + " 20│ description:", + " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", + " 22│ templating and serial, throttle and other loop considerations", + " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", + " 24│ be from the first available host", + " 25│ - This action will not work normally outside of lockstep strategies", + " 26│ support: full", + " 27│ bypass_task_loop:", + " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", + " 29│ support: none", + " 30│ check_mode:", + " 31│ description: Can run in check_mode and return changed status prediction without", + " 32│ modifying target", + " 33│ details: While this makes no changes to target systems the 'in memory' inventory", + " 34│ will still be altered", + " 35│ support: partial", + " 36│ connection:", + " 37│ description: Uses the target's configured connection information to execute", + " 38│ code on it", + " 39│ support: none", + " 40│ core:", + " 41│ description: This is a 'core engine' feature and is not implemented like most", + " 42│ task actions, so it is not overridable in any way via the plugin system.", + " 43│ details: While parts of this action are implemented in core, other parts are", + " 44│ still available as normal plugins and can be partially overridden", + " 45│ support: partial", + " 46│ delegation:", + " 47│ description: Can be used in conjunction with delegate_to and related keywords", + " 48│ support: none", + " 49│ diff_mode:", + " 50│ description: Will return details on what has changed (or possibly needs changing", + " 51│ in check_mode), when in diff mode", + " 52│ support: none", + " 53│ ignore_conditional:", + " 54│ description: The action is not subject to conditional execution so it will ignore", + " 55│ the C(when:) keyword", + " 56│ support: none", + " 57│ platform:", + " 58│ description: Target OS/families that can be operated against", + " 59│ platforms: all", + " 60│ support: N/A", + " 61│ tags:", + " 62│ description: Allows for the 'tags' keyword to control the selection of this", + " 63│ action for execution", + " 64│ support: full", + " 65│ until:", + " 66│ description: Denotes if this action objeys until/retry/poll keywords", + " 67│ support: full", + " 68│ author:", + " 69│ - Ansible Core Team", + " 70│ - Seth Vidal (@skvidal)", + " 71│ description:", + " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", + " 73│ of the same playbook.", + " 74│ - Takes variables so you can define the new hosts more fully.", + " 75│ - This module is also supported for Windows targets.", + " 76│ module: add_host", + " 77│ notes:", + " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", + " 79│ newer.", + " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", + " 81│ of the 'global inventory source', because you can now have multiple sources. An", + " 82│ example was added that shows how to partially restore the previous behaviour.", + " 83│ - Though this module does not change the remote host, we do provide 'changed' status", + " 84│ as it can be useful for those trying to track inventory changes.", + " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", + " 86│ of those need to be in agreement to make them available as play targets. They", + " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", + " 88│ options:", + " 89│ groups:", + " 90│ aliases:", + " 91│ - group", + " 92│ - groupname", + " 93│ description:", + " 94│ - The groups to add the hostname to.", + " 95│ elements: str", + " 96│ type: list", + " 97│ name:", + " 98│ aliases:", + " 99│ - host", + "100│ - hostname", + "101│ description:", + "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", + "103│ a port number.", + "104│ required: true", + "105│ type: str", + "106│ seealso:", + "107│ - module: ansible.builtin.group_by", + "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", + "109│ in-memory inventory", + "110│ version_added: '0.9'", + "111│ version_added_collection: ansible.builtin", + "112│examples: |-", + "113│ - name: Add host to group 'just_created' with variable foo=42", + "114│ ansible.builtin.add_host:", + "115│ name: '{{ ip_from_ec2 }}'", + "116│ groups: just_created", + "117│ foo: 42", + "118│", + "119│ - name: Add host to multiple groups", + "120│ ansible.builtin.add_host:", + "121│ hostname: '{{ new_ip }}'", + "122│ groups:", + "123│ - group1", + "124│ - group2", + "125│", + "126│ - name: Add a host with a non-standard port local to your machines", + "127│ ansible.builtin.add_host:", + "128│ name: '{{ new_ip }}:{{ new_port }}'", + "129│", + "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", + "131│ ansible.builtin.add_host:", + "132│ hostname: '{{ new_ip }}'", + "133│ ansible_ssh_host: '{{ inventory_hostname }}'", + "134│ ansible_ssh_port: '{{ new_port }}'", + "135│", + "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", + "137│ ansible.builtin.add_host:", + "138│ hostname: '{{ new_ip }}'", + "139│ ansible_host: '{{ inventory_hostname }}'", + "140│ ansible_port: '{{ new_port }}'", + "141│", + "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", + "143│ ansible.builtin.add_host:", + "144│ hostname: charlie", + "145│ inventory_dir: '{{ inventory_dir }}'", + "146│", + "147│ - name: Add all hosts running this playbook to the done group", + "148│ ansible.builtin.add_host:", + "149│ name: '{{ item }}'", + "150│ groups: done", + "151│ loop: \"{{ ansible_play_hosts }}\"", + "152│full_name: ansible.builtin.add_host", + "153│metadata: null", + "154│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/3.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/3.json index b87d0857b..40707c428 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/3.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/3.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/4.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/4.json index 52b13ae63..cba9cda43 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/4.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/4.json @@ -1,15 +1,15 @@ { - "name": "test[04-:1-mod_1 plugin docs window]", + "name": "test[04-:1-lookup_1 plugin docs window]", "index": 4, - "comment": "mod_1 plugin docs window", + "comment": "lookup_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.mod_1", - "Description: This is a test module", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 1.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_1", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 1.0.0", - "37│ version_added_collection: company_name.coll_1", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_1.mod_1:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_1.mod_1", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/5.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/5.json index bd5fd8e79..a9f9bcc33 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/5.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/5.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/6.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/6.json index 30dc7d67f..98b86e98e 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/6.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/6.json @@ -1,71 +1,68 @@ { - "name": "test[06-:2-role_full details window]", + "name": "test[06-:2-mod_1 plugin docs window]", "index": 6, - "comment": "role_full details window", + "comment": "mod_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_full", - "Description: Complete sample role.", + "Image: company_name.coll_1.mod_1", + "Description: This is a test module", " 0│---", - " 1│argument_specs:", - " 2│ alternate:", - " 3│ options:", - " 4│ role_full_int:", - " 5│ default: 1024", - " 6│ description: The integer value, defaulting to 1024.", - " 7│ required: false", - " 8│ type: int", - " 9│ short_description: The alternate entry point for the role_full role.", - "10│ main:", - "11│ options:", - "12│ role_full_int:", - "13│ default: 42", - "14│ description: The integer value, defaulting to 42.", - "15│ required: false", - "16│ type: int", - "17│ role_full_str:", - "18│ description: The string value", - "19│ required: true", - "20│ type: str", - "21│ short_description: The main entry point for the role_full role.", - "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", - "23│defaults:", - "24│ role_full_bool: true", - "25│ role_full_int: 42", - "26│ role_full_str: Test string", - "27│defaults_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", - "28│full_name: company_name.coll_1.role_full", - "29│info:", - "30│ dependencies: []", - "31│ galaxy_info:", - "32│ author: Ansible team (ansible-navigator)", - "33│ company: Ansible", - "34│ description: Complete sample role.", - "35│ galaxy_tags:", - "36│ - tag_1", - "37│ - tag_2", - "38│ license: LICENSE", - "39│ min_ansible_version: 2.9.0", - "40│ platforms:", - "41│ - name: eos", - "42│ versions:", - "43│ - all", - "44│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", - "45│readme: |-", - "46│ # Role full", - "47│", - "48│ This is a role with:", - "49│", - "50│ - defaults/main.yml", - "51│ - meta/argument_spec.yml", - "52│ - meta/main.yml", - "53│ - README.md", - "54│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md", - "55│short_name: role_full", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_1", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 1.0.0", + "37│ version_added_collection: company_name.coll_1", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_1.mod_1:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_1.mod_1", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/7.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/7.json index 6210fad0a..b9388cc10 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/7.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/7.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/8.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/8.json index 3427f4801..47a897208 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/8.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/8.json @@ -1,51 +1,71 @@ { - "name": "test[08-:3-role_minimal details window]", + "name": "test[08-:3-role_full details window]", "index": 8, - "comment": "role_minimal details window", + "comment": "role_full details window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_minimum", - "Description: Minimal sample role.", + "Image: company_name.coll_1.role_full", + "Description: Complete sample role.", " 0│---", - " 1│argument_specs: {}", - " 2│argument_specs_path: ''", - " 3│defaults: {}", - " 4│defaults_path: ''", - " 5│full_name: company_name.coll_1.role_minimum", - " 6│info:", - " 7│ dependencies: []", - " 8│ galaxy_info:", - " 9│ author: Ansible team (ansible-navigator)", - "10│ company: Ansible", - "11│ description: Minimal sample role.", - "12│ galaxy_tags:", - "13│ - tag_1", - "14│ - tag_2", - "15│ license: LICENSE", - "16│ min_ansible_version: 2.9.0", - "17│ platforms:", - "18│ - name: eos", - "19│ versions:", - "20│ - all", - "21│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", - "22│readme: |-", - "23│ # Role minimum", - "24│", - "25│ This is a role with:", - "26│", - "27│ - meta/main.yml", - "28│ - README.md", - "29│", - "30│ This is a role without:", - "31│", - "32│ - defaults/main.yml", - "33│ - meta/argument_spec.yml", - "34│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", - "35│short_name: role_minimum", + " 1│argument_specs:", + " 2│ alternate:", + " 3│ options:", + " 4│ role_full_int:", + " 5│ default: 1024", + " 6│ description: The integer value, defaulting to 1024.", + " 7│ required: false", + " 8│ type: int", + " 9│ short_description: The alternate entry point for the role_full role.", + "10│ main:", + "11│ options:", + "12│ role_full_int:", + "13│ default: 42", + "14│ description: The integer value, defaulting to 42.", + "15│ required: false", + "16│ type: int", + "17│ role_full_str:", + "18│ description: The string value", + "19│ required: true", + "20│ type: str", + "21│ short_description: The main entry point for the role_full role.", + "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", + "23│defaults:", + "24│ role_full_bool: true", + "25│ role_full_int: 42", + "26│ role_full_str: Test string", + "27│defaults_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", + "28│full_name: company_name.coll_1.role_full", + "29│info:", + "30│ dependencies: []", + "31│ galaxy_info:", + "32│ author: Ansible team (ansible-navigator)", + "33│ company: Ansible", + "34│ description: Complete sample role.", + "35│ galaxy_tags:", + "36│ - tag_1", + "37│ - tag_2", + "38│ license: LICENSE", + "39│ min_ansible_version: 2.9.0", + "40│ platforms:", + "41│ - name: eos", + "42│ versions:", + "43│ - all", + "44│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", + "45│readme: |-", + "46│ # Role full", + "47│", + "48│ This is a role with:", + "49│", + "50│ - defaults/main.yml", + "51│ - meta/argument_spec.yml", + "52│ - meta/main.yml", + "53│ - README.md", + "54│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md", + "55│short_name: role_full", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/9.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/9.json index b3aebd2a4..ab6b604b3 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/9.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee.py/test/9.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json index 2985c6563..8c38e0c2d 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/1.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json index 8327a0546..0cb5b0bf5 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/10.json @@ -1,21 +1,51 @@ { - "name": "test[10-:back-Back to ansible-navigator collections browse window]", + "name": "test[10-:4-role_minimal details window]", "index": 10, - "comment": "Back to ansible-navigator collections browse window", + "comment": "role_minimal details window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.role_minimum", + "Description: Minimal sample role.", + " 0│---", + " 1│argument_specs: {}", + " 2│argument_specs_path: ''", + " 3│defaults: {}", + " 4│defaults_path: ''", + " 5│full_name: company_name.coll_1.role_minimum", + " 6│info:", + " 7│ dependencies: []", + " 8│ galaxy_info:", + " 9│ author: Ansible team (ansible-navigator)", + "10│ company: Ansible", + "11│ description: Minimal sample role.", + "12│ galaxy_tags:", + "13│ - tag_1", + "14│ - tag_2", + "15│ license: LICENSE", + "16│ min_ansible_version: 2.9.0", + "17│ platforms:", + "18│ - name: eos", + "19│ versions:", + "20│ - all", + "21│info_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", + "22│readme: |-", + "23│ # Role minimum", + "24│", + "25│ This is a role with:", + "26│", + "27│ - meta/main.yml", + "28│ - README.md", + "29│", + "30│ This is a role without:", + "31│", + "32│ - defaults/main.yml", + "33│ - meta/argument_spec.yml", + "34│readme_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", + "35│short_name: role_minimum", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json index 97d8d8e19..cee9e1043 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/11.json @@ -1,16 +1,19 @@ { - "name": "test[11-:2-Browse company_name.coll_2 plugins window]", + "name": "test[11-:back-Back to browse company_name.coll_1 plugins window]", "index": 11, - "comment": "Browse company_name.coll_2 plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - " Company name.coll 2 Type Added Deprecated Description", - "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", - "1│mod_2 module 2.0.0 False This is a test module", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/12.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/12.json index 359e5be2f..6ef8c0f23 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/12.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/12.json @@ -1,59 +1,21 @@ { - "name": "test[12-:0-lookup_2 plugin docs window]", + "name": "test[12-:back-Back to ansible-navigator collections browse window]", "index": 12, - "comment": "lookup_2 plugin docs window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_2.lookup_2", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_2", - " 7│ namespace: company_name", - " 8│ path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 2.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_2", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 2.0.0", - "33│ version_added_collection: company_name.coll_2", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", - "38│full_name: company_name.coll_2.lookup_2", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/13.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/13.json index 380e06e5b..b4fccf84a 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/13.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/13.json @@ -1,7 +1,7 @@ { - "name": "test[13-:back-Back to browse company_name.coll_2 plugins window]", + "name": "test[13-:2-Browse company_name.coll_2 plugins window]", "index": 13, - "comment": "Back to browse company_name.coll_2 plugins window", + "comment": "Browse company_name.coll_2 plugins window", "additional_information": { "present": [], "absent": [], diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/14.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/14.json index 51ac94229..01dd4495b 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/14.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/14.json @@ -1,15 +1,15 @@ { - "name": "test[14-:1-mod_2 plugin docs window]", + "name": "test[14-:0-lookup_2 plugin docs window]", "index": 14, - "comment": "mod_2 plugin docs window", + "comment": "lookup_2 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_2.mod_2", - "Description: This is a test module", + "Image: company_name.coll_2.lookup_2", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 2.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_2", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 2.0.0", - "37│ version_added_collection: company_name.coll_2", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_2.mod_2:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_2.mod_2", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_2", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 2.0.0", + "33│ version_added_collection: company_name.coll_2", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", + "38│full_name: company_name.coll_2.lookup_2", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json index 0ec1efb2a..853497e13 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/16.json @@ -1,21 +1,68 @@ { - "name": "test[16-:back-Back to ansible-navigator collections browse window]", + "name": "test[16-:1-mod_2 plugin docs window]", "index": 16, - "comment": "Back to ansible-navigator collections browse window", + "comment": "mod_2 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_2.mod_2", + "Description: This is a test module", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_2", + " 7│ namespace: company_name", + " 8│ path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 2.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_2", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 2.0.0", + "37│ version_added_collection: company_name.coll_2", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_2.mod_2:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_2.mod_2", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json index 072aaa4b0..029bbcfe1 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/17.json @@ -1,21 +1,16 @@ { - "name": "test[17-:collections --ee FFFFF-Provide an invalid ee value]", + "name": "test[17-:back-Back to browse company_name.coll_2 plugins window]", "index": 17, - "comment": "Provide an invalid ee value", + "comment": "Back to browse company_name.coll_2 plugins window", "additional_information": { - "present": [ - "Issues were found while applying the settings" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Warning: Issues were found while applying the settings.", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Hint: Command provided: 'collections --ee FFFFF'", - " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", - " Hint: Try again with '--ee true' or '--ee false'", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Ok" + " Company name.coll 2 Type Added Deprecated Description", + "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", + "1│mod_2 module 2.0.0 False This is a test module", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json index e021bb4d5..9d631af2e 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/18.json @@ -1,7 +1,7 @@ { - "name": "test[18-Enter-ansible-navigator collections browse window]", + "name": "test[18-:back-Back to ansible-navigator collections browse window]", "index": 18, - "comment": "ansible-navigator collections browse window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { "present": [ "ansible.builtin", @@ -12,10 +12,10 @@ "compared_fixture": false }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/19.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/19.json index f9376406e..cb4eaafea 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/19.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/19.json @@ -1,18 +1,21 @@ { - "name": "test[19-:1-Browse company_name.coll_1 plugins window]", + "name": "test[19-:collections --ee FFFFF-Provide an invalid ee value]", "index": 19, - "comment": "Browse company_name.coll_1 plugins window", + "comment": "Provide an invalid ee value", "additional_information": { - "present": [], + "present": [ + "Issues were found while applying the settings" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + " Warning: Issues were found while applying the settings.", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Hint: Command provided: 'collections --ee FFFFF'", + " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", + " Hint: Try again with '--ee true' or '--ee false'", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Ok" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/2.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/2.json index 0fd33875c..a880ea38c 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/2.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/2.json @@ -1,15 +1,15 @@ { - "name": "test[02-:0-lookup_1 plugin docs window]", + "name": "test[02-:0-filter_1 plugin docs window]", "index": 2, - "comment": "lookup_1 plugin docs window", + "comment": "filter_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -25,35 +25,17 @@ "12│doc:", "13│ author: test", "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", + "15│ - This is test filter plugin", + "16│ name: filter_1", "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/20.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/20.json index 0aa6cfea2..50134ead7 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/20.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/20.json @@ -1,59 +1,21 @@ { - "name": "test[20-:0-lookup_1 plugin docs window]", + "name": "test[20-Enter-ansible-navigator collections browse window]", "index": 20, - "comment": "lookup_1 plugin docs window", + "comment": "ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_1", - " 7│ namespace: company_name", - " 8│ path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 1.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/21.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/21.json index 418cd5840..df0505509 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/21.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/21.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/22.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/22.json index 368af5ed8..348ab56c5 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/22.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/22.json @@ -1,21 +1,41 @@ { - "name": "test[22-:back-Back to ansible-navigator collections browse window]", + "name": "test[22-:0-filter_1 plugin docs window]", "index": 22, - "comment": "Back to ansible-navigator collections browse window", + "comment": "filter_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test filter plugin", + "16│ name: filter_1", + "17│ notes:", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/23.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/23.json index b0ae28558..9ca1403a2 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/23.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/23.json @@ -1,143 +1,19 @@ { - "name": "test[23-:0-Browse ansible.builtin plugins window]", + "name": "test[23-:back-Back to browse company_name.coll_1 plugins window]", "index": 23, - "comment": "Browse ansible.builtin plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { - "present": [ - "yum_repository" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Ansible.builtin Type Added Deprecated Description", - " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", - " 2│apt module 0.0.2 False Manages apt-packages", - " 3│apt_key module 1.0 False Add or remove an apt key", - " 4│apt_repository module 0.7 False Add and remove APT repositories", - " 5│assemble module 0.5 False Assemble configuration files from fragments", - " 6│assert module 1.5 False Asserts given expressions are true", - " 7│async_status module 0.5 False Obtain status of asynchronous task", - " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", - " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", - " 10│cmd shell 2.8 False Windows Command Prompt", - " 11│command module historical False Execute commands on targets", - " 12│config lookup 2.5 False Lookup current Ansible configuration values", - " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", - " 14│copy module historical False Copy files to remote locations", - " 15│cron module 0.9 False Manage cron.d and crontab entries", - " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", - " 17│debconf module 1.6 False Configure a .deb package", - " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", - " 19│debug module 0.8 False Print statements during execution", - " 20│default callback historical False default Ansible screen output", - " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", - " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", - " 23│dpkg_selections module 2.0 False Dpkg package selection selections", - " 24│env lookup 0.9 False Read the value of environment variables", - " 25│expect module 2.0 False Executes a command and responds to prompts", - " 26│fail module 0.8 False Fail with custom message", - " 27│fetch module 0.2 False Fetch files from remote nodes", - " 28│file lookup 0.9 False read file contents", - " 29│file module historical False Manage files and file properties", - " 30│fileglob lookup 1.4 False list files matching a pattern", - " 31│find module 2.0 False Return a list of files based on specific criteria", - " 32│first_found lookup historical False return first file found from list", - " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", - " 34│gather_facts module 2.8 False Gathers facts about remote hosts", - " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", - " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", - " 37│getent module 1.8 False A wrapper to the unix getent utility", - " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", - " 39│group module 0.0.2 False Add or remove groups", - " 40│group_by module 0.9 False Create Ansible groups based on facts", - " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", - " 42│host_list inventory 2.4 False Parses a 'host list' string", - " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", - " 44│hostname module 1.4 False Manage hostname", - " 45│import_playbook module 2.4 False Import a playbook", - " 46│import_role module 2.4 False Import a role into a play", - " 47│import_tasks module 2.4 False Import a task list", - " 48│include module 0.6 False Include a task list", - " 49│include_role module 2.2 False Load and execute a role", - " 50│include_tasks module 2.4 False Dynamically include a task list", - " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", - " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", - " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", - " 54│ini lookup 2.0 False read data from an ini file", - " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", - " 56│iptables module 2.0 False Modify iptables rules", - " 57│items lookup historical False list of items", - " 58│jsonfile cache 1.9 False JSON formatted files.", - " 59│junit callback historical False write playbook output to a JUnit file.", - " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", - " 61│linear strategy 2.0 False Executes tasks in a linear fashion", - " 62│lineinfile module 0.7 False Manage lines in text files", - " 63│lines lookup 0.9 False read lines from command", - " 64│list lookup 2.0 False simply returns what it is given.", - " 65│local connection historical False execute on controller", - " 66│memory cache historical False RAM backed, non persistent", - " 67│meta module 1.2 False Execute Ansible 'actions'", - " 68│minimal callback historical False minimal Ansible screen output", - " 69│nested lookup 1.1 False composes a list with nested elements of other lists", - " 70│oneline callback historical False oneline Ansible screen output", - " 71│package module 2.0 False Generic OS package manager", - " 72│package_facts module 2.5 False Package information as facts", - " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", - " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", - " 75│pause module 0.8 False Pause playbook execution", - " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", - " 77│pip module 0.7 False Manages Python library dependencies", - " 78│pipe lookup 0.9 False read output from a command", - " 79│powershell shell historical False Windows PowerShell", - " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", - " 81│random_choice lookup 1.1 False return random element from list", - " 82│raw module historical False Executes a low-down and dirty command", - " 83│reboot module 2.7 False Reboot a machine", - " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", - " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", - " 86│runas become 2.8 False Run As user", - " 87│script inventory 2.4 False Executes an inventory script that returns JSON", - " 88│script module 0.9 False Runs a local script on a remote node after transferring it", - " 89│sequence lookup 1.0 False generate a list based on a number sequence", - " 90│service module 0.1 False Manage services", - " 91│service_facts module 2.5 False Return service state information as fact data", - " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", - " 93│set_stats module 2.3 False Define and display stats for the current ansible run", - " 94│setup module historical False Gathers facts about remote hosts", - " 95│sh shell historical False POSIX shell (/bin/sh)", - " 96│shell module 0.2 False Execute shell commands on targets", - " 97│slurp module historical False Slurps a file from remote nodes", - " 98│ssh connection historical False connect via SSH client binary", - " 99│stat module 1.3 False Retrieve file or file system status", - "100│su become 2.8 False Substitute User", - "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", - "102│subversion module 0.7 False Deploys a subversion repository", - "103│sudo become 2.8 False Substitute User DO", - "104│systemd_service module 2.2 False Manage systemd units", - "105│sysvinit module 2.6 False Manage SysV services.", - "106│tempfile module 2.3 False Creates temporary files and directories", - "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", - "108│template module historical False Template a file out to a target host", - "109│together lookup 1.3 False merges lists into synchronized list", - "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", - "111│tree callback 2.0 False Save host events to files", - "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", - "113│unvault lookup 2.10 False read vaulted file(s) contents", - "114│uri module 1.1 False Interacts with webservices", - "115│url lookup 1.9 False return contents from URL", - "116│urlsplit filter 2.4 False get components from URL", - "117│user module 0.2 False Manage user accounts", - "118│validate_argument_spec module 2.11 False Validate role argument specs.", - "119│varnames lookup 2.8 False Lookup matching variable names", - "120│vars lookup 2.5 False Lookup templated value of variables", - "121│wait_for module 0.7 False Waits for a condition before continuing", - "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", - "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", - "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", - "125│yum module historical False Manages packages with the I(yum) package manager", - "126│yum_repository module 2.1 False Add or remove YUM repositories", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/24.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/24.json index f37143728..af2a802e2 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/24.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/24.json @@ -1,172 +1,59 @@ { - "name": "test[24-:0-Browse ansible.builtin.add_host module]", + "name": "test[24-:1-lookup_1 plugin docs window]", "index": 24, - "comment": "Browse ansible.builtin.add_host module", + "comment": "lookup_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin.add_host" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - "Image: ansible.builtin.add_host", - "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ name: ansible.builtin", - " 4│ path: /usr/local/lib/python3.XX/site-packages/ansible", - " 5│ shadowed_by: []", - " 6│ version: 2.14.1", - " 7│doc:", - " 8│ attributes:", - " 9│ action:", - " 10│ description: Indicates this has a corresponding action plugin so some parts", - " 11│ of the options can be executed on the controller", - " 12│ support: full", - " 13│ async:", - " 14│ description: Supports being used with the C(async) keyword", - " 15│ support: none", - " 16│ become:", - " 17│ description: Is usable alongside become keywords", - " 18│ support: none", - " 19│ bypass_host_loop:", - " 20│ description:", - " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", - " 22│ templating and serial, throttle and other loop considerations", - " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", - " 24│ be from the first available host", - " 25│ - This action will not work normally outside of lockstep strategies", - " 26│ support: full", - " 27│ bypass_task_loop:", - " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", - " 29│ support: none", - " 30│ check_mode:", - " 31│ description: Can run in check_mode and return changed status prediction without", - " 32│ modifying target", - " 33│ details: While this makes no changes to target systems the 'in memory' inventory", - " 34│ will still be altered", - " 35│ support: partial", - " 36│ connection:", - " 37│ description: Uses the target's configured connection information to execute", - " 38│ code on it", - " 39│ support: none", - " 40│ core:", - " 41│ description: This is a 'core engine' feature and is not implemented like most", - " 42│ task actions, so it is not overridable in any way via the plugin system.", - " 43│ details: While parts of this action are implemented in core, other parts are", - " 44│ still available as normal plugins and can be partially overridden", - " 45│ support: partial", - " 46│ delegation:", - " 47│ description: Can be used in conjunction with delegate_to and related keywords", - " 48│ support: none", - " 49│ diff_mode:", - " 50│ description: Will return details on what has changed (or possibly needs changing", - " 51│ in check_mode), when in diff mode", - " 52│ support: none", - " 53│ ignore_conditional:", - " 54│ description: The action is not subject to conditional execution so it will ignore", - " 55│ the C(when:) keyword", - " 56│ support: none", - " 57│ platform:", - " 58│ description: Target OS/families that can be operated against", - " 59│ platforms: all", - " 60│ support: N/A", - " 61│ tags:", - " 62│ description: Allows for the 'tags' keyword to control the selection of this", - " 63│ action for execution", - " 64│ support: full", - " 65│ until:", - " 66│ description: Denotes if this action objeys until/retry/poll keywords", - " 67│ support: full", - " 68│ author:", - " 69│ - Ansible Core Team", - " 70│ - Seth Vidal (@skvidal)", - " 71│ description:", - " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", - " 73│ of the same playbook.", - " 74│ - Takes variables so you can define the new hosts more fully.", - " 75│ - This module is also supported for Windows targets.", - " 76│ module: add_host", - " 77│ notes:", - " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", - " 79│ newer.", - " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", - " 81│ of the 'global inventory source', because you can now have multiple sources. An", - " 82│ example was added that shows how to partially restore the previous behaviour.", - " 83│ - Though this module does not change the remote host, we do provide 'changed' status", - " 84│ as it can be useful for those trying to track inventory changes.", - " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", - " 86│ of those need to be in agreement to make them available as play targets. They", - " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", - " 88│ options:", - " 89│ groups:", - " 90│ aliases:", - " 91│ - group", - " 92│ - groupname", - " 93│ description:", - " 94│ - The groups to add the hostname to.", - " 95│ elements: str", - " 96│ type: list", - " 97│ name:", - " 98│ aliases:", - " 99│ - host", - "100│ - hostname", - "101│ description:", - "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", - "103│ a port number.", - "104│ required: true", - "105│ type: str", - "106│ seealso:", - "107│ - module: ansible.builtin.group_by", - "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", - "109│ in-memory inventory", - "110│ version_added: '0.9'", - "111│ version_added_collection: ansible.builtin", - "112│examples: |-", - "113│ - name: Add host to group 'just_created' with variable foo=42", - "114│ ansible.builtin.add_host:", - "115│ name: '{{ ip_from_ec2 }}'", - "116│ groups: just_created", - "117│ foo: 42", - "118│", - "119│ - name: Add host to multiple groups", - "120│ ansible.builtin.add_host:", - "121│ hostname: '{{ new_ip }}'", - "122│ groups:", - "123│ - group1", - "124│ - group2", - "125│", - "126│ - name: Add a host with a non-standard port local to your machines", - "127│ ansible.builtin.add_host:", - "128│ name: '{{ new_ip }}:{{ new_port }}'", - "129│", - "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", - "131│ ansible.builtin.add_host:", - "132│ hostname: '{{ new_ip }}'", - "133│ ansible_ssh_host: '{{ inventory_hostname }}'", - "134│ ansible_ssh_port: '{{ new_port }}'", - "135│", - "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", - "137│ ansible.builtin.add_host:", - "138│ hostname: '{{ new_ip }}'", - "139│ ansible_host: '{{ inventory_hostname }}'", - "140│ ansible_port: '{{ new_port }}'", - "141│", - "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", - "143│ ansible.builtin.add_host:", - "144│ hostname: charlie", - "145│ inventory_dir: '{{ inventory_dir }}'", - "146│", - "147│ - name: Add all hosts running this playbook to the done group", - "148│ ansible.builtin.add_host:", - "149│ name: '{{ item }}'", - "150│ groups: done", - "151│ loop: \"{{ ansible_play_hosts }}\"", - "152│full_name: ansible.builtin.add_host", - "153│metadata: null", - "154│returndocs: null", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/25.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/25.json new file mode 100644 index 000000000..21819593d --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/25.json @@ -0,0 +1,19 @@ +{ + "name": "test[25-:back-Back to browse company_name.coll_1 plugins window]", + "index": 25, + "comment": "Back to browse company_name.coll_1 plugins window", + "additional_information": { + "present": [], + "absent": [], + "compared_fixture": true + }, + "output": [ + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/26.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/26.json new file mode 100644 index 000000000..823ba6cdf --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/26.json @@ -0,0 +1,21 @@ +{ + "name": "test[26-:back-Back to ansible-navigator collections browse window]", + "index": 26, + "comment": "Back to ansible-navigator collections browse window", + "additional_information": { + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount /tmp/collections_to_volmount/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/27.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/27.json new file mode 100644 index 000000000..cc3c40b77 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/27.json @@ -0,0 +1,143 @@ +{ + "name": "test[27-:0-Browse ansible.builtin plugins window]", + "index": 27, + "comment": "Browse ansible.builtin plugins window", + "additional_information": { + "present": [ + "yum_repository" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Ansible.builtin Type Added Deprecated Description", + " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", + " 2│apt module 0.0.2 False Manages apt-packages", + " 3│apt_key module 1.0 False Add or remove an apt key", + " 4│apt_repository module 0.7 False Add and remove APT repositories", + " 5│assemble module 0.5 False Assemble configuration files from fragments", + " 6│assert module 1.5 False Asserts given expressions are true", + " 7│async_status module 0.5 False Obtain status of asynchronous task", + " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", + " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", + " 10│cmd shell 2.8 False Windows Command Prompt", + " 11│command module historical False Execute commands on targets", + " 12│config lookup 2.5 False Lookup current Ansible configuration values", + " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", + " 14│copy module historical False Copy files to remote locations", + " 15│cron module 0.9 False Manage cron.d and crontab entries", + " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", + " 17│debconf module 1.6 False Configure a .deb package", + " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", + " 19│debug module 0.8 False Print statements during execution", + " 20│default callback historical False default Ansible screen output", + " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", + " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", + " 23│dpkg_selections module 2.0 False Dpkg package selection selections", + " 24│env lookup 0.9 False Read the value of environment variables", + " 25│expect module 2.0 False Executes a command and responds to prompts", + " 26│fail module 0.8 False Fail with custom message", + " 27│fetch module 0.2 False Fetch files from remote nodes", + " 28│file lookup 0.9 False read file contents", + " 29│file module historical False Manage files and file properties", + " 30│fileglob lookup 1.4 False list files matching a pattern", + " 31│find module 2.0 False Return a list of files based on specific criteria", + " 32│first_found lookup historical False return first file found from list", + " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", + " 34│gather_facts module 2.8 False Gathers facts about remote hosts", + " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", + " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", + " 37│getent module 1.8 False A wrapper to the unix getent utility", + " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", + " 39│group module 0.0.2 False Add or remove groups", + " 40│group_by module 0.9 False Create Ansible groups based on facts", + " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", + " 42│host_list inventory 2.4 False Parses a 'host list' string", + " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", + " 44│hostname module 1.4 False Manage hostname", + " 45│import_playbook module 2.4 False Import a playbook", + " 46│import_role module 2.4 False Import a role into a play", + " 47│import_tasks module 2.4 False Import a task list", + " 48│include module 0.6 False Include a task list", + " 49│include_role module 2.2 False Load and execute a role", + " 50│include_tasks module 2.4 False Dynamically include a task list", + " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", + " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", + " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", + " 54│ini lookup 2.0 False read data from an ini file", + " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", + " 56│iptables module 2.0 False Modify iptables rules", + " 57│items lookup historical False list of items", + " 58│jsonfile cache 1.9 False JSON formatted files.", + " 59│junit callback historical False write playbook output to a JUnit file.", + " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", + " 61│linear strategy 2.0 False Executes tasks in a linear fashion", + " 62│lineinfile module 0.7 False Manage lines in text files", + " 63│lines lookup 0.9 False read lines from command", + " 64│list lookup 2.0 False simply returns what it is given.", + " 65│local connection historical False execute on controller", + " 66│memory cache historical False RAM backed, non persistent", + " 67│meta module 1.2 False Execute Ansible 'actions'", + " 68│minimal callback historical False minimal Ansible screen output", + " 69│nested lookup 1.1 False composes a list with nested elements of other lists", + " 70│oneline callback historical False oneline Ansible screen output", + " 71│package module 2.0 False Generic OS package manager", + " 72│package_facts module 2.5 False Package information as facts", + " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", + " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", + " 75│pause module 0.8 False Pause playbook execution", + " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", + " 77│pip module 0.7 False Manages Python library dependencies", + " 78│pipe lookup 0.9 False read output from a command", + " 79│powershell shell historical False Windows PowerShell", + " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", + " 81│random_choice lookup 1.1 False return random element from list", + " 82│raw module historical False Executes a low-down and dirty command", + " 83│reboot module 2.7 False Reboot a machine", + " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", + " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", + " 86│runas become 2.8 False Run As user", + " 87│script inventory 2.4 False Executes an inventory script that returns JSON", + " 88│script module 0.9 False Runs a local script on a remote node after transferring it", + " 89│sequence lookup 1.0 False generate a list based on a number sequence", + " 90│service module 0.1 False Manage services", + " 91│service_facts module 2.5 False Return service state information as fact data", + " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", + " 93│set_stats module 2.3 False Define and display stats for the current ansible run", + " 94│setup module historical False Gathers facts about remote hosts", + " 95│sh shell historical False POSIX shell (/bin/sh)", + " 96│shell module 0.2 False Execute shell commands on targets", + " 97│slurp module historical False Slurps a file from remote nodes", + " 98│ssh connection historical False connect via SSH client binary", + " 99│stat module 1.3 False Retrieve file or file system status", + "100│su become 2.8 False Substitute User", + "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", + "102│subversion module 0.7 False Deploys a subversion repository", + "103│sudo become 2.8 False Substitute User DO", + "104│systemd_service module 2.2 False Manage systemd units", + "105│sysvinit module 2.6 False Manage SysV services.", + "106│tempfile module 2.3 False Creates temporary files and directories", + "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", + "108│template module historical False Template a file out to a target host", + "109│together lookup 1.3 False merges lists into synchronized list", + "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", + "111│tree callback 2.0 False Save host events to files", + "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", + "113│unvault lookup 2.10 False read vaulted file(s) contents", + "114│uri module 1.1 False Interacts with webservices", + "115│url lookup 1.9 False return contents from URL", + "116│urlsplit filter 2.4 False get components from URL", + "117│user module 0.2 False Manage user accounts", + "118│validate_argument_spec module 2.11 False Validate role argument specs.", + "119│varnames lookup 2.8 False Lookup matching variable names", + "120│vars lookup 2.5 False Lookup templated value of variables", + "121│wait_for module 0.7 False Waits for a condition before continuing", + "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", + "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", + "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", + "125│yum module historical False Manages packages with the I(yum) package manager", + "126│yum_repository module 2.1 False Add or remove YUM repositories", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/28.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/28.json new file mode 100644 index 000000000..9dd7aaa64 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/28.json @@ -0,0 +1,172 @@ +{ + "name": "test[28-:1-Browse ansible.builtin.add_host module]", + "index": 28, + "comment": "Browse ansible.builtin.add_host module", + "additional_information": { + "present": [ + "ansible.builtin.add_host" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + "Image: ansible.builtin.add_host", + "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ name: ansible.builtin", + " 4│ path: /usr/local/lib/python3.XX/site-packages/ansible", + " 5│ shadowed_by: []", + " 6│ version: 2.14.1", + " 7│doc:", + " 8│ attributes:", + " 9│ action:", + " 10│ description: Indicates this has a corresponding action plugin so some parts", + " 11│ of the options can be executed on the controller", + " 12│ support: full", + " 13│ async:", + " 14│ description: Supports being used with the C(async) keyword", + " 15│ support: none", + " 16│ become:", + " 17│ description: Is usable alongside become keywords", + " 18│ support: none", + " 19│ bypass_host_loop:", + " 20│ description:", + " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", + " 22│ templating and serial, throttle and other loop considerations", + " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", + " 24│ be from the first available host", + " 25│ - This action will not work normally outside of lockstep strategies", + " 26│ support: full", + " 27│ bypass_task_loop:", + " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", + " 29│ support: none", + " 30│ check_mode:", + " 31│ description: Can run in check_mode and return changed status prediction without", + " 32│ modifying target", + " 33│ details: While this makes no changes to target systems the 'in memory' inventory", + " 34│ will still be altered", + " 35│ support: partial", + " 36│ connection:", + " 37│ description: Uses the target's configured connection information to execute", + " 38│ code on it", + " 39│ support: none", + " 40│ core:", + " 41│ description: This is a 'core engine' feature and is not implemented like most", + " 42│ task actions, so it is not overridable in any way via the plugin system.", + " 43│ details: While parts of this action are implemented in core, other parts are", + " 44│ still available as normal plugins and can be partially overridden", + " 45│ support: partial", + " 46│ delegation:", + " 47│ description: Can be used in conjunction with delegate_to and related keywords", + " 48│ support: none", + " 49│ diff_mode:", + " 50│ description: Will return details on what has changed (or possibly needs changing", + " 51│ in check_mode), when in diff mode", + " 52│ support: none", + " 53│ ignore_conditional:", + " 54│ description: The action is not subject to conditional execution so it will ignore", + " 55│ the C(when:) keyword", + " 56│ support: none", + " 57│ platform:", + " 58│ description: Target OS/families that can be operated against", + " 59│ platforms: all", + " 60│ support: N/A", + " 61│ tags:", + " 62│ description: Allows for the 'tags' keyword to control the selection of this", + " 63│ action for execution", + " 64│ support: full", + " 65│ until:", + " 66│ description: Denotes if this action objeys until/retry/poll keywords", + " 67│ support: full", + " 68│ author:", + " 69│ - Ansible Core Team", + " 70│ - Seth Vidal (@skvidal)", + " 71│ description:", + " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", + " 73│ of the same playbook.", + " 74│ - Takes variables so you can define the new hosts more fully.", + " 75│ - This module is also supported for Windows targets.", + " 76│ module: add_host", + " 77│ notes:", + " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", + " 79│ newer.", + " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", + " 81│ of the 'global inventory source', because you can now have multiple sources. An", + " 82│ example was added that shows how to partially restore the previous behaviour.", + " 83│ - Though this module does not change the remote host, we do provide 'changed' status", + " 84│ as it can be useful for those trying to track inventory changes.", + " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", + " 86│ of those need to be in agreement to make them available as play targets. They", + " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", + " 88│ options:", + " 89│ groups:", + " 90│ aliases:", + " 91│ - group", + " 92│ - groupname", + " 93│ description:", + " 94│ - The groups to add the hostname to.", + " 95│ elements: str", + " 96│ type: list", + " 97│ name:", + " 98│ aliases:", + " 99│ - host", + "100│ - hostname", + "101│ description:", + "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", + "103│ a port number.", + "104│ required: true", + "105│ type: str", + "106│ seealso:", + "107│ - module: ansible.builtin.group_by", + "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", + "109│ in-memory inventory", + "110│ version_added: '0.9'", + "111│ version_added_collection: ansible.builtin", + "112│examples: |-", + "113│ - name: Add host to group 'just_created' with variable foo=42", + "114│ ansible.builtin.add_host:", + "115│ name: '{{ ip_from_ec2 }}'", + "116│ groups: just_created", + "117│ foo: 42", + "118│", + "119│ - name: Add host to multiple groups", + "120│ ansible.builtin.add_host:", + "121│ hostname: '{{ new_ip }}'", + "122│ groups:", + "123│ - group1", + "124│ - group2", + "125│", + "126│ - name: Add a host with a non-standard port local to your machines", + "127│ ansible.builtin.add_host:", + "128│ name: '{{ new_ip }}:{{ new_port }}'", + "129│", + "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", + "131│ ansible.builtin.add_host:", + "132│ hostname: '{{ new_ip }}'", + "133│ ansible_ssh_host: '{{ inventory_hostname }}'", + "134│ ansible_ssh_port: '{{ new_port }}'", + "135│", + "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", + "137│ ansible.builtin.add_host:", + "138│ hostname: '{{ new_ip }}'", + "139│ ansible_host: '{{ inventory_hostname }}'", + "140│ ansible_port: '{{ new_port }}'", + "141│", + "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", + "143│ ansible.builtin.add_host:", + "144│ hostname: charlie", + "145│ inventory_dir: '{{ inventory_dir }}'", + "146│", + "147│ - name: Add all hosts running this playbook to the done group", + "148│ ansible.builtin.add_host:", + "149│ name: '{{ item }}'", + "150│ groups: done", + "151│ loop: \"{{ ansible_play_hosts }}\"", + "152│full_name: ansible.builtin.add_host", + "153│metadata: null", + "154│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/3.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/3.json index b87d0857b..40707c428 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/3.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/3.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/4.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/4.json index 787f06af9..40dbb6214 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/4.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/4.json @@ -1,15 +1,15 @@ { - "name": "test[04-:1-mod_1 plugin docs window]", + "name": "test[04-:1-lookup_1 plugin docs window]", "index": 4, - "comment": "mod_1 plugin docs window", + "comment": "lookup_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.mod_1", - "Description: This is a test module", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 1.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_1", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 1.0.0", - "37│ version_added_collection: company_name.coll_1", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_1.mod_1:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_1.mod_1", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/5.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/5.json index bd5fd8e79..a9f9bcc33 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/5.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/5.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/6.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/6.json index 88648ea59..8155a9005 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/6.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/6.json @@ -1,71 +1,68 @@ { - "name": "test[06-:2-role_full details window]", + "name": "test[06-:2-mod_1 plugin docs window]", "index": 6, - "comment": "role_full details window", + "comment": "mod_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_full", - "Description: Complete sample role.", + "Image: company_name.coll_1.mod_1", + "Description: This is a test module", " 0│---", - " 1│argument_specs:", - " 2│ alternate:", - " 3│ options:", - " 4│ role_full_int:", - " 5│ default: 1024", - " 6│ description: The integer value, defaulting to 1024.", - " 7│ required: false", - " 8│ type: int", - " 9│ short_description: The alternate entry point for the role_full role.", - "10│ main:", - "11│ options:", - "12│ role_full_int:", - "13│ default: 42", - "14│ description: The integer value, defaulting to 42.", - "15│ required: false", - "16│ type: int", - "17│ role_full_str:", - "18│ description: The string value", - "19│ required: true", - "20│ type: str", - "21│ short_description: The main entry point for the role_full role.", - "22│argument_specs_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", - "23│defaults:", - "24│ role_full_bool: true", - "25│ role_full_int: 42", - "26│ role_full_str: Test string", - "27│defaults_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", - "28│full_name: company_name.coll_1.role_full", - "29│info:", - "30│ dependencies: []", - "31│ galaxy_info:", - "32│ author: Ansible team (ansible-navigator)", - "33│ company: Ansible", - "34│ description: Complete sample role.", - "35│ galaxy_tags:", - "36│ - tag_1", - "37│ - tag_2", - "38│ license: LICENSE", - "39│ min_ansible_version: 2.9.0", - "40│ platforms:", - "41│ - name: eos", - "42│ versions:", - "43│ - all", - "44│info_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", - "45│readme: |-", - "46│ # Role full", - "47│", - "48│ This is a role with:", - "49│", - "50│ - defaults/main.yml", - "51│ - meta/argument_spec.yml", - "52│ - meta/main.yml", - "53│ - README.md", - "54│readme_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/README.md", - "55│short_name: role_full", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_1", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 1.0.0", + "37│ version_added_collection: company_name.coll_1", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_1.mod_1:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_1.mod_1", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/7.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/7.json index 6210fad0a..b9388cc10 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/7.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/7.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/8.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/8.json index ffd09d55e..776e4debe 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/8.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/8.json @@ -1,51 +1,71 @@ { - "name": "test[08-:3-role_minimal details window]", + "name": "test[08-:3-role_full details window]", "index": 8, - "comment": "role_minimal details window", + "comment": "role_full details window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_minimum", - "Description: Minimal sample role.", + "Image: company_name.coll_1.role_full", + "Description: Complete sample role.", " 0│---", - " 1│argument_specs: {}", - " 2│argument_specs_path: ''", - " 3│defaults: {}", - " 4│defaults_path: ''", - " 5│full_name: company_name.coll_1.role_minimum", - " 6│info:", - " 7│ dependencies: []", - " 8│ galaxy_info:", - " 9│ author: Ansible team (ansible-navigator)", - "10│ company: Ansible", - "11│ description: Minimal sample role.", - "12│ galaxy_tags:", - "13│ - tag_1", - "14│ - tag_2", - "15│ license: LICENSE", - "16│ min_ansible_version: 2.9.0", - "17│ platforms:", - "18│ - name: eos", - "19│ versions:", - "20│ - all", - "21│info_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", - "22│readme: |-", - "23│ # Role minimum", - "24│", - "25│ This is a role with:", - "26│", - "27│ - meta/main.yml", - "28│ - README.md", - "29│", - "30│ This is a role without:", - "31│", - "32│ - defaults/main.yml", - "33│ - meta/argument_spec.yml", - "34│readme_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", - "35│short_name: role_minimum", + " 1│argument_specs:", + " 2│ alternate:", + " 3│ options:", + " 4│ role_full_int:", + " 5│ default: 1024", + " 6│ description: The integer value, defaulting to 1024.", + " 7│ required: false", + " 8│ type: int", + " 9│ short_description: The alternate entry point for the role_full role.", + "10│ main:", + "11│ options:", + "12│ role_full_int:", + "13│ default: 42", + "14│ description: The integer value, defaulting to 42.", + "15│ required: false", + "16│ type: int", + "17│ role_full_str:", + "18│ description: The string value", + "19│ required: true", + "20│ type: str", + "21│ short_description: The main entry point for the role_full role.", + "22│argument_specs_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", + "23│defaults:", + "24│ role_full_bool: true", + "25│ role_full_int: 42", + "26│ role_full_str: Test string", + "27│defaults_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", + "28│full_name: company_name.coll_1.role_full", + "29│info:", + "30│ dependencies: []", + "31│ galaxy_info:", + "32│ author: Ansible team (ansible-navigator)", + "33│ company: Ansible", + "34│ description: Complete sample role.", + "35│ galaxy_tags:", + "36│ - tag_1", + "37│ - tag_2", + "38│ license: LICENSE", + "39│ min_ansible_version: 2.9.0", + "40│ platforms:", + "41│ - name: eos", + "42│ versions:", + "43│ - all", + "44│info_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", + "45│readme: |-", + "46│ # Role full", + "47│", + "48│ This is a role with:", + "49│", + "50│ - defaults/main.yml", + "51│ - meta/argument_spec.yml", + "52│ - meta/main.yml", + "53│ - README.md", + "54│readme_path: /tmp/collections_to_volmount/ansible_collections/company_name/coll_1/roles/role_full/README.md", + "55│short_name: role_full", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/9.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/9.json index b3aebd2a4..ab6b604b3 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/9.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_ee_with_volmount.py/test/9.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json index 2985c6563..8c38e0c2d 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/1.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json index 57bee5c91..9d418c641 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/10.json @@ -1,21 +1,51 @@ { - "name": "test[10-:back-Back to ansible-navigator collections browse window]", + "name": "test[10-:4-role_minimal details window]", "index": 10, - "comment": "Back to ansible-navigator collections browse window", + "comment": "role_minimal details window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Path", - "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.role_minimum", + "Description: Minimal sample role.", + " 0│---", + " 1│argument_specs: {}", + " 2│argument_specs_path: ''", + " 3│defaults: {}", + " 4│defaults_path: ''", + " 5│full_name: company_name.coll_1.role_minimum", + " 6│info:", + " 7│ dependencies: []", + " 8│ galaxy_info:", + " 9│ author: Ansible team (ansible-navigator)", + "10│ company: Ansible", + "11│ description: Minimal sample role.", + "12│ galaxy_tags:", + "13│ - tag_1", + "14│ - tag_2", + "15│ license: LICENSE", + "16│ min_ansible_version: 2.9.0", + "17│ platforms:", + "18│ - name: eos", + "19│ versions:", + "20│ - all", + "21│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", + "22│readme: |-", + "23│ # Role minimum", + "24│", + "25│ This is a role with:", + "26│", + "27│ - meta/main.yml", + "28│ - README.md", + "29│", + "30│ This is a role without:", + "31│", + "32│ - defaults/main.yml", + "33│ - meta/argument_spec.yml", + "34│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", + "35│short_name: role_minimum", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json index 97d8d8e19..cee9e1043 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/11.json @@ -1,16 +1,19 @@ { - "name": "test[11-:2-Browse company_name.coll_2 plugins window]", + "name": "test[11-:back-Back to browse company_name.coll_1 plugins window]", "index": 11, - "comment": "Browse company_name.coll_2 plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - " Company name.coll 2 Type Added Deprecated Description", - "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", - "1│mod_2 module 2.0.0 False This is a test module", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/12.json index 3f1e2e562..ecdd516be 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/12.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/12.json @@ -1,59 +1,21 @@ { - "name": "test[12-:0-lookup_2 plugin docs window]", + "name": "test[12-:back-Back to ansible-navigator collections browse window]", "index": 12, - "comment": "lookup_2 plugin docs window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_2.lookup_2", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_2", - " 7│ namespace: company_name", - " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 2.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_2", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 2.0.0", - "33│ version_added_collection: company_name.coll_2", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", - "38│full_name: company_name.coll_2.lookup_2", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/13.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/13.json index 380e06e5b..b4fccf84a 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/13.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/13.json @@ -1,7 +1,7 @@ { - "name": "test[13-:back-Back to browse company_name.coll_2 plugins window]", + "name": "test[13-:2-Browse company_name.coll_2 plugins window]", "index": 13, - "comment": "Back to browse company_name.coll_2 plugins window", + "comment": "Browse company_name.coll_2 plugins window", "additional_information": { "present": [], "absent": [], diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/14.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/14.json index b948b766e..a71a84152 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/14.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/14.json @@ -1,15 +1,15 @@ { - "name": "test[14-:1-mod_2 plugin docs window]", + "name": "test[14-:0-lookup_2 plugin docs window]", "index": 14, - "comment": "mod_2 plugin docs window", + "comment": "lookup_2 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_2.mod_2", - "Description: This is a test module", + "Image: company_name.coll_2.lookup_2", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 2.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_2", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 2.0.0", - "37│ version_added_collection: company_name.coll_2", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_2.mod_2:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_2.mod_2", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_2", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 2.0.0", + "33│ version_added_collection: company_name.coll_2", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", + "38│full_name: company_name.coll_2.lookup_2", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json index 8dd85a121..7c21b71d2 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/16.json @@ -1,21 +1,68 @@ { - "name": "test[16-:back-Back to ansible-navigator collections browse window]", + "name": "test[16-:1-mod_2 plugin docs window]", "index": 16, - "comment": "Back to ansible-navigator collections browse window", + "comment": "mod_2 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Path", - "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_2.mod_2", + "Description: This is a test module", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_2", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 2.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_2", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 2.0.0", + "37│ version_added_collection: company_name.coll_2", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_2.mod_2:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_2.mod_2", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json index 072aaa4b0..029bbcfe1 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/17.json @@ -1,21 +1,16 @@ { - "name": "test[17-:collections --ee FFFFF-Provide an invalid ee value]", + "name": "test[17-:back-Back to browse company_name.coll_2 plugins window]", "index": 17, - "comment": "Provide an invalid ee value", + "comment": "Back to browse company_name.coll_2 plugins window", "additional_information": { - "present": [ - "Issues were found while applying the settings" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Warning: Issues were found while applying the settings.", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Hint: Command provided: 'collections --ee FFFFF'", - " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", - " Hint: Try again with '--ee true' or '--ee false'", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Ok" + " Company name.coll 2 Type Added Deprecated Description", + "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", + "1│mod_2 module 2.0.0 False This is a test module", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json index baddf91ec..ed41cc049 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/18.json @@ -1,7 +1,7 @@ { - "name": "test[18-Enter-ansible-navigator collections browse window]", + "name": "test[18-:back-Back to ansible-navigator collections browse window]", "index": 18, - "comment": "ansible-navigator collections browse window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { "present": [ "ansible.builtin", @@ -12,10 +12,10 @@ "compared_fixture": false }, "output": [ - " Name Version Shadowed Path", - "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/19.json index f9376406e..cb4eaafea 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/19.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/19.json @@ -1,18 +1,21 @@ { - "name": "test[19-:1-Browse company_name.coll_1 plugins window]", + "name": "test[19-:collections --ee FFFFF-Provide an invalid ee value]", "index": 19, - "comment": "Browse company_name.coll_1 plugins window", + "comment": "Provide an invalid ee value", "additional_information": { - "present": [], + "present": [ + "Issues were found while applying the settings" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + " Warning: Issues were found while applying the settings.", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Hint: Command provided: 'collections --ee FFFFF'", + " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", + " Hint: Try again with '--ee true' or '--ee false'", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Ok" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/2.json index eff1f1c4c..ab309d7c7 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/2.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/2.json @@ -1,15 +1,15 @@ { - "name": "test[02-:0-lookup_1 plugin docs window]", + "name": "test[02-:0-filter_1 plugin docs window]", "index": 2, - "comment": "lookup_1 plugin docs window", + "comment": "filter_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -25,35 +25,17 @@ "12│doc:", "13│ author: test", "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", + "15│ - This is test filter plugin", + "16│ name: filter_1", "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/20.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/20.json index 24b833d48..c26f286b6 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/20.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/20.json @@ -1,59 +1,21 @@ { - "name": "test[20-:0-lookup_1 plugin docs window]", + "name": "test[20-Enter-ansible-navigator collections browse window]", "index": 20, - "comment": "lookup_1 plugin docs window", + "comment": "ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_1", - " 7│ namespace: company_name", - " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 1.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/21.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/21.json index 418cd5840..e05e32d8e 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/21.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/21.json @@ -1,7 +1,7 @@ { - "name": "test[21-:back-Back to browse company_name.coll_1 plugins window]", + "name": "test[21-:1-Browse company_name.coll_1 plugins window]", "index": 21, - "comment": "Back to browse company_name.coll_1 plugins window", + "comment": "Browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/22.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/22.json index 52d7ce63c..9388e525d 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/22.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/22.json @@ -1,21 +1,41 @@ { - "name": "test[22-:back-Back to ansible-navigator collections browse window]", + "name": "test[22-:0-filter_1 plugin docs window]", "index": 22, - "comment": "Back to ansible-navigator collections browse window", + "comment": "filter_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Path", - "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test filter plugin", + "16│ name: filter_1", + "17│ notes:", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/23.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/23.json index b0ae28558..9ca1403a2 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/23.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/23.json @@ -1,143 +1,19 @@ { - "name": "test[23-:0-Browse ansible.builtin plugins window]", + "name": "test[23-:back-Back to browse company_name.coll_1 plugins window]", "index": 23, - "comment": "Browse ansible.builtin plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { - "present": [ - "yum_repository" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Ansible.builtin Type Added Deprecated Description", - " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", - " 2│apt module 0.0.2 False Manages apt-packages", - " 3│apt_key module 1.0 False Add or remove an apt key", - " 4│apt_repository module 0.7 False Add and remove APT repositories", - " 5│assemble module 0.5 False Assemble configuration files from fragments", - " 6│assert module 1.5 False Asserts given expressions are true", - " 7│async_status module 0.5 False Obtain status of asynchronous task", - " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", - " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", - " 10│cmd shell 2.8 False Windows Command Prompt", - " 11│command module historical False Execute commands on targets", - " 12│config lookup 2.5 False Lookup current Ansible configuration values", - " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", - " 14│copy module historical False Copy files to remote locations", - " 15│cron module 0.9 False Manage cron.d and crontab entries", - " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", - " 17│debconf module 1.6 False Configure a .deb package", - " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", - " 19│debug module 0.8 False Print statements during execution", - " 20│default callback historical False default Ansible screen output", - " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", - " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", - " 23│dpkg_selections module 2.0 False Dpkg package selection selections", - " 24│env lookup 0.9 False Read the value of environment variables", - " 25│expect module 2.0 False Executes a command and responds to prompts", - " 26│fail module 0.8 False Fail with custom message", - " 27│fetch module 0.2 False Fetch files from remote nodes", - " 28│file lookup 0.9 False read file contents", - " 29│file module historical False Manage files and file properties", - " 30│fileglob lookup 1.4 False list files matching a pattern", - " 31│find module 2.0 False Return a list of files based on specific criteria", - " 32│first_found lookup historical False return first file found from list", - " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", - " 34│gather_facts module 2.8 False Gathers facts about remote hosts", - " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", - " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", - " 37│getent module 1.8 False A wrapper to the unix getent utility", - " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", - " 39│group module 0.0.2 False Add or remove groups", - " 40│group_by module 0.9 False Create Ansible groups based on facts", - " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", - " 42│host_list inventory 2.4 False Parses a 'host list' string", - " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", - " 44│hostname module 1.4 False Manage hostname", - " 45│import_playbook module 2.4 False Import a playbook", - " 46│import_role module 2.4 False Import a role into a play", - " 47│import_tasks module 2.4 False Import a task list", - " 48│include module 0.6 False Include a task list", - " 49│include_role module 2.2 False Load and execute a role", - " 50│include_tasks module 2.4 False Dynamically include a task list", - " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", - " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", - " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", - " 54│ini lookup 2.0 False read data from an ini file", - " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", - " 56│iptables module 2.0 False Modify iptables rules", - " 57│items lookup historical False list of items", - " 58│jsonfile cache 1.9 False JSON formatted files.", - " 59│junit callback historical False write playbook output to a JUnit file.", - " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", - " 61│linear strategy 2.0 False Executes tasks in a linear fashion", - " 62│lineinfile module 0.7 False Manage lines in text files", - " 63│lines lookup 0.9 False read lines from command", - " 64│list lookup 2.0 False simply returns what it is given.", - " 65│local connection historical False execute on controller", - " 66│memory cache historical False RAM backed, non persistent", - " 67│meta module 1.2 False Execute Ansible 'actions'", - " 68│minimal callback historical False minimal Ansible screen output", - " 69│nested lookup 1.1 False composes a list with nested elements of other lists", - " 70│oneline callback historical False oneline Ansible screen output", - " 71│package module 2.0 False Generic OS package manager", - " 72│package_facts module 2.5 False Package information as facts", - " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", - " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", - " 75│pause module 0.8 False Pause playbook execution", - " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", - " 77│pip module 0.7 False Manages Python library dependencies", - " 78│pipe lookup 0.9 False read output from a command", - " 79│powershell shell historical False Windows PowerShell", - " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", - " 81│random_choice lookup 1.1 False return random element from list", - " 82│raw module historical False Executes a low-down and dirty command", - " 83│reboot module 2.7 False Reboot a machine", - " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", - " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", - " 86│runas become 2.8 False Run As user", - " 87│script inventory 2.4 False Executes an inventory script that returns JSON", - " 88│script module 0.9 False Runs a local script on a remote node after transferring it", - " 89│sequence lookup 1.0 False generate a list based on a number sequence", - " 90│service module 0.1 False Manage services", - " 91│service_facts module 2.5 False Return service state information as fact data", - " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", - " 93│set_stats module 2.3 False Define and display stats for the current ansible run", - " 94│setup module historical False Gathers facts about remote hosts", - " 95│sh shell historical False POSIX shell (/bin/sh)", - " 96│shell module 0.2 False Execute shell commands on targets", - " 97│slurp module historical False Slurps a file from remote nodes", - " 98│ssh connection historical False connect via SSH client binary", - " 99│stat module 1.3 False Retrieve file or file system status", - "100│su become 2.8 False Substitute User", - "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", - "102│subversion module 0.7 False Deploys a subversion repository", - "103│sudo become 2.8 False Substitute User DO", - "104│systemd_service module 2.2 False Manage systemd units", - "105│sysvinit module 2.6 False Manage SysV services.", - "106│tempfile module 2.3 False Creates temporary files and directories", - "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", - "108│template module historical False Template a file out to a target host", - "109│together lookup 1.3 False merges lists into synchronized list", - "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", - "111│tree callback 2.0 False Save host events to files", - "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", - "113│unvault lookup 2.10 False read vaulted file(s) contents", - "114│uri module 1.1 False Interacts with webservices", - "115│url lookup 1.9 False return contents from URL", - "116│urlsplit filter 2.4 False get components from URL", - "117│user module 0.2 False Manage user accounts", - "118│validate_argument_spec module 2.11 False Validate role argument specs.", - "119│varnames lookup 2.8 False Lookup matching variable names", - "120│vars lookup 2.5 False Lookup templated value of variables", - "121│wait_for module 0.7 False Waits for a condition before continuing", - "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", - "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", - "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", - "125│yum module historical False Manages packages with the I(yum) package manager", - "126│yum_repository module 2.1 False Add or remove YUM repositories", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/24.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/24.json index 049ae81b2..93352d85a 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/24.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/24.json @@ -1,172 +1,59 @@ { - "name": "test[24-:0-Browse ansible.builtin.add_host module]", + "name": "test[24-:1-lookup_1 plugin docs window]", "index": 24, - "comment": "Browse ansible.builtin.add_host module", + "comment": "lookup_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin.add_host" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - "Image: ansible.builtin.add_host", - "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ name: ansible.builtin", - " 4│ path: /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - " 5│ shadowed_by: []", - " 6│ version: 2.14.3", - " 7│doc:", - " 8│ attributes:", - " 9│ action:", - " 10│ description: Indicates this has a corresponding action plugin so some parts", - " 11│ of the options can be executed on the controller", - " 12│ support: full", - " 13│ async:", - " 14│ description: Supports being used with the C(async) keyword", - " 15│ support: none", - " 16│ become:", - " 17│ description: Is usable alongside become keywords", - " 18│ support: none", - " 19│ bypass_host_loop:", - " 20│ description:", - " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", - " 22│ templating and serial, throttle and other loop considerations", - " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", - " 24│ be from the first available host", - " 25│ - This action will not work normally outside of lockstep strategies", - " 26│ support: full", - " 27│ bypass_task_loop:", - " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", - " 29│ support: none", - " 30│ check_mode:", - " 31│ description: Can run in check_mode and return changed status prediction without", - " 32│ modifying target", - " 33│ details: While this makes no changes to target systems the 'in memory' inventory", - " 34│ will still be altered", - " 35│ support: partial", - " 36│ connection:", - " 37│ description: Uses the target's configured connection information to execute", - " 38│ code on it", - " 39│ support: none", - " 40│ core:", - " 41│ description: This is a 'core engine' feature and is not implemented like most", - " 42│ task actions, so it is not overridable in any way via the plugin system.", - " 43│ details: While parts of this action are implemented in core, other parts are", - " 44│ still available as normal plugins and can be partially overridden", - " 45│ support: partial", - " 46│ delegation:", - " 47│ description: Can be used in conjunction with delegate_to and related keywords", - " 48│ support: none", - " 49│ diff_mode:", - " 50│ description: Will return details on what has changed (or possibly needs changing", - " 51│ in check_mode), when in diff mode", - " 52│ support: none", - " 53│ ignore_conditional:", - " 54│ description: The action is not subject to conditional execution so it will ignore", - " 55│ the C(when:) keyword", - " 56│ support: none", - " 57│ platform:", - " 58│ description: Target OS/families that can be operated against", - " 59│ platforms: all", - " 60│ support: N/A", - " 61│ tags:", - " 62│ description: Allows for the 'tags' keyword to control the selection of this", - " 63│ action for execution", - " 64│ support: full", - " 65│ until:", - " 66│ description: Denotes if this action objeys until/retry/poll keywords", - " 67│ support: full", - " 68│ author:", - " 69│ - Ansible Core Team", - " 70│ - Seth Vidal (@skvidal)", - " 71│ description:", - " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", - " 73│ of the same playbook.", - " 74│ - Takes variables so you can define the new hosts more fully.", - " 75│ - This module is also supported for Windows targets.", - " 76│ module: add_host", - " 77│ notes:", - " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", - " 79│ newer.", - " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", - " 81│ of the 'global inventory source', because you can now have multiple sources. An", - " 82│ example was added that shows how to partially restore the previous behaviour.", - " 83│ - Though this module does not change the remote host, we do provide 'changed' status", - " 84│ as it can be useful for those trying to track inventory changes.", - " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", - " 86│ of those need to be in agreement to make them available as play targets. They", - " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", - " 88│ options:", - " 89│ groups:", - " 90│ aliases:", - " 91│ - group", - " 92│ - groupname", - " 93│ description:", - " 94│ - The groups to add the hostname to.", - " 95│ elements: str", - " 96│ type: list", - " 97│ name:", - " 98│ aliases:", - " 99│ - host", - "100│ - hostname", - "101│ description:", - "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", - "103│ a port number.", - "104│ required: true", - "105│ type: str", - "106│ seealso:", - "107│ - module: ansible.builtin.group_by", - "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", - "109│ in-memory inventory", - "110│ version_added: '0.9'", - "111│ version_added_collection: ansible.builtin", - "112│examples: |-", - "113│ - name: Add host to group 'just_created' with variable foo=42", - "114│ ansible.builtin.add_host:", - "115│ name: '{{ ip_from_ec2 }}'", - "116│ groups: just_created", - "117│ foo: 42", - "118│", - "119│ - name: Add host to multiple groups", - "120│ ansible.builtin.add_host:", - "121│ hostname: '{{ new_ip }}'", - "122│ groups:", - "123│ - group1", - "124│ - group2", - "125│", - "126│ - name: Add a host with a non-standard port local to your machines", - "127│ ansible.builtin.add_host:", - "128│ name: '{{ new_ip }}:{{ new_port }}'", - "129│", - "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", - "131│ ansible.builtin.add_host:", - "132│ hostname: '{{ new_ip }}'", - "133│ ansible_ssh_host: '{{ inventory_hostname }}'", - "134│ ansible_ssh_port: '{{ new_port }}'", - "135│", - "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", - "137│ ansible.builtin.add_host:", - "138│ hostname: '{{ new_ip }}'", - "139│ ansible_host: '{{ inventory_hostname }}'", - "140│ ansible_port: '{{ new_port }}'", - "141│", - "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", - "143│ ansible.builtin.add_host:", - "144│ hostname: charlie", - "145│ inventory_dir: '{{ inventory_dir }}'", - "146│", - "147│ - name: Add all hosts running this playbook to the done group", - "148│ ansible.builtin.add_host:", - "149│ name: '{{ item }}'", - "150│ groups: done", - "151│ loop: \"{{ ansible_play_hosts }}\"", - "152│full_name: ansible.builtin.add_host", - "153│metadata: null", - "154│returndocs: null", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/25.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/25.json new file mode 100644 index 000000000..21819593d --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/25.json @@ -0,0 +1,19 @@ +{ + "name": "test[25-:back-Back to browse company_name.coll_1 plugins window]", + "index": 25, + "comment": "Back to browse company_name.coll_1 plugins window", + "additional_information": { + "present": [], + "absent": [], + "compared_fixture": true + }, + "output": [ + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/26.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/26.json new file mode 100644 index 000000000..e3f3aecf2 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/26.json @@ -0,0 +1,21 @@ +{ + "name": "test[26-:back-Back to ansible-navigator collections browse window]", + "index": 26, + "comment": "Back to ansible-navigator collections browse window", + "additional_information": { + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Name Version Shadowed Path", + "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/27.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/27.json new file mode 100644 index 000000000..cc3c40b77 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/27.json @@ -0,0 +1,143 @@ +{ + "name": "test[27-:0-Browse ansible.builtin plugins window]", + "index": 27, + "comment": "Browse ansible.builtin plugins window", + "additional_information": { + "present": [ + "yum_repository" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Ansible.builtin Type Added Deprecated Description", + " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", + " 2│apt module 0.0.2 False Manages apt-packages", + " 3│apt_key module 1.0 False Add or remove an apt key", + " 4│apt_repository module 0.7 False Add and remove APT repositories", + " 5│assemble module 0.5 False Assemble configuration files from fragments", + " 6│assert module 1.5 False Asserts given expressions are true", + " 7│async_status module 0.5 False Obtain status of asynchronous task", + " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", + " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", + " 10│cmd shell 2.8 False Windows Command Prompt", + " 11│command module historical False Execute commands on targets", + " 12│config lookup 2.5 False Lookup current Ansible configuration values", + " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", + " 14│copy module historical False Copy files to remote locations", + " 15│cron module 0.9 False Manage cron.d and crontab entries", + " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", + " 17│debconf module 1.6 False Configure a .deb package", + " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", + " 19│debug module 0.8 False Print statements during execution", + " 20│default callback historical False default Ansible screen output", + " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", + " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", + " 23│dpkg_selections module 2.0 False Dpkg package selection selections", + " 24│env lookup 0.9 False Read the value of environment variables", + " 25│expect module 2.0 False Executes a command and responds to prompts", + " 26│fail module 0.8 False Fail with custom message", + " 27│fetch module 0.2 False Fetch files from remote nodes", + " 28│file lookup 0.9 False read file contents", + " 29│file module historical False Manage files and file properties", + " 30│fileglob lookup 1.4 False list files matching a pattern", + " 31│find module 2.0 False Return a list of files based on specific criteria", + " 32│first_found lookup historical False return first file found from list", + " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", + " 34│gather_facts module 2.8 False Gathers facts about remote hosts", + " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", + " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", + " 37│getent module 1.8 False A wrapper to the unix getent utility", + " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", + " 39│group module 0.0.2 False Add or remove groups", + " 40│group_by module 0.9 False Create Ansible groups based on facts", + " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", + " 42│host_list inventory 2.4 False Parses a 'host list' string", + " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", + " 44│hostname module 1.4 False Manage hostname", + " 45│import_playbook module 2.4 False Import a playbook", + " 46│import_role module 2.4 False Import a role into a play", + " 47│import_tasks module 2.4 False Import a task list", + " 48│include module 0.6 False Include a task list", + " 49│include_role module 2.2 False Load and execute a role", + " 50│include_tasks module 2.4 False Dynamically include a task list", + " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", + " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", + " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", + " 54│ini lookup 2.0 False read data from an ini file", + " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", + " 56│iptables module 2.0 False Modify iptables rules", + " 57│items lookup historical False list of items", + " 58│jsonfile cache 1.9 False JSON formatted files.", + " 59│junit callback historical False write playbook output to a JUnit file.", + " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", + " 61│linear strategy 2.0 False Executes tasks in a linear fashion", + " 62│lineinfile module 0.7 False Manage lines in text files", + " 63│lines lookup 0.9 False read lines from command", + " 64│list lookup 2.0 False simply returns what it is given.", + " 65│local connection historical False execute on controller", + " 66│memory cache historical False RAM backed, non persistent", + " 67│meta module 1.2 False Execute Ansible 'actions'", + " 68│minimal callback historical False minimal Ansible screen output", + " 69│nested lookup 1.1 False composes a list with nested elements of other lists", + " 70│oneline callback historical False oneline Ansible screen output", + " 71│package module 2.0 False Generic OS package manager", + " 72│package_facts module 2.5 False Package information as facts", + " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", + " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", + " 75│pause module 0.8 False Pause playbook execution", + " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", + " 77│pip module 0.7 False Manages Python library dependencies", + " 78│pipe lookup 0.9 False read output from a command", + " 79│powershell shell historical False Windows PowerShell", + " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", + " 81│random_choice lookup 1.1 False return random element from list", + " 82│raw module historical False Executes a low-down and dirty command", + " 83│reboot module 2.7 False Reboot a machine", + " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", + " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", + " 86│runas become 2.8 False Run As user", + " 87│script inventory 2.4 False Executes an inventory script that returns JSON", + " 88│script module 0.9 False Runs a local script on a remote node after transferring it", + " 89│sequence lookup 1.0 False generate a list based on a number sequence", + " 90│service module 0.1 False Manage services", + " 91│service_facts module 2.5 False Return service state information as fact data", + " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", + " 93│set_stats module 2.3 False Define and display stats for the current ansible run", + " 94│setup module historical False Gathers facts about remote hosts", + " 95│sh shell historical False POSIX shell (/bin/sh)", + " 96│shell module 0.2 False Execute shell commands on targets", + " 97│slurp module historical False Slurps a file from remote nodes", + " 98│ssh connection historical False connect via SSH client binary", + " 99│stat module 1.3 False Retrieve file or file system status", + "100│su become 2.8 False Substitute User", + "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", + "102│subversion module 0.7 False Deploys a subversion repository", + "103│sudo become 2.8 False Substitute User DO", + "104│systemd_service module 2.2 False Manage systemd units", + "105│sysvinit module 2.6 False Manage SysV services.", + "106│tempfile module 2.3 False Creates temporary files and directories", + "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", + "108│template module historical False Template a file out to a target host", + "109│together lookup 1.3 False merges lists into synchronized list", + "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", + "111│tree callback 2.0 False Save host events to files", + "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", + "113│unvault lookup 2.10 False read vaulted file(s) contents", + "114│uri module 1.1 False Interacts with webservices", + "115│url lookup 1.9 False return contents from URL", + "116│urlsplit filter 2.4 False get components from URL", + "117│user module 0.2 False Manage user accounts", + "118│validate_argument_spec module 2.11 False Validate role argument specs.", + "119│varnames lookup 2.8 False Lookup matching variable names", + "120│vars lookup 2.5 False Lookup templated value of variables", + "121│wait_for module 0.7 False Waits for a condition before continuing", + "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", + "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", + "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", + "125│yum module historical False Manages packages with the I(yum) package manager", + "126│yum_repository module 2.1 False Add or remove YUM repositories", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/28.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/28.json new file mode 100644 index 000000000..9dd7aaa64 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/28.json @@ -0,0 +1,172 @@ +{ + "name": "test[28-:1-Browse ansible.builtin.add_host module]", + "index": 28, + "comment": "Browse ansible.builtin.add_host module", + "additional_information": { + "present": [ + "ansible.builtin.add_host" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + "Image: ansible.builtin.add_host", + "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ name: ansible.builtin", + " 4│ path: /usr/local/lib/python3.XX/site-packages/ansible", + " 5│ shadowed_by: []", + " 6│ version: 2.14.1", + " 7│doc:", + " 8│ attributes:", + " 9│ action:", + " 10│ description: Indicates this has a corresponding action plugin so some parts", + " 11│ of the options can be executed on the controller", + " 12│ support: full", + " 13│ async:", + " 14│ description: Supports being used with the C(async) keyword", + " 15│ support: none", + " 16│ become:", + " 17│ description: Is usable alongside become keywords", + " 18│ support: none", + " 19│ bypass_host_loop:", + " 20│ description:", + " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", + " 22│ templating and serial, throttle and other loop considerations", + " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", + " 24│ be from the first available host", + " 25│ - This action will not work normally outside of lockstep strategies", + " 26│ support: full", + " 27│ bypass_task_loop:", + " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", + " 29│ support: none", + " 30│ check_mode:", + " 31│ description: Can run in check_mode and return changed status prediction without", + " 32│ modifying target", + " 33│ details: While this makes no changes to target systems the 'in memory' inventory", + " 34│ will still be altered", + " 35│ support: partial", + " 36│ connection:", + " 37│ description: Uses the target's configured connection information to execute", + " 38│ code on it", + " 39│ support: none", + " 40│ core:", + " 41│ description: This is a 'core engine' feature and is not implemented like most", + " 42│ task actions, so it is not overridable in any way via the plugin system.", + " 43│ details: While parts of this action are implemented in core, other parts are", + " 44│ still available as normal plugins and can be partially overridden", + " 45│ support: partial", + " 46│ delegation:", + " 47│ description: Can be used in conjunction with delegate_to and related keywords", + " 48│ support: none", + " 49│ diff_mode:", + " 50│ description: Will return details on what has changed (or possibly needs changing", + " 51│ in check_mode), when in diff mode", + " 52│ support: none", + " 53│ ignore_conditional:", + " 54│ description: The action is not subject to conditional execution so it will ignore", + " 55│ the C(when:) keyword", + " 56│ support: none", + " 57│ platform:", + " 58│ description: Target OS/families that can be operated against", + " 59│ platforms: all", + " 60│ support: N/A", + " 61│ tags:", + " 62│ description: Allows for the 'tags' keyword to control the selection of this", + " 63│ action for execution", + " 64│ support: full", + " 65│ until:", + " 66│ description: Denotes if this action objeys until/retry/poll keywords", + " 67│ support: full", + " 68│ author:", + " 69│ - Ansible Core Team", + " 70│ - Seth Vidal (@skvidal)", + " 71│ description:", + " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", + " 73│ of the same playbook.", + " 74│ - Takes variables so you can define the new hosts more fully.", + " 75│ - This module is also supported for Windows targets.", + " 76│ module: add_host", + " 77│ notes:", + " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", + " 79│ newer.", + " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", + " 81│ of the 'global inventory source', because you can now have multiple sources. An", + " 82│ example was added that shows how to partially restore the previous behaviour.", + " 83│ - Though this module does not change the remote host, we do provide 'changed' status", + " 84│ as it can be useful for those trying to track inventory changes.", + " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", + " 86│ of those need to be in agreement to make them available as play targets. They", + " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", + " 88│ options:", + " 89│ groups:", + " 90│ aliases:", + " 91│ - group", + " 92│ - groupname", + " 93│ description:", + " 94│ - The groups to add the hostname to.", + " 95│ elements: str", + " 96│ type: list", + " 97│ name:", + " 98│ aliases:", + " 99│ - host", + "100│ - hostname", + "101│ description:", + "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", + "103│ a port number.", + "104│ required: true", + "105│ type: str", + "106│ seealso:", + "107│ - module: ansible.builtin.group_by", + "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", + "109│ in-memory inventory", + "110│ version_added: '0.9'", + "111│ version_added_collection: ansible.builtin", + "112│examples: |-", + "113│ - name: Add host to group 'just_created' with variable foo=42", + "114│ ansible.builtin.add_host:", + "115│ name: '{{ ip_from_ec2 }}'", + "116│ groups: just_created", + "117│ foo: 42", + "118│", + "119│ - name: Add host to multiple groups", + "120│ ansible.builtin.add_host:", + "121│ hostname: '{{ new_ip }}'", + "122│ groups:", + "123│ - group1", + "124│ - group2", + "125│", + "126│ - name: Add a host with a non-standard port local to your machines", + "127│ ansible.builtin.add_host:", + "128│ name: '{{ new_ip }}:{{ new_port }}'", + "129│", + "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", + "131│ ansible.builtin.add_host:", + "132│ hostname: '{{ new_ip }}'", + "133│ ansible_ssh_host: '{{ inventory_hostname }}'", + "134│ ansible_ssh_port: '{{ new_port }}'", + "135│", + "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", + "137│ ansible.builtin.add_host:", + "138│ hostname: '{{ new_ip }}'", + "139│ ansible_host: '{{ inventory_hostname }}'", + "140│ ansible_port: '{{ new_port }}'", + "141│", + "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", + "143│ ansible.builtin.add_host:", + "144│ hostname: charlie", + "145│ inventory_dir: '{{ inventory_dir }}'", + "146│", + "147│ - name: Add all hosts running this playbook to the done group", + "148│ ansible.builtin.add_host:", + "149│ name: '{{ item }}'", + "150│ groups: done", + "151│ loop: \"{{ ansible_play_hosts }}\"", + "152│full_name: ansible.builtin.add_host", + "153│metadata: null", + "154│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/3.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/3.json index b87d0857b..40707c428 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/3.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/3.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/4.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/4.json index 751517c18..4e9909b10 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/4.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/4.json @@ -1,15 +1,15 @@ { - "name": "test[04-:1-mod_1 plugin docs window]", + "name": "test[04-:1-lookup_1 plugin docs window]", "index": 4, - "comment": "mod_1 plugin docs window", + "comment": "lookup_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.mod_1", - "Description: This is a test module", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 1.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_1", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 1.0.0", - "37│ version_added_collection: company_name.coll_1", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_1.mod_1:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_1.mod_1", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/5.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/5.json index bd5fd8e79..a9f9bcc33 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/5.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/5.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/6.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/6.json index 1b9a7d561..9c57d0c0e 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/6.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/6.json @@ -1,71 +1,68 @@ { - "name": "test[06-:2-role_full details window]", + "name": "test[06-:2-mod_1 plugin docs window]", "index": 6, - "comment": "role_full details window", + "comment": "mod_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_full", - "Description: Complete sample role.", + "Image: company_name.coll_1.mod_1", + "Description: This is a test module", " 0│---", - " 1│argument_specs:", - " 2│ alternate:", - " 3│ options:", - " 4│ role_full_int:", - " 5│ default: 1024", - " 6│ description: The integer value, defaulting to 1024.", - " 7│ required: false", - " 8│ type: int", - " 9│ short_description: The alternate entry point for the role_full role.", - "10│ main:", - "11│ options:", - "12│ role_full_int:", - "13│ default: 42", - "14│ description: The integer value, defaulting to 42.", - "15│ required: false", - "16│ type: int", - "17│ role_full_str:", - "18│ description: The string value", - "19│ required: true", - "20│ type: str", - "21│ short_description: The main entry point for the role_full role.", - "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", - "23│defaults:", - "24│ role_full_bool: true", - "25│ role_full_int: 42", - "26│ role_full_str: Test string", - "27│defaults_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", - "28│full_name: company_name.coll_1.role_full", - "29│info:", - "30│ dependencies: []", - "31│ galaxy_info:", - "32│ author: Ansible team (ansible-navigator)", - "33│ company: Ansible", - "34│ description: Complete sample role.", - "35│ galaxy_tags:", - "36│ - tag_1", - "37│ - tag_2", - "38│ license: LICENSE", - "39│ min_ansible_version: 2.9.0", - "40│ platforms:", - "41│ - name: eos", - "42│ versions:", - "43│ - all", - "44│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", - "45│readme: |-", - "46│ # Role full", - "47│", - "48│ This is a role with:", - "49│", - "50│ - defaults/main.yml", - "51│ - meta/argument_spec.yml", - "52│ - meta/main.yml", - "53│ - README.md", - "54│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md", - "55│short_name: role_full", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_1", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 1.0.0", + "37│ version_added_collection: company_name.coll_1", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_1.mod_1:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_1.mod_1", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/7.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/7.json index 6210fad0a..b9388cc10 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/7.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/7.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/8.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/8.json index dc9594647..352c6237a 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/8.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/8.json @@ -1,51 +1,71 @@ { - "name": "test[08-:3-role_minimal details window]", + "name": "test[08-:3-role_full details window]", "index": 8, - "comment": "role_minimal details window", + "comment": "role_full details window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_minimum", - "Description: Minimal sample role.", + "Image: company_name.coll_1.role_full", + "Description: Complete sample role.", " 0│---", - " 1│argument_specs: {}", - " 2│argument_specs_path: ''", - " 3│defaults: {}", - " 4│defaults_path: ''", - " 5│full_name: company_name.coll_1.role_minimum", - " 6│info:", - " 7│ dependencies: []", - " 8│ galaxy_info:", - " 9│ author: Ansible team (ansible-navigator)", - "10│ company: Ansible", - "11│ description: Minimal sample role.", - "12│ galaxy_tags:", - "13│ - tag_1", - "14│ - tag_2", - "15│ license: LICENSE", - "16│ min_ansible_version: 2.9.0", - "17│ platforms:", - "18│ - name: eos", - "19│ versions:", - "20│ - all", - "21│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", - "22│readme: |-", - "23│ # Role minimum", - "24│", - "25│ This is a role with:", - "26│", - "27│ - meta/main.yml", - "28│ - README.md", - "29│", - "30│ This is a role without:", - "31│", - "32│ - defaults/main.yml", - "33│ - meta/argument_spec.yml", - "34│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", - "35│short_name: role_minimum", + " 1│argument_specs:", + " 2│ alternate:", + " 3│ options:", + " 4│ role_full_int:", + " 5│ default: 1024", + " 6│ description: The integer value, defaulting to 1024.", + " 7│ required: false", + " 8│ type: int", + " 9│ short_description: The alternate entry point for the role_full role.", + "10│ main:", + "11│ options:", + "12│ role_full_int:", + "13│ default: 42", + "14│ description: The integer value, defaulting to 42.", + "15│ required: false", + "16│ type: int", + "17│ role_full_str:", + "18│ description: The string value", + "19│ required: true", + "20│ type: str", + "21│ short_description: The main entry point for the role_full role.", + "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", + "23│defaults:", + "24│ role_full_bool: true", + "25│ role_full_int: 42", + "26│ role_full_str: Test string", + "27│defaults_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", + "28│full_name: company_name.coll_1.role_full", + "29│info:", + "30│ dependencies: []", + "31│ galaxy_info:", + "32│ author: Ansible team (ansible-navigator)", + "33│ company: Ansible", + "34│ description: Complete sample role.", + "35│ galaxy_tags:", + "36│ - tag_1", + "37│ - tag_2", + "38│ license: LICENSE", + "39│ min_ansible_version: 2.9.0", + "40│ platforms:", + "41│ - name: eos", + "42│ versions:", + "43│ - all", + "44│info_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", + "45│readme: |-", + "46│ # Role full", + "47│", + "48│ This is a role with:", + "49│", + "50│ - defaults/main.yml", + "51│ - meta/argument_spec.yml", + "52│ - meta/main.yml", + "53│ - README.md", + "54│readme_path: FIXTURES_COLLECTION_DIR/test_direct_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md", + "55│short_name: role_full", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/9.json b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/9.json index b3aebd2a4..ab6b604b3 100644 --- a/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/9.json +++ b/tests/fixtures/integration/actions/collections/test_direct_interactive_noee.py/test/9.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/10.json index a233b5110..ef23bf67f 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/10.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/10.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json index 33358ef47..a906667e9 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/11.json @@ -1,21 +1,51 @@ { - "name": "test[11-:back-Back to ansible-navigator collections browse window]", + "name": "test[11-:4-role_minimal details window]", "index": 11, - "comment": "Back to ansible-navigator collections browse window", + "comment": "role_minimal details window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.role_minimum", + "Description: Minimal sample role.", + " 0│---", + " 1│argument_specs: {}", + " 2│argument_specs_path: ''", + " 3│defaults: {}", + " 4│defaults_path: ''", + " 5│full_name: company_name.coll_1.role_minimum", + " 6│info:", + " 7│ dependencies: []", + " 8│ galaxy_info:", + " 9│ author: Ansible team (ansible-navigator)", + "10│ company: Ansible", + "11│ description: Minimal sample role.", + "12│ galaxy_tags:", + "13│ - tag_1", + "14│ - tag_2", + "15│ license: LICENSE", + "16│ min_ansible_version: 2.9.0", + "17│ platforms:", + "18│ - name: eos", + "19│ versions:", + "20│ - all", + "21│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", + "22│readme: |-", + "23│ # Role minimum", + "24│", + "25│ This is a role with:", + "26│", + "27│ - meta/main.yml", + "28│ - README.md", + "29│", + "30│ This is a role without:", + "31│", + "32│ - defaults/main.yml", + "33│ - meta/argument_spec.yml", + "34│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", + "35│short_name: role_minimum", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json index 84b0f2f94..d78710670 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/12.json @@ -1,16 +1,19 @@ { - "name": "test[12-:2-Browse company_name.coll_2 plugins window]", + "name": "test[12-:back-Back to browse company_name.coll_1 plugins window]", "index": 12, - "comment": "Browse company_name.coll_2 plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - " Company name.coll 2 Type Added Deprecated Description", - "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", - "1│mod_2 module 2.0.0 False This is a test module", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/13.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/13.json index 4599d192f..3e1441a9e 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/13.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/13.json @@ -1,59 +1,21 @@ { - "name": "test[13-:0-lookup_2 plugin docs window]", + "name": "test[13-:back-Back to ansible-navigator collections browse window]", "index": 13, - "comment": "lookup_2 plugin docs window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_2.lookup_2", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_2", - " 7│ namespace: company_name", - " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 2.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_2", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 2.0.0", - "33│ version_added_collection: company_name.coll_2", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", - "38│full_name: company_name.coll_2.lookup_2", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/14.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/14.json index f7647d576..383f17a61 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/14.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/14.json @@ -1,7 +1,7 @@ { - "name": "test[14-:back-Back to browse company_name.coll_2 plugins window]", + "name": "test[14-:2-Browse company_name.coll_2 plugins window]", "index": 14, - "comment": "Back to browse company_name.coll_2 plugins window", + "comment": "Browse company_name.coll_2 plugins window", "additional_information": { "present": [], "absent": [], diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/15.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/15.json index 5af4eb09d..28956e7ea 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/15.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/15.json @@ -1,15 +1,15 @@ { - "name": "test[15-:1-mod_2 plugin docs window]", + "name": "test[15-:0-lookup_2 plugin docs window]", "index": 15, - "comment": "mod_2 plugin docs window", + "comment": "lookup_2 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_2.mod_2", - "Description: This is a test module", + "Image: company_name.coll_2.lookup_2", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 2.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_2", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 2.0.0", - "37│ version_added_collection: company_name.coll_2", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_2.mod_2:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_2.mod_2", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_2", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 2.0.0", + "33│ version_added_collection: company_name.coll_2", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", + "38│full_name: company_name.coll_2.lookup_2", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json index 53b064252..837d3890f 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/17.json @@ -1,21 +1,68 @@ { - "name": "test[17-:back-Back to ansible-navigator collections browse window]", + "name": "test[17-:1-mod_2 plugin docs window]", "index": 17, - "comment": "Back to ansible-navigator collections browse window", + "comment": "mod_2 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_2.mod_2", + "Description: This is a test module", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_2", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 2.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_2", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 2.0.0", + "37│ version_added_collection: company_name.coll_2", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_2.mod_2:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_2.mod_2", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json index bfd50e1db..10af3a2d6 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/18.json @@ -1,21 +1,16 @@ { - "name": "test[18-:collections --ee FFFFF-Provide an invalid ee value]", + "name": "test[18-:back-Back to browse company_name.coll_2 plugins window]", "index": 18, - "comment": "Provide an invalid ee value", + "comment": "Back to browse company_name.coll_2 plugins window", "additional_information": { - "present": [ - "Issues were found while applying the settings" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Warning: Issues were found while applying the settings.", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Hint: Command provided: 'collections --ee FFFFF'", - " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", - " Hint: Try again with '--ee true' or '--ee false'", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Ok" + " Company name.coll 2 Type Added Deprecated Description", + "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", + "1│mod_2 module 2.0.0 False This is a test module", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json index e502a62d3..42bb373ba 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/19.json @@ -1,7 +1,7 @@ { - "name": "test[19-Enter-ansible-navigator collections browse window]", + "name": "test[19-:back-Back to ansible-navigator collections browse window]", "index": 19, - "comment": "ansible-navigator collections browse window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { "present": [ "ansible.builtin", diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json index c8ad30aa4..734cc8db7 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/2.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/20.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/20.json index fa7eba97a..18b9c7169 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/20.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/20.json @@ -1,18 +1,21 @@ { - "name": "test[20-:1-Browse company_name.coll_1 plugins window]", + "name": "test[20-:collections --ee FFFFF-Provide an invalid ee value]", "index": 20, - "comment": "Browse company_name.coll_1 plugins window", + "comment": "Provide an invalid ee value", "additional_information": { - "present": [], + "present": [ + "Issues were found while applying the settings" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + " Warning: Issues were found while applying the settings.", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Hint: Command provided: 'collections --ee FFFFF'", + " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", + " Hint: Try again with '--ee true' or '--ee false'", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Ok" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/21.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/21.json index c4693c7ab..0fff9d160 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/21.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/21.json @@ -1,59 +1,21 @@ { - "name": "test[21-:0-lookup_1 plugin docs window]", + "name": "test[21-Enter-ansible-navigator collections browse window]", "index": 21, - "comment": "lookup_1 plugin docs window", + "comment": "ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_1", - " 7│ namespace: company_name", - " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 1.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/22.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/22.json index b8549932c..bb52816e2 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/22.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/22.json @@ -1,7 +1,7 @@ { - "name": "test[22-:back-Back to browse company_name.coll_1 plugins window]", + "name": "test[22-:1-Browse company_name.coll_1 plugins window]", "index": 22, - "comment": "Back to browse company_name.coll_1 plugins window", + "comment": "Browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/23.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/23.json index 2d4a32080..71ee3883d 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/23.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/23.json @@ -1,21 +1,41 @@ { - "name": "test[23-:back-Back to ansible-navigator collections browse window]", + "name": "test[23-:0-filter_1 plugin docs window]", "index": 23, - "comment": "Back to ansible-navigator collections browse window", + "comment": "filter_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Type Path", - "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test filter plugin", + "16│ name: filter_1", + "17│ notes:", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/24.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/24.json index a23c1c829..809e5a8eb 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/24.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/24.json @@ -1,143 +1,19 @@ { - "name": "test[24-:0-Browse ansible.builtin plugins window]", + "name": "test[24-:back-Back to browse company_name.coll_1 plugins window]", "index": 24, - "comment": "Browse ansible.builtin plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { - "present": [ - "yum_repository" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Ansible.builtin Type Added Deprecated Description", - " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", - " 2│apt module 0.0.2 False Manages apt-packages", - " 3│apt_key module 1.0 False Add or remove an apt key", - " 4│apt_repository module 0.7 False Add and remove APT repositories", - " 5│assemble module 0.5 False Assemble configuration files from fragments", - " 6│assert module 1.5 False Asserts given expressions are true", - " 7│async_status module 0.5 False Obtain status of asynchronous task", - " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", - " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", - " 10│cmd shell 2.8 False Windows Command Prompt", - " 11│command module historical False Execute commands on targets", - " 12│config lookup 2.5 False Lookup current Ansible configuration values", - " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", - " 14│copy module historical False Copy files to remote locations", - " 15│cron module 0.9 False Manage cron.d and crontab entries", - " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", - " 17│debconf module 1.6 False Configure a .deb package", - " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", - " 19│debug module 0.8 False Print statements during execution", - " 20│default callback historical False default Ansible screen output", - " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", - " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", - " 23│dpkg_selections module 2.0 False Dpkg package selection selections", - " 24│env lookup 0.9 False Read the value of environment variables", - " 25│expect module 2.0 False Executes a command and responds to prompts", - " 26│fail module 0.8 False Fail with custom message", - " 27│fetch module 0.2 False Fetch files from remote nodes", - " 28│file lookup 0.9 False read file contents", - " 29│file module historical False Manage files and file properties", - " 30│fileglob lookup 1.4 False list files matching a pattern", - " 31│find module 2.0 False Return a list of files based on specific criteria", - " 32│first_found lookup historical False return first file found from list", - " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", - " 34│gather_facts module 2.8 False Gathers facts about remote hosts", - " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", - " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", - " 37│getent module 1.8 False A wrapper to the unix getent utility", - " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", - " 39│group module 0.0.2 False Add or remove groups", - " 40│group_by module 0.9 False Create Ansible groups based on facts", - " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", - " 42│host_list inventory 2.4 False Parses a 'host list' string", - " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", - " 44│hostname module 1.4 False Manage hostname", - " 45│import_playbook module 2.4 False Import a playbook", - " 46│import_role module 2.4 False Import a role into a play", - " 47│import_tasks module 2.4 False Import a task list", - " 48│include module 0.6 False Include a task list", - " 49│include_role module 2.2 False Load and execute a role", - " 50│include_tasks module 2.4 False Dynamically include a task list", - " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", - " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", - " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", - " 54│ini lookup 2.0 False read data from an ini file", - " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", - " 56│iptables module 2.0 False Modify iptables rules", - " 57│items lookup historical False list of items", - " 58│jsonfile cache 1.9 False JSON formatted files.", - " 59│junit callback historical False write playbook output to a JUnit file.", - " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", - " 61│linear strategy 2.0 False Executes tasks in a linear fashion", - " 62│lineinfile module 0.7 False Manage lines in text files", - " 63│lines lookup 0.9 False read lines from command", - " 64│list lookup 2.0 False simply returns what it is given.", - " 65│local connection historical False execute on controller", - " 66│memory cache historical False RAM backed, non persistent", - " 67│meta module 1.2 False Execute Ansible 'actions'", - " 68│minimal callback historical False minimal Ansible screen output", - " 69│nested lookup 1.1 False composes a list with nested elements of other lists", - " 70│oneline callback historical False oneline Ansible screen output", - " 71│package module 2.0 False Generic OS package manager", - " 72│package_facts module 2.5 False Package information as facts", - " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", - " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", - " 75│pause module 0.8 False Pause playbook execution", - " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", - " 77│pip module 0.7 False Manages Python library dependencies", - " 78│pipe lookup 0.9 False read output from a command", - " 79│powershell shell historical False Windows PowerShell", - " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", - " 81│random_choice lookup 1.1 False return random element from list", - " 82│raw module historical False Executes a low-down and dirty command", - " 83│reboot module 2.7 False Reboot a machine", - " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", - " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", - " 86│runas become 2.8 False Run As user", - " 87│script inventory 2.4 False Executes an inventory script that returns JSON", - " 88│script module 0.9 False Runs a local script on a remote node after transferring it", - " 89│sequence lookup 1.0 False generate a list based on a number sequence", - " 90│service module 0.1 False Manage services", - " 91│service_facts module 2.5 False Return service state information as fact data", - " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", - " 93│set_stats module 2.3 False Define and display stats for the current ansible run", - " 94│setup module historical False Gathers facts about remote hosts", - " 95│sh shell historical False POSIX shell (/bin/sh)", - " 96│shell module 0.2 False Execute shell commands on targets", - " 97│slurp module historical False Slurps a file from remote nodes", - " 98│ssh connection historical False connect via SSH client binary", - " 99│stat module 1.3 False Retrieve file or file system status", - "100│su become 2.8 False Substitute User", - "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", - "102│subversion module 0.7 False Deploys a subversion repository", - "103│sudo become 2.8 False Substitute User DO", - "104│systemd_service module 2.2 False Manage systemd units", - "105│sysvinit module 2.6 False Manage SysV services.", - "106│tempfile module 2.3 False Creates temporary files and directories", - "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", - "108│template module historical False Template a file out to a target host", - "109│together lookup 1.3 False merges lists into synchronized list", - "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", - "111│tree callback 2.0 False Save host events to files", - "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", - "113│unvault lookup 2.10 False read vaulted file(s) contents", - "114│uri module 1.1 False Interacts with webservices", - "115│url lookup 1.9 False return contents from URL", - "116│urlsplit filter 2.4 False get components from URL", - "117│user module 0.2 False Manage user accounts", - "118│validate_argument_spec module 2.11 False Validate role argument specs.", - "119│varnames lookup 2.8 False Lookup matching variable names", - "120│vars lookup 2.5 False Lookup templated value of variables", - "121│wait_for module 0.7 False Waits for a condition before continuing", - "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", - "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", - "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", - "125│yum module historical False Manages packages with the I(yum) package manager", - "126│yum_repository module 2.1 False Add or remove YUM repositories", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/25.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/25.json index 5567da0e6..e8dd98b56 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/25.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/25.json @@ -1,172 +1,59 @@ { - "name": "test[25-:0-Browse ansible.builtin.add_host module]", + "name": "test[25-:1-lookup_1 plugin docs window]", "index": 25, - "comment": "Browse ansible.builtin.add_host module", + "comment": "lookup_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin.add_host" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - "Image: ansible.builtin.add_host", - "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ name: ansible.builtin", - " 4│ path: /usr/local/lib/python3.XX/site-packages/ansible", - " 5│ shadowed_by: []", - " 6│ version: 2.14.1", - " 7│doc:", - " 8│ attributes:", - " 9│ action:", - " 10│ description: Indicates this has a corresponding action plugin so some parts", - " 11│ of the options can be executed on the controller", - " 12│ support: full", - " 13│ async:", - " 14│ description: Supports being used with the C(async) keyword", - " 15│ support: none", - " 16│ become:", - " 17│ description: Is usable alongside become keywords", - " 18│ support: none", - " 19│ bypass_host_loop:", - " 20│ description:", - " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", - " 22│ templating and serial, throttle and other loop considerations", - " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", - " 24│ be from the first available host", - " 25│ - This action will not work normally outside of lockstep strategies", - " 26│ support: full", - " 27│ bypass_task_loop:", - " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", - " 29│ support: none", - " 30│ check_mode:", - " 31│ description: Can run in check_mode and return changed status prediction without", - " 32│ modifying target", - " 33│ details: While this makes no changes to target systems the 'in memory' inventory", - " 34│ will still be altered", - " 35│ support: partial", - " 36│ connection:", - " 37│ description: Uses the target's configured connection information to execute", - " 38│ code on it", - " 39│ support: none", - " 40│ core:", - " 41│ description: This is a 'core engine' feature and is not implemented like most", - " 42│ task actions, so it is not overridable in any way via the plugin system.", - " 43│ details: While parts of this action are implemented in core, other parts are", - " 44│ still available as normal plugins and can be partially overridden", - " 45│ support: partial", - " 46│ delegation:", - " 47│ description: Can be used in conjunction with delegate_to and related keywords", - " 48│ support: none", - " 49│ diff_mode:", - " 50│ description: Will return details on what has changed (or possibly needs changing", - " 51│ in check_mode), when in diff mode", - " 52│ support: none", - " 53│ ignore_conditional:", - " 54│ description: The action is not subject to conditional execution so it will ignore", - " 55│ the C(when:) keyword", - " 56│ support: none", - " 57│ platform:", - " 58│ description: Target OS/families that can be operated against", - " 59│ platforms: all", - " 60│ support: N/A", - " 61│ tags:", - " 62│ description: Allows for the 'tags' keyword to control the selection of this", - " 63│ action for execution", - " 64│ support: full", - " 65│ until:", - " 66│ description: Denotes if this action objeys until/retry/poll keywords", - " 67│ support: full", - " 68│ author:", - " 69│ - Ansible Core Team", - " 70│ - Seth Vidal (@skvidal)", - " 71│ description:", - " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", - " 73│ of the same playbook.", - " 74│ - Takes variables so you can define the new hosts more fully.", - " 75│ - This module is also supported for Windows targets.", - " 76│ module: add_host", - " 77│ notes:", - " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", - " 79│ newer.", - " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", - " 81│ of the 'global inventory source', because you can now have multiple sources. An", - " 82│ example was added that shows how to partially restore the previous behaviour.", - " 83│ - Though this module does not change the remote host, we do provide 'changed' status", - " 84│ as it can be useful for those trying to track inventory changes.", - " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", - " 86│ of those need to be in agreement to make them available as play targets. They", - " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", - " 88│ options:", - " 89│ groups:", - " 90│ aliases:", - " 91│ - group", - " 92│ - groupname", - " 93│ description:", - " 94│ - The groups to add the hostname to.", - " 95│ elements: str", - " 96│ type: list", - " 97│ name:", - " 98│ aliases:", - " 99│ - host", - "100│ - hostname", - "101│ description:", - "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", - "103│ a port number.", - "104│ required: true", - "105│ type: str", - "106│ seealso:", - "107│ - module: ansible.builtin.group_by", - "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", - "109│ in-memory inventory", - "110│ version_added: '0.9'", - "111│ version_added_collection: ansible.builtin", - "112│examples: |-", - "113│ - name: Add host to group 'just_created' with variable foo=42", - "114│ ansible.builtin.add_host:", - "115│ name: '{{ ip_from_ec2 }}'", - "116│ groups: just_created", - "117│ foo: 42", - "118│", - "119│ - name: Add host to multiple groups", - "120│ ansible.builtin.add_host:", - "121│ hostname: '{{ new_ip }}'", - "122│ groups:", - "123│ - group1", - "124│ - group2", - "125│", - "126│ - name: Add a host with a non-standard port local to your machines", - "127│ ansible.builtin.add_host:", - "128│ name: '{{ new_ip }}:{{ new_port }}'", - "129│", - "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", - "131│ ansible.builtin.add_host:", - "132│ hostname: '{{ new_ip }}'", - "133│ ansible_ssh_host: '{{ inventory_hostname }}'", - "134│ ansible_ssh_port: '{{ new_port }}'", - "135│", - "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", - "137│ ansible.builtin.add_host:", - "138│ hostname: '{{ new_ip }}'", - "139│ ansible_host: '{{ inventory_hostname }}'", - "140│ ansible_port: '{{ new_port }}'", - "141│", - "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", - "143│ ansible.builtin.add_host:", - "144│ hostname: charlie", - "145│ inventory_dir: '{{ inventory_dir }}'", - "146│", - "147│ - name: Add all hosts running this playbook to the done group", - "148│ ansible.builtin.add_host:", - "149│ name: '{{ item }}'", - "150│ groups: done", - "151│ loop: \"{{ ansible_play_hosts }}\"", - "152│full_name: ansible.builtin.add_host", - "153│metadata: null", - "154│returndocs: null", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/26.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/26.json new file mode 100644 index 000000000..cbd516e14 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/26.json @@ -0,0 +1,19 @@ +{ + "name": "test[26-:back-Back to browse company_name.coll_1 plugins window]", + "index": 26, + "comment": "Back to browse company_name.coll_1 plugins window", + "additional_information": { + "present": [], + "absent": [], + "compared_fixture": true + }, + "output": [ + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/27.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/27.json new file mode 100644 index 000000000..afa4c5585 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/27.json @@ -0,0 +1,21 @@ +{ + "name": "test[27-:back-Back to ansible-navigator collections browse window]", + "index": 27, + "comment": "Back to ansible-navigator collections browse window", + "additional_information": { + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/28.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/28.json new file mode 100644 index 000000000..c293756f6 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/28.json @@ -0,0 +1,143 @@ +{ + "name": "test[28-:0-Browse ansible.builtin plugins window]", + "index": 28, + "comment": "Browse ansible.builtin plugins window", + "additional_information": { + "present": [ + "yum_repository" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Ansible.builtin Type Added Deprecated Description", + " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", + " 2│apt module 0.0.2 False Manages apt-packages", + " 3│apt_key module 1.0 False Add or remove an apt key", + " 4│apt_repository module 0.7 False Add and remove APT repositories", + " 5│assemble module 0.5 False Assemble configuration files from fragments", + " 6│assert module 1.5 False Asserts given expressions are true", + " 7│async_status module 0.5 False Obtain status of asynchronous task", + " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", + " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", + " 10│cmd shell 2.8 False Windows Command Prompt", + " 11│command module historical False Execute commands on targets", + " 12│config lookup 2.5 False Lookup current Ansible configuration values", + " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", + " 14│copy module historical False Copy files to remote locations", + " 15│cron module 0.9 False Manage cron.d and crontab entries", + " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", + " 17│debconf module 1.6 False Configure a .deb package", + " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", + " 19│debug module 0.8 False Print statements during execution", + " 20│default callback historical False default Ansible screen output", + " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", + " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", + " 23│dpkg_selections module 2.0 False Dpkg package selection selections", + " 24│env lookup 0.9 False Read the value of environment variables", + " 25│expect module 2.0 False Executes a command and responds to prompts", + " 26│fail module 0.8 False Fail with custom message", + " 27│fetch module 0.2 False Fetch files from remote nodes", + " 28│file lookup 0.9 False read file contents", + " 29│file module historical False Manage files and file properties", + " 30│fileglob lookup 1.4 False list files matching a pattern", + " 31│find module 2.0 False Return a list of files based on specific criteria", + " 32│first_found lookup historical False return first file found from list", + " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", + " 34│gather_facts module 2.8 False Gathers facts about remote hosts", + " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", + " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", + " 37│getent module 1.8 False A wrapper to the unix getent utility", + " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", + " 39│group module 0.0.2 False Add or remove groups", + " 40│group_by module 0.9 False Create Ansible groups based on facts", + " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", + " 42│host_list inventory 2.4 False Parses a 'host list' string", + " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", + " 44│hostname module 1.4 False Manage hostname", + " 45│import_playbook module 2.4 False Import a playbook", + " 46│import_role module 2.4 False Import a role into a play", + " 47│import_tasks module 2.4 False Import a task list", + " 48│include module 0.6 False Include a task list", + " 49│include_role module 2.2 False Load and execute a role", + " 50│include_tasks module 2.4 False Dynamically include a task list", + " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", + " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", + " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", + " 54│ini lookup 2.0 False read data from an ini file", + " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", + " 56│iptables module 2.0 False Modify iptables rules", + " 57│items lookup historical False list of items", + " 58│jsonfile cache 1.9 False JSON formatted files.", + " 59│junit callback historical False write playbook output to a JUnit file.", + " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", + " 61│linear strategy 2.0 False Executes tasks in a linear fashion", + " 62│lineinfile module 0.7 False Manage lines in text files", + " 63│lines lookup 0.9 False read lines from command", + " 64│list lookup 2.0 False simply returns what it is given.", + " 65│local connection historical False execute on controller", + " 66│memory cache historical False RAM backed, non persistent", + " 67│meta module 1.2 False Execute Ansible 'actions'", + " 68│minimal callback historical False minimal Ansible screen output", + " 69│nested lookup 1.1 False composes a list with nested elements of other lists", + " 70│oneline callback historical False oneline Ansible screen output", + " 71│package module 2.0 False Generic OS package manager", + " 72│package_facts module 2.5 False Package information as facts", + " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", + " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", + " 75│pause module 0.8 False Pause playbook execution", + " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", + " 77│pip module 0.7 False Manages Python library dependencies", + " 78│pipe lookup 0.9 False read output from a command", + " 79│powershell shell historical False Windows PowerShell", + " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", + " 81│random_choice lookup 1.1 False return random element from list", + " 82│raw module historical False Executes a low-down and dirty command", + " 83│reboot module 2.7 False Reboot a machine", + " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", + " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", + " 86│runas become 2.8 False Run As user", + " 87│script inventory 2.4 False Executes an inventory script that returns JSON", + " 88│script module 0.9 False Runs a local script on a remote node after transferring it", + " 89│sequence lookup 1.0 False generate a list based on a number sequence", + " 90│service module 0.1 False Manage services", + " 91│service_facts module 2.5 False Return service state information as fact data", + " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", + " 93│set_stats module 2.3 False Define and display stats for the current ansible run", + " 94│setup module historical False Gathers facts about remote hosts", + " 95│sh shell historical False POSIX shell (/bin/sh)", + " 96│shell module 0.2 False Execute shell commands on targets", + " 97│slurp module historical False Slurps a file from remote nodes", + " 98│ssh connection historical False connect via SSH client binary", + " 99│stat module 1.3 False Retrieve file or file system status", + "100│su become 2.8 False Substitute User", + "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", + "102│subversion module 0.7 False Deploys a subversion repository", + "103│sudo become 2.8 False Substitute User DO", + "104│systemd_service module 2.2 False Manage systemd units", + "105│sysvinit module 2.6 False Manage SysV services.", + "106│tempfile module 2.3 False Creates temporary files and directories", + "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", + "108│template module historical False Template a file out to a target host", + "109│together lookup 1.3 False merges lists into synchronized list", + "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", + "111│tree callback 2.0 False Save host events to files", + "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", + "113│unvault lookup 2.10 False read vaulted file(s) contents", + "114│uri module 1.1 False Interacts with webservices", + "115│url lookup 1.9 False return contents from URL", + "116│urlsplit filter 2.4 False get components from URL", + "117│user module 0.2 False Manage user accounts", + "118│validate_argument_spec module 2.11 False Validate role argument specs.", + "119│varnames lookup 2.8 False Lookup matching variable names", + "120│vars lookup 2.5 False Lookup templated value of variables", + "121│wait_for module 0.7 False Waits for a condition before continuing", + "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", + "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", + "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", + "125│yum module historical False Manages packages with the I(yum) package manager", + "126│yum_repository module 2.1 False Add or remove YUM repositories", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/29.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/29.json new file mode 100644 index 000000000..1f287ef3c --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/29.json @@ -0,0 +1,172 @@ +{ + "name": "test[29-:1-Browse ansible.builtin.add_host module]", + "index": 29, + "comment": "Browse ansible.builtin.add_host module", + "additional_information": { + "present": [ + "ansible.builtin.add_host" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + "Image: ansible.builtin.add_host", + "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ name: ansible.builtin", + " 4│ path: /usr/local/lib/python3.XX/site-packages/ansible", + " 5│ shadowed_by: []", + " 6│ version: 2.14.1", + " 7│doc:", + " 8│ attributes:", + " 9│ action:", + " 10│ description: Indicates this has a corresponding action plugin so some parts", + " 11│ of the options can be executed on the controller", + " 12│ support: full", + " 13│ async:", + " 14│ description: Supports being used with the C(async) keyword", + " 15│ support: none", + " 16│ become:", + " 17│ description: Is usable alongside become keywords", + " 18│ support: none", + " 19│ bypass_host_loop:", + " 20│ description:", + " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", + " 22│ templating and serial, throttle and other loop considerations", + " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", + " 24│ be from the first available host", + " 25│ - This action will not work normally outside of lockstep strategies", + " 26│ support: full", + " 27│ bypass_task_loop:", + " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", + " 29│ support: none", + " 30│ check_mode:", + " 31│ description: Can run in check_mode and return changed status prediction without", + " 32│ modifying target", + " 33│ details: While this makes no changes to target systems the 'in memory' inventory", + " 34│ will still be altered", + " 35│ support: partial", + " 36│ connection:", + " 37│ description: Uses the target's configured connection information to execute", + " 38│ code on it", + " 39│ support: none", + " 40│ core:", + " 41│ description: This is a 'core engine' feature and is not implemented like most", + " 42│ task actions, so it is not overridable in any way via the plugin system.", + " 43│ details: While parts of this action are implemented in core, other parts are", + " 44│ still available as normal plugins and can be partially overridden", + " 45│ support: partial", + " 46│ delegation:", + " 47│ description: Can be used in conjunction with delegate_to and related keywords", + " 48│ support: none", + " 49│ diff_mode:", + " 50│ description: Will return details on what has changed (or possibly needs changing", + " 51│ in check_mode), when in diff mode", + " 52│ support: none", + " 53│ ignore_conditional:", + " 54│ description: The action is not subject to conditional execution so it will ignore", + " 55│ the C(when:) keyword", + " 56│ support: none", + " 57│ platform:", + " 58│ description: Target OS/families that can be operated against", + " 59│ platforms: all", + " 60│ support: N/A", + " 61│ tags:", + " 62│ description: Allows for the 'tags' keyword to control the selection of this", + " 63│ action for execution", + " 64│ support: full", + " 65│ until:", + " 66│ description: Denotes if this action objeys until/retry/poll keywords", + " 67│ support: full", + " 68│ author:", + " 69│ - Ansible Core Team", + " 70│ - Seth Vidal (@skvidal)", + " 71│ description:", + " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", + " 73│ of the same playbook.", + " 74│ - Takes variables so you can define the new hosts more fully.", + " 75│ - This module is also supported for Windows targets.", + " 76│ module: add_host", + " 77│ notes:", + " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", + " 79│ newer.", + " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", + " 81│ of the 'global inventory source', because you can now have multiple sources. An", + " 82│ example was added that shows how to partially restore the previous behaviour.", + " 83│ - Though this module does not change the remote host, we do provide 'changed' status", + " 84│ as it can be useful for those trying to track inventory changes.", + " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", + " 86│ of those need to be in agreement to make them available as play targets. They", + " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", + " 88│ options:", + " 89│ groups:", + " 90│ aliases:", + " 91│ - group", + " 92│ - groupname", + " 93│ description:", + " 94│ - The groups to add the hostname to.", + " 95│ elements: str", + " 96│ type: list", + " 97│ name:", + " 98│ aliases:", + " 99│ - host", + "100│ - hostname", + "101│ description:", + "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", + "103│ a port number.", + "104│ required: true", + "105│ type: str", + "106│ seealso:", + "107│ - module: ansible.builtin.group_by", + "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", + "109│ in-memory inventory", + "110│ version_added: '0.9'", + "111│ version_added_collection: ansible.builtin", + "112│examples: |-", + "113│ - name: Add host to group 'just_created' with variable foo=42", + "114│ ansible.builtin.add_host:", + "115│ name: '{{ ip_from_ec2 }}'", + "116│ groups: just_created", + "117│ foo: 42", + "118│", + "119│ - name: Add host to multiple groups", + "120│ ansible.builtin.add_host:", + "121│ hostname: '{{ new_ip }}'", + "122│ groups:", + "123│ - group1", + "124│ - group2", + "125│", + "126│ - name: Add a host with a non-standard port local to your machines", + "127│ ansible.builtin.add_host:", + "128│ name: '{{ new_ip }}:{{ new_port }}'", + "129│", + "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", + "131│ ansible.builtin.add_host:", + "132│ hostname: '{{ new_ip }}'", + "133│ ansible_ssh_host: '{{ inventory_hostname }}'", + "134│ ansible_ssh_port: '{{ new_port }}'", + "135│", + "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", + "137│ ansible.builtin.add_host:", + "138│ hostname: '{{ new_ip }}'", + "139│ ansible_host: '{{ inventory_hostname }}'", + "140│ ansible_port: '{{ new_port }}'", + "141│", + "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", + "143│ ansible.builtin.add_host:", + "144│ hostname: charlie", + "145│ inventory_dir: '{{ inventory_dir }}'", + "146│", + "147│ - name: Add all hosts running this playbook to the done group", + "148│ ansible.builtin.add_host:", + "149│ name: '{{ item }}'", + "150│ groups: done", + "151│ loop: \"{{ ansible_play_hosts }}\"", + "152│full_name: ansible.builtin.add_host", + "153│metadata: null", + "154│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/3.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/3.json index 0109609ef..a65134129 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/3.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/3.json @@ -1,15 +1,15 @@ { - "name": "test[03-:0-lookup_1 plugin docs window]", + "name": "test[03-:0-filter_1 plugin docs window]", "index": 3, - "comment": "lookup_1 plugin docs window", + "comment": "filter_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -25,35 +25,17 @@ "12│doc:", "13│ author: test", "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", + "15│ - This is test filter plugin", + "16│ name: filter_1", "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/4.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/4.json index a65637aa9..3e37b9b4f 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/4.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/4.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/5.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/5.json index 55dc6c334..ee0686437 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/5.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/5.json @@ -1,15 +1,15 @@ { - "name": "test[05-:1-mod_1 plugin docs window]", + "name": "test[05-:1-lookup_1 plugin docs window]", "index": 5, - "comment": "mod_1 plugin docs window", + "comment": "lookup_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.mod_1", - "Description: This is a test module", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 1.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_1", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 1.0.0", - "37│ version_added_collection: company_name.coll_1", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_1.mod_1:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_1.mod_1", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/6.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/6.json index 5d9ff646e..0bde3c336 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/6.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/6.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/7.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/7.json index c5f651f63..27734dd48 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/7.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/7.json @@ -1,71 +1,68 @@ { - "name": "test[07-:2-role_full details window]", + "name": "test[07-:2-mod_1 plugin docs window]", "index": 7, - "comment": "role_full details window", + "comment": "mod_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_full", - "Description: Complete sample role.", + "Image: company_name.coll_1.mod_1", + "Description: This is a test module", " 0│---", - " 1│argument_specs:", - " 2│ alternate:", - " 3│ options:", - " 4│ role_full_int:", - " 5│ default: 1024", - " 6│ description: The integer value, defaulting to 1024.", - " 7│ required: false", - " 8│ type: int", - " 9│ short_description: The alternate entry point for the role_full role.", - "10│ main:", - "11│ options:", - "12│ role_full_int:", - "13│ default: 42", - "14│ description: The integer value, defaulting to 42.", - "15│ required: false", - "16│ type: int", - "17│ role_full_str:", - "18│ description: The string value", - "19│ required: true", - "20│ type: str", - "21│ short_description: The main entry point for the role_full role.", - "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", - "23│defaults:", - "24│ role_full_bool: true", - "25│ role_full_int: 42", - "26│ role_full_str: Test string", - "27│defaults_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", - "28│full_name: company_name.coll_1.role_full", - "29│info:", - "30│ dependencies: []", - "31│ galaxy_info:", - "32│ author: Ansible team (ansible-navigator)", - "33│ company: Ansible", - "34│ description: Complete sample role.", - "35│ galaxy_tags:", - "36│ - tag_1", - "37│ - tag_2", - "38│ license: LICENSE", - "39│ min_ansible_version: 2.9.0", - "40│ platforms:", - "41│ - name: eos", - "42│ versions:", - "43│ - all", - "44│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", - "45│readme: |-", - "46│ # Role full", - "47│", - "48│ This is a role with:", - "49│", - "50│ - defaults/main.yml", - "51│ - meta/argument_spec.yml", - "52│ - meta/main.yml", - "53│ - README.md", - "54│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md", - "55│short_name: role_full", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_1", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 1.0.0", + "37│ version_added_collection: company_name.coll_1", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_1.mod_1:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_1.mod_1", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/8.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/8.json index 904f68c0d..92c54238a 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/8.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/8.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/9.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/9.json index ce0bb38f1..e477adb93 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/9.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_ee.py/test/9.json @@ -1,51 +1,71 @@ { - "name": "test[09-:3-role_minimal details window]", + "name": "test[09-:3-role_full details window]", "index": 9, - "comment": "role_minimal details window", + "comment": "role_full details window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_minimum", - "Description: Minimal sample role.", + "Image: company_name.coll_1.role_full", + "Description: Complete sample role.", " 0│---", - " 1│argument_specs: {}", - " 2│argument_specs_path: ''", - " 3│defaults: {}", - " 4│defaults_path: ''", - " 5│full_name: company_name.coll_1.role_minimum", - " 6│info:", - " 7│ dependencies: []", - " 8│ galaxy_info:", - " 9│ author: Ansible team (ansible-navigator)", - "10│ company: Ansible", - "11│ description: Minimal sample role.", - "12│ galaxy_tags:", - "13│ - tag_1", - "14│ - tag_2", - "15│ license: LICENSE", - "16│ min_ansible_version: 2.9.0", - "17│ platforms:", - "18│ - name: eos", - "19│ versions:", - "20│ - all", - "21│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", - "22│readme: |-", - "23│ # Role minimum", - "24│", - "25│ This is a role with:", - "26│", - "27│ - meta/main.yml", - "28│ - README.md", - "29│", - "30│ This is a role without:", - "31│", - "32│ - defaults/main.yml", - "33│ - meta/argument_spec.yml", - "34│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", - "35│short_name: role_minimum", + " 1│argument_specs:", + " 2│ alternate:", + " 3│ options:", + " 4│ role_full_int:", + " 5│ default: 1024", + " 6│ description: The integer value, defaulting to 1024.", + " 7│ required: false", + " 8│ type: int", + " 9│ short_description: The alternate entry point for the role_full role.", + "10│ main:", + "11│ options:", + "12│ role_full_int:", + "13│ default: 42", + "14│ description: The integer value, defaulting to 42.", + "15│ required: false", + "16│ type: int", + "17│ role_full_str:", + "18│ description: The string value", + "19│ required: true", + "20│ type: str", + "21│ short_description: The main entry point for the role_full role.", + "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", + "23│defaults:", + "24│ role_full_bool: true", + "25│ role_full_int: 42", + "26│ role_full_str: Test string", + "27│defaults_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", + "28│full_name: company_name.coll_1.role_full", + "29│info:", + "30│ dependencies: []", + "31│ galaxy_info:", + "32│ author: Ansible team (ansible-navigator)", + "33│ company: Ansible", + "34│ description: Complete sample role.", + "35│ galaxy_tags:", + "36│ - tag_1", + "37│ - tag_2", + "38│ license: LICENSE", + "39│ min_ansible_version: 2.9.0", + "40│ platforms:", + "41│ - name: eos", + "42│ versions:", + "43│ - all", + "44│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", + "45│readme: |-", + "46│ # Role full", + "47│", + "48│ This is a role with:", + "49│", + "50│ - defaults/main.yml", + "51│ - meta/argument_spec.yml", + "52│ - meta/main.yml", + "53│ - README.md", + "54│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_ee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md", + "55│short_name: role_full", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/10.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/10.json index a233b5110..ef23bf67f 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/10.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/10.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json index 09a333059..ad4018374 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/11.json @@ -1,21 +1,51 @@ { - "name": "test[11-:back-Back to ansible-navigator collections browse window]", + "name": "test[11-:4-role_minimal details window]", "index": 11, - "comment": "Back to ansible-navigator collections browse window", + "comment": "role_minimal details window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Path", - "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.role_minimum", + "Description: Minimal sample role.", + " 0│---", + " 1│argument_specs: {}", + " 2│argument_specs_path: ''", + " 3│defaults: {}", + " 4│defaults_path: ''", + " 5│full_name: company_name.coll_1.role_minimum", + " 6│info:", + " 7│ dependencies: []", + " 8│ galaxy_info:", + " 9│ author: Ansible team (ansible-navigator)", + "10│ company: Ansible", + "11│ description: Minimal sample role.", + "12│ galaxy_tags:", + "13│ - tag_1", + "14│ - tag_2", + "15│ license: LICENSE", + "16│ min_ansible_version: 2.9.0", + "17│ platforms:", + "18│ - name: eos", + "19│ versions:", + "20│ - all", + "21│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", + "22│readme: |-", + "23│ # Role minimum", + "24│", + "25│ This is a role with:", + "26│", + "27│ - meta/main.yml", + "28│ - README.md", + "29│", + "30│ This is a role without:", + "31│", + "32│ - defaults/main.yml", + "33│ - meta/argument_spec.yml", + "34│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", + "35│short_name: role_minimum", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json index 84b0f2f94..d78710670 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/12.json @@ -1,16 +1,19 @@ { - "name": "test[12-:2-Browse company_name.coll_2 plugins window]", + "name": "test[12-:back-Back to browse company_name.coll_1 plugins window]", "index": 12, - "comment": "Browse company_name.coll_2 plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - " Company name.coll 2 Type Added Deprecated Description", - "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", - "1│mod_2 module 2.0.0 False This is a test module", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/13.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/13.json index d4aa497ae..d533b462d 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/13.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/13.json @@ -1,59 +1,21 @@ { - "name": "test[13-:0-lookup_2 plugin docs window]", + "name": "test[13-:back-Back to ansible-navigator collections browse window]", "index": 13, - "comment": "lookup_2 plugin docs window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_2.lookup_2", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_2", - " 7│ namespace: company_name", - " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 2.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_2", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 2.0.0", - "33│ version_added_collection: company_name.coll_2", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", - "38│full_name: company_name.coll_2.lookup_2", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/14.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/14.json index f7647d576..383f17a61 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/14.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/14.json @@ -1,7 +1,7 @@ { - "name": "test[14-:back-Back to browse company_name.coll_2 plugins window]", + "name": "test[14-:2-Browse company_name.coll_2 plugins window]", "index": 14, - "comment": "Back to browse company_name.coll_2 plugins window", + "comment": "Browse company_name.coll_2 plugins window", "additional_information": { "present": [], "absent": [], diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/15.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/15.json index 10ad637f6..a6ddf5210 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/15.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/15.json @@ -1,15 +1,15 @@ { - "name": "test[15-:1-mod_2 plugin docs window]", + "name": "test[15-:0-lookup_2 plugin docs window]", "index": 15, - "comment": "mod_2 plugin docs window", + "comment": "lookup_2 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_2.mod_2", - "Description: This is a test module", + "Image: company_name.coll_2.lookup_2", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 2.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_2", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 2.0.0", - "37│ version_added_collection: company_name.coll_2", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_2.mod_2:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_2.mod_2", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_2", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 2.0.0", + "33│ version_added_collection: company_name.coll_2", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_2.lookup_2', var1, var2) }}\"", + "38│full_name: company_name.coll_2.lookup_2", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json index 6786993e5..abc8b4a16 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/17.json @@ -1,21 +1,68 @@ { - "name": "test[17-:back-Back to ansible-navigator collections browse window]", + "name": "test[17-:1-mod_2 plugin docs window]", "index": 17, - "comment": "Back to ansible-navigator collections browse window", + "comment": "mod_2 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Path", - "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_2.mod_2", + "Description: This is a test module", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_2", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 2.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_2", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 2.0.0", + "37│ version_added_collection: company_name.coll_2", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_2.mod_2:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_2.mod_2", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json index bfd50e1db..10af3a2d6 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/18.json @@ -1,21 +1,16 @@ { - "name": "test[18-:collections --ee FFFFF-Provide an invalid ee value]", + "name": "test[18-:back-Back to browse company_name.coll_2 plugins window]", "index": 18, - "comment": "Provide an invalid ee value", + "comment": "Back to browse company_name.coll_2 plugins window", "additional_information": { - "present": [ - "Issues were found while applying the settings" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Warning: Issues were found while applying the settings.", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Hint: Command provided: 'collections --ee FFFFF'", - " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", - " Hint: Try again with '--ee true' or '--ee false'", - " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", - " Ok" + " Company name.coll 2 Type Added Deprecated Description", + "0│lookup_2 lookup 2.0.0 False This is test lookup plugin", + "1│mod_2 module 2.0.0 False This is a test module", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json index fdb326292..039f7c168 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/19.json @@ -1,7 +1,7 @@ { - "name": "test[19-Enter-ansible-navigator collections browse window]", + "name": "test[19-:back-Back to ansible-navigator collections browse window]", "index": 19, - "comment": "ansible-navigator collections browse window", + "comment": "Back to ansible-navigator collections browse window", "additional_information": { "present": [ "ansible.builtin", @@ -12,10 +12,10 @@ "compared_fixture": false }, "output": [ - " Name Version Shadowed Path", - "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json index c8ad30aa4..734cc8db7 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/2.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/20.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/20.json index fa7eba97a..18b9c7169 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/20.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/20.json @@ -1,18 +1,21 @@ { - "name": "test[20-:1-Browse company_name.coll_1 plugins window]", + "name": "test[20-:collections --ee FFFFF-Provide an invalid ee value]", "index": 20, - "comment": "Browse company_name.coll_1 plugins window", + "comment": "Provide an invalid ee value", "additional_information": { - "present": [], + "present": [ + "Issues were found while applying the settings" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + " Warning: Issues were found while applying the settings.", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Hint: Command provided: 'collections --ee FFFFF'", + " Error: The setting 'execution-environment' must be one of 'true' or 'false', but set as 'FFFFF'. (Command line)", + " Hint: Try again with '--ee true' or '--ee false'", + " ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────", + " Ok" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/21.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/21.json index 4277c78a9..bfa8f1bcc 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/21.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/21.json @@ -1,59 +1,21 @@ { - "name": "test[21-:0-lookup_1 plugin docs window]", + "name": "test[21-Enter-ansible-navigator collections browse window]", "index": 21, - "comment": "lookup_1 plugin docs window", + "comment": "ansible-navigator collections browse window", "additional_information": { - "present": [], + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], "absent": [], - "compared_fixture": true + "compared_fixture": false }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ authors:", - " 4│ - Ansible team (ansible-navigator)", - " 5│ license_file: LICENSE", - " 6│ name: company_name.coll_1", - " 7│ namespace: company_name", - " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - " 9│ readme: README.md", - "10│ shadowed_by: []", - "11│ version: 1.0.0", - "12│doc:", - "13│ author: test", - "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", - "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/22.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/22.json index b8549932c..bb52816e2 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/22.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/22.json @@ -1,7 +1,7 @@ { - "name": "test[22-:back-Back to browse company_name.coll_1 plugins window]", + "name": "test[22-:1-Browse company_name.coll_1 plugins window]", "index": 22, - "comment": "Back to browse company_name.coll_1 plugins window", + "comment": "Browse company_name.coll_1 plugins window", "additional_information": { "present": [], "absent": [], @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/23.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/23.json index b996de022..76c7e8f11 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/23.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/23.json @@ -1,21 +1,41 @@ { - "name": "test[23-:back-Back to ansible-navigator collections browse window]", + "name": "test[23-:0-filter_1 plugin docs window]", "index": 23, - "comment": "Back to ansible-navigator collections browse window", + "comment": "filter_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin", - "company_name.coll_1", - "company_name.coll_2" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Name Version Shadowed Path", - "0│ansible.builtin 2.14.3 False /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - "1│company_name.coll_1 1.0.0 False FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", - "2│company_name.coll_2 2.0.0 False FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", - "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test filter plugin", + "16│ name: filter_1", + "17│ notes:", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/24.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/24.json index a23c1c829..809e5a8eb 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/24.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/24.json @@ -1,143 +1,19 @@ { - "name": "test[24-:0-Browse ansible.builtin plugins window]", + "name": "test[24-:back-Back to browse company_name.coll_1 plugins window]", "index": 24, - "comment": "Browse ansible.builtin plugins window", + "comment": "Back to browse company_name.coll_1 plugins window", "additional_information": { - "present": [ - "yum_repository" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - " Ansible.builtin Type Added Deprecated Description", - " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", - " 2│apt module 0.0.2 False Manages apt-packages", - " 3│apt_key module 1.0 False Add or remove an apt key", - " 4│apt_repository module 0.7 False Add and remove APT repositories", - " 5│assemble module 0.5 False Assemble configuration files from fragments", - " 6│assert module 1.5 False Asserts given expressions are true", - " 7│async_status module 0.5 False Obtain status of asynchronous task", - " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", - " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", - " 10│cmd shell 2.8 False Windows Command Prompt", - " 11│command module historical False Execute commands on targets", - " 12│config lookup 2.5 False Lookup current Ansible configuration values", - " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", - " 14│copy module historical False Copy files to remote locations", - " 15│cron module 0.9 False Manage cron.d and crontab entries", - " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", - " 17│debconf module 1.6 False Configure a .deb package", - " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", - " 19│debug module 0.8 False Print statements during execution", - " 20│default callback historical False default Ansible screen output", - " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", - " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", - " 23│dpkg_selections module 2.0 False Dpkg package selection selections", - " 24│env lookup 0.9 False Read the value of environment variables", - " 25│expect module 2.0 False Executes a command and responds to prompts", - " 26│fail module 0.8 False Fail with custom message", - " 27│fetch module 0.2 False Fetch files from remote nodes", - " 28│file lookup 0.9 False read file contents", - " 29│file module historical False Manage files and file properties", - " 30│fileglob lookup 1.4 False list files matching a pattern", - " 31│find module 2.0 False Return a list of files based on specific criteria", - " 32│first_found lookup historical False return first file found from list", - " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", - " 34│gather_facts module 2.8 False Gathers facts about remote hosts", - " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", - " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", - " 37│getent module 1.8 False A wrapper to the unix getent utility", - " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", - " 39│group module 0.0.2 False Add or remove groups", - " 40│group_by module 0.9 False Create Ansible groups based on facts", - " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", - " 42│host_list inventory 2.4 False Parses a 'host list' string", - " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", - " 44│hostname module 1.4 False Manage hostname", - " 45│import_playbook module 2.4 False Import a playbook", - " 46│import_role module 2.4 False Import a role into a play", - " 47│import_tasks module 2.4 False Import a task list", - " 48│include module 0.6 False Include a task list", - " 49│include_role module 2.2 False Load and execute a role", - " 50│include_tasks module 2.4 False Dynamically include a task list", - " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", - " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", - " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", - " 54│ini lookup 2.0 False read data from an ini file", - " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", - " 56│iptables module 2.0 False Modify iptables rules", - " 57│items lookup historical False list of items", - " 58│jsonfile cache 1.9 False JSON formatted files.", - " 59│junit callback historical False write playbook output to a JUnit file.", - " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", - " 61│linear strategy 2.0 False Executes tasks in a linear fashion", - " 62│lineinfile module 0.7 False Manage lines in text files", - " 63│lines lookup 0.9 False read lines from command", - " 64│list lookup 2.0 False simply returns what it is given.", - " 65│local connection historical False execute on controller", - " 66│memory cache historical False RAM backed, non persistent", - " 67│meta module 1.2 False Execute Ansible 'actions'", - " 68│minimal callback historical False minimal Ansible screen output", - " 69│nested lookup 1.1 False composes a list with nested elements of other lists", - " 70│oneline callback historical False oneline Ansible screen output", - " 71│package module 2.0 False Generic OS package manager", - " 72│package_facts module 2.5 False Package information as facts", - " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", - " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", - " 75│pause module 0.8 False Pause playbook execution", - " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", - " 77│pip module 0.7 False Manages Python library dependencies", - " 78│pipe lookup 0.9 False read output from a command", - " 79│powershell shell historical False Windows PowerShell", - " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", - " 81│random_choice lookup 1.1 False return random element from list", - " 82│raw module historical False Executes a low-down and dirty command", - " 83│reboot module 2.7 False Reboot a machine", - " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", - " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", - " 86│runas become 2.8 False Run As user", - " 87│script inventory 2.4 False Executes an inventory script that returns JSON", - " 88│script module 0.9 False Runs a local script on a remote node after transferring it", - " 89│sequence lookup 1.0 False generate a list based on a number sequence", - " 90│service module 0.1 False Manage services", - " 91│service_facts module 2.5 False Return service state information as fact data", - " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", - " 93│set_stats module 2.3 False Define and display stats for the current ansible run", - " 94│setup module historical False Gathers facts about remote hosts", - " 95│sh shell historical False POSIX shell (/bin/sh)", - " 96│shell module 0.2 False Execute shell commands on targets", - " 97│slurp module historical False Slurps a file from remote nodes", - " 98│ssh connection historical False connect via SSH client binary", - " 99│stat module 1.3 False Retrieve file or file system status", - "100│su become 2.8 False Substitute User", - "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", - "102│subversion module 0.7 False Deploys a subversion repository", - "103│sudo become 2.8 False Substitute User DO", - "104│systemd_service module 2.2 False Manage systemd units", - "105│sysvinit module 2.6 False Manage SysV services.", - "106│tempfile module 2.3 False Creates temporary files and directories", - "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", - "108│template module historical False Template a file out to a target host", - "109│together lookup 1.3 False merges lists into synchronized list", - "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", - "111│tree callback 2.0 False Save host events to files", - "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", - "113│unvault lookup 2.10 False read vaulted file(s) contents", - "114│uri module 1.1 False Interacts with webservices", - "115│url lookup 1.9 False return contents from URL", - "116│urlsplit filter 2.4 False get components from URL", - "117│user module 0.2 False Manage user accounts", - "118│validate_argument_spec module 2.11 False Validate role argument specs.", - "119│varnames lookup 2.8 False Lookup matching variable names", - "120│vars lookup 2.5 False Lookup templated value of variables", - "121│wait_for module 0.7 False Waits for a condition before continuing", - "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", - "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", - "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", - "125│yum module historical False Manages packages with the I(yum) package manager", - "126│yum_repository module 2.1 False Add or remove YUM repositories", + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/25.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/25.json index 74d7a506e..d7950ae4b 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/25.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/25.json @@ -1,172 +1,59 @@ { - "name": "test[25-:0-Browse ansible.builtin.add_host module]", + "name": "test[25-:1-lookup_1 plugin docs window]", "index": 25, - "comment": "Browse ansible.builtin.add_host module", + "comment": "lookup_1 plugin docs window", "additional_information": { - "present": [ - "ansible.builtin.add_host" - ], + "present": [], "absent": [], - "compared_fixture": false + "compared_fixture": true }, "output": [ - "Image: ansible.builtin.add_host", - "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", - " 0│---", - " 1│additional_information: {}", - " 2│collection_info:", - " 3│ name: ansible.builtin", - " 4│ path: /home/user/github/ansible-navigator/venv/lib64/python3.XX/site-packages/ansible", - " 5│ shadowed_by: []", - " 6│ version: 2.14.3", - " 7│doc:", - " 8│ attributes:", - " 9│ action:", - " 10│ description: Indicates this has a corresponding action plugin so some parts", - " 11│ of the options can be executed on the controller", - " 12│ support: full", - " 13│ async:", - " 14│ description: Supports being used with the C(async) keyword", - " 15│ support: none", - " 16│ become:", - " 17│ description: Is usable alongside become keywords", - " 18│ support: none", - " 19│ bypass_host_loop:", - " 20│ description:", - " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", - " 22│ templating and serial, throttle and other loop considerations", - " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", - " 24│ be from the first available host", - " 25│ - This action will not work normally outside of lockstep strategies", - " 26│ support: full", - " 27│ bypass_task_loop:", - " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", - " 29│ support: none", - " 30│ check_mode:", - " 31│ description: Can run in check_mode and return changed status prediction without", - " 32│ modifying target", - " 33│ details: While this makes no changes to target systems the 'in memory' inventory", - " 34│ will still be altered", - " 35│ support: partial", - " 36│ connection:", - " 37│ description: Uses the target's configured connection information to execute", - " 38│ code on it", - " 39│ support: none", - " 40│ core:", - " 41│ description: This is a 'core engine' feature and is not implemented like most", - " 42│ task actions, so it is not overridable in any way via the plugin system.", - " 43│ details: While parts of this action are implemented in core, other parts are", - " 44│ still available as normal plugins and can be partially overridden", - " 45│ support: partial", - " 46│ delegation:", - " 47│ description: Can be used in conjunction with delegate_to and related keywords", - " 48│ support: none", - " 49│ diff_mode:", - " 50│ description: Will return details on what has changed (or possibly needs changing", - " 51│ in check_mode), when in diff mode", - " 52│ support: none", - " 53│ ignore_conditional:", - " 54│ description: The action is not subject to conditional execution so it will ignore", - " 55│ the C(when:) keyword", - " 56│ support: none", - " 57│ platform:", - " 58│ description: Target OS/families that can be operated against", - " 59│ platforms: all", - " 60│ support: N/A", - " 61│ tags:", - " 62│ description: Allows for the 'tags' keyword to control the selection of this", - " 63│ action for execution", - " 64│ support: full", - " 65│ until:", - " 66│ description: Denotes if this action objeys until/retry/poll keywords", - " 67│ support: full", - " 68│ author:", - " 69│ - Ansible Core Team", - " 70│ - Seth Vidal (@skvidal)", - " 71│ description:", - " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", - " 73│ of the same playbook.", - " 74│ - Takes variables so you can define the new hosts more fully.", - " 75│ - This module is also supported for Windows targets.", - " 76│ module: add_host", - " 77│ notes:", - " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", - " 79│ newer.", - " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", - " 81│ of the 'global inventory source', because you can now have multiple sources. An", - " 82│ example was added that shows how to partially restore the previous behaviour.", - " 83│ - Though this module does not change the remote host, we do provide 'changed' status", - " 84│ as it can be useful for those trying to track inventory changes.", - " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", - " 86│ of those need to be in agreement to make them available as play targets. They", - " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", - " 88│ options:", - " 89│ groups:", - " 90│ aliases:", - " 91│ - group", - " 92│ - groupname", - " 93│ description:", - " 94│ - The groups to add the hostname to.", - " 95│ elements: str", - " 96│ type: list", - " 97│ name:", - " 98│ aliases:", - " 99│ - host", - "100│ - hostname", - "101│ description:", - "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", - "103│ a port number.", - "104│ required: true", - "105│ type: str", - "106│ seealso:", - "107│ - module: ansible.builtin.group_by", - "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", - "109│ in-memory inventory", - "110│ version_added: '0.9'", - "111│ version_added_collection: ansible.builtin", - "112│examples: |-", - "113│ - name: Add host to group 'just_created' with variable foo=42", - "114│ ansible.builtin.add_host:", - "115│ name: '{{ ip_from_ec2 }}'", - "116│ groups: just_created", - "117│ foo: 42", - "118│", - "119│ - name: Add host to multiple groups", - "120│ ansible.builtin.add_host:", - "121│ hostname: '{{ new_ip }}'", - "122│ groups:", - "123│ - group1", - "124│ - group2", - "125│", - "126│ - name: Add a host with a non-standard port local to your machines", - "127│ ansible.builtin.add_host:", - "128│ name: '{{ new_ip }}:{{ new_port }}'", - "129│", - "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", - "131│ ansible.builtin.add_host:", - "132│ hostname: '{{ new_ip }}'", - "133│ ansible_ssh_host: '{{ inventory_hostname }}'", - "134│ ansible_ssh_port: '{{ new_port }}'", - "135│", - "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", - "137│ ansible.builtin.add_host:", - "138│ hostname: '{{ new_ip }}'", - "139│ ansible_host: '{{ inventory_hostname }}'", - "140│ ansible_port: '{{ new_port }}'", - "141│", - "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", - "143│ ansible.builtin.add_host:", - "144│ hostname: charlie", - "145│ inventory_dir: '{{ inventory_dir }}'", - "146│", - "147│ - name: Add all hosts running this playbook to the done group", - "148│ ansible.builtin.add_host:", - "149│ name: '{{ item }}'", - "150│ groups: done", - "151│ loop: \"{{ ansible_play_hosts }}\"", - "152│full_name: ansible.builtin.add_host", - "153│metadata: null", - "154│returndocs: null", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/26.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/26.json new file mode 100644 index 000000000..cbd516e14 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/26.json @@ -0,0 +1,19 @@ +{ + "name": "test[26-:back-Back to browse company_name.coll_1 plugins window]", + "index": 26, + "comment": "Back to browse company_name.coll_1 plugins window", + "additional_information": { + "present": [], + "absent": [], + "compared_fixture": true + }, + "output": [ + " Company name.coll 1 Type Added Deprecated Description", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/27.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/27.json new file mode 100644 index 000000000..7f8458732 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/27.json @@ -0,0 +1,21 @@ +{ + "name": "test[27-:back-Back to ansible-navigator collections browse window]", + "index": 27, + "comment": "Back to ansible-navigator collections browse window", + "additional_information": { + "present": [ + "ansible.builtin", + "company_name.coll_1", + "company_name.coll_2" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Name Version Shadowed Type Path", + "0│ansible.builtin 2.14.1 False contained /usr/local/lib/python3.XX/site-packages/ansible", + "1│company_name.coll_1 1.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + "2│company_name.coll_2 2.0.0 False bind_mount FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_2", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/28.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/28.json new file mode 100644 index 000000000..c293756f6 --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/28.json @@ -0,0 +1,143 @@ +{ + "name": "test[28-:0-Browse ansible.builtin plugins window]", + "index": 28, + "comment": "Browse ansible.builtin plugins window", + "additional_information": { + "present": [ + "yum_repository" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + " Ansible.builtin Type Added Deprecated Description", + " 0│add_host module 0.9 False Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 1│advanced_host_list inventory 2.4 False Parses a 'host list' with ranges", + " 2│apt module 0.0.2 False Manages apt-packages", + " 3│apt_key module 1.0 False Add or remove an apt key", + " 4│apt_repository module 0.7 False Add and remove APT repositories", + " 5│assemble module 0.5 False Assemble configuration files from fragments", + " 6│assert module 1.5 False Asserts given expressions are true", + " 7│async_status module 0.5 False Obtain status of asynchronous task", + " 8│auto inventory 2.5 False Loads and executes an inventory plugin specified in a YAML config", + " 9│blockinfile module 2.0 False Insert/update/remove a text block surrounded by marker lines", + " 10│cmd shell 2.8 False Windows Command Prompt", + " 11│command module historical False Execute commands on targets", + " 12│config lookup 2.5 False Lookup current Ansible configuration values", + " 13│constructed inventory 2.4 False Uses Jinja2 to construct vars and groups based on existing inventory.", + " 14│copy module historical False Copy files to remote locations", + " 15│cron module 0.9 False Manage cron.d and crontab entries", + " 16│csvfile lookup 1.5 False read data from a TSV or CSV file", + " 17│debconf module 1.6 False Configure a .deb package", + " 18│debug strategy 2.1 False Executes tasks in interactive debug session.", + " 19│debug module 0.8 False Print statements during execution", + " 20│default callback historical False default Ansible screen output", + " 21│dict lookup 1.5 False returns key/value pair items from dictionaries", + " 22│dnf module 1.9 False Manages packages with the I(dnf) package manager", + " 23│dpkg_selections module 2.0 False Dpkg package selection selections", + " 24│env lookup 0.9 False Read the value of environment variables", + " 25│expect module 2.0 False Executes a command and responds to prompts", + " 26│fail module 0.8 False Fail with custom message", + " 27│fetch module 0.2 False Fetch files from remote nodes", + " 28│file lookup 0.9 False read file contents", + " 29│file module historical False Manage files and file properties", + " 30│fileglob lookup 1.4 False list files matching a pattern", + " 31│find module 2.0 False Return a list of files based on specific criteria", + " 32│first_found lookup historical False return first file found from list", + " 33│free strategy 2.0 False Executes tasks without waiting for all hosts", + " 34│gather_facts module 2.8 False Gathers facts about remote hosts", + " 35│generator inventory 2.6 False Uses Jinja2 to construct hosts and groups from patterns", + " 36│get_url module 0.6 False Downloads files from HTTP, HTTPS, or FTP to node", + " 37│getent module 1.8 False A wrapper to the unix getent utility", + " 38│git module 0.0.1 False Deploy software (or files) from git checkouts", + " 39│group module 0.0.2 False Add or remove groups", + " 40│group_by module 0.9 False Create Ansible groups based on facts", + " 41│host_group_vars vars 2.4 False In charge of loading group_vars and host_vars", + " 42│host_list inventory 2.4 False Parses a 'host list' string", + " 43│host_pinned strategy 2.7 False Executes tasks on each host without interruption", + " 44│hostname module 1.4 False Manage hostname", + " 45│import_playbook module 2.4 False Import a playbook", + " 46│import_role module 2.4 False Import a role into a play", + " 47│import_tasks module 2.4 False Import a task list", + " 48│include module 0.6 False Include a task list", + " 49│include_role module 2.2 False Load and execute a role", + " 50│include_tasks module 2.4 False Dynamically include a task list", + " 51│include_vars module 1.4 False Load variables from files, dynamically within a task", + " 52│indexed_items lookup 1.3 False rewrites lists to return 'indexed items'", + " 53│ini inventory 2.4 False Uses an Ansible INI file as inventory source.", + " 54│ini lookup 2.0 False read data from an ini file", + " 55│inventory_hostnames lookup 1.3 False list of inventory hosts matching a host pattern", + " 56│iptables module 2.0 False Modify iptables rules", + " 57│items lookup historical False list of items", + " 58│jsonfile cache 1.9 False JSON formatted files.", + " 59│junit callback historical False write playbook output to a JUnit file.", + " 60│known_hosts module 1.9 False Add or remove a host from the C(known_hosts) file", + " 61│linear strategy 2.0 False Executes tasks in a linear fashion", + " 62│lineinfile module 0.7 False Manage lines in text files", + " 63│lines lookup 0.9 False read lines from command", + " 64│list lookup 2.0 False simply returns what it is given.", + " 65│local connection historical False execute on controller", + " 66│memory cache historical False RAM backed, non persistent", + " 67│meta module 1.2 False Execute Ansible 'actions'", + " 68│minimal callback historical False minimal Ansible screen output", + " 69│nested lookup 1.1 False composes a list with nested elements of other lists", + " 70│oneline callback historical False oneline Ansible screen output", + " 71│package module 2.0 False Generic OS package manager", + " 72│package_facts module 2.5 False Package information as facts", + " 73│paramiko connection 0.1 False Run tasks via python ssh (paramiko)", + " 74│password lookup 1.1 False retrieve or generate a random password, stored in a file", + " 75│pause module 0.8 False Pause playbook execution", + " 76│ping module historical False Try to connect to host, verify a usable python and return C(pong) on success", + " 77│pip module 0.7 False Manages Python library dependencies", + " 78│pipe lookup 0.9 False read output from a command", + " 79│powershell shell historical False Windows PowerShell", + " 80│psrp connection 2.7 False Run tasks over Microsoft PowerShell Remoting Protocol", + " 81│random_choice lookup 1.1 False return random element from list", + " 82│raw module historical False Executes a low-down and dirty command", + " 83│reboot module 2.7 False Reboot a machine", + " 84│replace module 1.6 False Replace all instances of a particular string in a file using a back-referenced regular expression", + " 85│rpm_key module 1.3 False Adds or removes a gpg key from the rpm db", + " 86│runas become 2.8 False Run As user", + " 87│script inventory 2.4 False Executes an inventory script that returns JSON", + " 88│script module 0.9 False Runs a local script on a remote node after transferring it", + " 89│sequence lookup 1.0 False generate a list based on a number sequence", + " 90│service module 0.1 False Manage services", + " 91│service_facts module 2.5 False Return service state information as fact data", + " 92│set_fact module 1.2 False Set host variable(s) and fact(s).", + " 93│set_stats module 2.3 False Define and display stats for the current ansible run", + " 94│setup module historical False Gathers facts about remote hosts", + " 95│sh shell historical False POSIX shell (/bin/sh)", + " 96│shell module 0.2 False Execute shell commands on targets", + " 97│slurp module historical False Slurps a file from remote nodes", + " 98│ssh connection historical False connect via SSH client binary", + " 99│stat module 1.3 False Retrieve file or file system status", + "100│su become 2.8 False Substitute User", + "101│subelements lookup 1.4 False traverse nested key from a list of dictionaries", + "102│subversion module 0.7 False Deploys a subversion repository", + "103│sudo become 2.8 False Substitute User DO", + "104│systemd_service module 2.2 False Manage systemd units", + "105│sysvinit module 2.6 False Manage SysV services.", + "106│tempfile module 2.3 False Creates temporary files and directories", + "107│template lookup 0.9 False retrieve contents of file after templating with Jinja2", + "108│template module historical False Template a file out to a target host", + "109│together lookup 1.3 False merges lists into synchronized list", + "110│toml inventory 2.8 False Uses a specific TOML file as an inventory source.", + "111│tree callback 2.0 False Save host events to files", + "112│unarchive module 1.4 False Unpacks an archive after (optionally) copying it from the local machine", + "113│unvault lookup 2.10 False read vaulted file(s) contents", + "114│uri module 1.1 False Interacts with webservices", + "115│url lookup 1.9 False return contents from URL", + "116│urlsplit filter 2.4 False get components from URL", + "117│user module 0.2 False Manage user accounts", + "118│validate_argument_spec module 2.11 False Validate role argument specs.", + "119│varnames lookup 2.8 False Lookup matching variable names", + "120│vars lookup 2.5 False Lookup templated value of variables", + "121│wait_for module 0.7 False Waits for a condition before continuing", + "122│wait_for_connection module 2.3 False Waits until remote system is reachable/usable", + "123│winrm connection 2.0 False Run tasks over Microsoft's WinRM", + "124│yaml inventory 2.4 False Uses a specific YAML file as an inventory source.", + "125│yum module historical False Manages packages with the I(yum) package manager", + "126│yum_repository module 2.1 False Add or remove YUM repositories", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/29.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/29.json new file mode 100644 index 000000000..1f287ef3c --- /dev/null +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/29.json @@ -0,0 +1,172 @@ +{ + "name": "test[29-:1-Browse ansible.builtin.add_host module]", + "index": 29, + "comment": "Browse ansible.builtin.add_host module", + "additional_information": { + "present": [ + "ansible.builtin.add_host" + ], + "absent": [], + "compared_fixture": false + }, + "output": [ + "Image: ansible.builtin.add_host", + "Description: Add a host (and alternatively a group) to the ansible-playbook in-memory inventory", + " 0│---", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ name: ansible.builtin", + " 4│ path: /usr/local/lib/python3.XX/site-packages/ansible", + " 5│ shadowed_by: []", + " 6│ version: 2.14.1", + " 7│doc:", + " 8│ attributes:", + " 9│ action:", + " 10│ description: Indicates this has a corresponding action plugin so some parts", + " 11│ of the options can be executed on the controller", + " 12│ support: full", + " 13│ async:", + " 14│ description: Supports being used with the C(async) keyword", + " 15│ support: none", + " 16│ become:", + " 17│ description: Is usable alongside become keywords", + " 18│ support: none", + " 19│ bypass_host_loop:", + " 20│ description:", + " 21│ - Forces a 'global' task that does not execute per host, this bypasses per host", + " 22│ templating and serial, throttle and other loop considerations", + " 23│ - Conditionals will work as if C(run_once) is being used, variables used will", + " 24│ be from the first available host", + " 25│ - This action will not work normally outside of lockstep strategies", + " 26│ support: full", + " 27│ bypass_task_loop:", + " 28│ description: These tasks ignore the C(loop) and C(with_) keywords", + " 29│ support: none", + " 30│ check_mode:", + " 31│ description: Can run in check_mode and return changed status prediction without", + " 32│ modifying target", + " 33│ details: While this makes no changes to target systems the 'in memory' inventory", + " 34│ will still be altered", + " 35│ support: partial", + " 36│ connection:", + " 37│ description: Uses the target's configured connection information to execute", + " 38│ code on it", + " 39│ support: none", + " 40│ core:", + " 41│ description: This is a 'core engine' feature and is not implemented like most", + " 42│ task actions, so it is not overridable in any way via the plugin system.", + " 43│ details: While parts of this action are implemented in core, other parts are", + " 44│ still available as normal plugins and can be partially overridden", + " 45│ support: partial", + " 46│ delegation:", + " 47│ description: Can be used in conjunction with delegate_to and related keywords", + " 48│ support: none", + " 49│ diff_mode:", + " 50│ description: Will return details on what has changed (or possibly needs changing", + " 51│ in check_mode), when in diff mode", + " 52│ support: none", + " 53│ ignore_conditional:", + " 54│ description: The action is not subject to conditional execution so it will ignore", + " 55│ the C(when:) keyword", + " 56│ support: none", + " 57│ platform:", + " 58│ description: Target OS/families that can be operated against", + " 59│ platforms: all", + " 60│ support: N/A", + " 61│ tags:", + " 62│ description: Allows for the 'tags' keyword to control the selection of this", + " 63│ action for execution", + " 64│ support: full", + " 65│ until:", + " 66│ description: Denotes if this action objeys until/retry/poll keywords", + " 67│ support: full", + " 68│ author:", + " 69│ - Ansible Core Team", + " 70│ - Seth Vidal (@skvidal)", + " 71│ description:", + " 72│ - Use variables to create new hosts and groups in inventory for use in later plays", + " 73│ of the same playbook.", + " 74│ - Takes variables so you can define the new hosts more fully.", + " 75│ - This module is also supported for Windows targets.", + " 76│ module: add_host", + " 77│ notes:", + " 78│ - The alias C(host) of the parameter C(name) is only available on Ansible 2.4 and", + " 79│ newer.", + " 80│ - Since Ansible 2.4, the C(inventory_dir) variable is now set to C(None) instead", + " 81│ of the 'global inventory source', because you can now have multiple sources. An", + " 82│ example was added that shows how to partially restore the previous behaviour.", + " 83│ - Though this module does not change the remote host, we do provide 'changed' status", + " 84│ as it can be useful for those trying to track inventory changes.", + " 85│ - The hosts added will not bypass the C(--limit) from the command line, so both", + " 86│ of those need to be in agreement to make them available as play targets. They", + " 87│ are still available from hostvars and for delegation as a normal part of the inventory.", + " 88│ options:", + " 89│ groups:", + " 90│ aliases:", + " 91│ - group", + " 92│ - groupname", + " 93│ description:", + " 94│ - The groups to add the hostname to.", + " 95│ elements: str", + " 96│ type: list", + " 97│ name:", + " 98│ aliases:", + " 99│ - host", + "100│ - hostname", + "101│ description:", + "102│ - The hostname/ip of the host to add to the inventory, can include a colon and", + "103│ a port number.", + "104│ required: true", + "105│ type: str", + "106│ seealso:", + "107│ - module: ansible.builtin.group_by", + "108│ short_description: Add a host (and alternatively a group) to the ansible-playbook", + "109│ in-memory inventory", + "110│ version_added: '0.9'", + "111│ version_added_collection: ansible.builtin", + "112│examples: |-", + "113│ - name: Add host to group 'just_created' with variable foo=42", + "114│ ansible.builtin.add_host:", + "115│ name: '{{ ip_from_ec2 }}'", + "116│ groups: just_created", + "117│ foo: 42", + "118│", + "119│ - name: Add host to multiple groups", + "120│ ansible.builtin.add_host:", + "121│ hostname: '{{ new_ip }}'", + "122│ groups:", + "123│ - group1", + "124│ - group2", + "125│", + "126│ - name: Add a host with a non-standard port local to your machines", + "127│ ansible.builtin.add_host:", + "128│ name: '{{ new_ip }}:{{ new_port }}'", + "129│", + "130│ - name: Add a host alias that we reach through a tunnel (Ansible 1.9 and older)", + "131│ ansible.builtin.add_host:", + "132│ hostname: '{{ new_ip }}'", + "133│ ansible_ssh_host: '{{ inventory_hostname }}'", + "134│ ansible_ssh_port: '{{ new_port }}'", + "135│", + "136│ - name: Add a host alias that we reach through a tunnel (Ansible 2.0 and newer)", + "137│ ansible.builtin.add_host:", + "138│ hostname: '{{ new_ip }}'", + "139│ ansible_host: '{{ inventory_hostname }}'", + "140│ ansible_port: '{{ new_port }}'", + "141│", + "142│ - name: Ensure inventory vars are set to the same value as the inventory_hostname has (close to pre Ansible 2.4 behaviour)", + "143│ ansible.builtin.add_host:", + "144│ hostname: charlie", + "145│ inventory_dir: '{{ inventory_dir }}'", + "146│", + "147│ - name: Add all hosts running this playbook to the done group", + "148│ ansible.builtin.add_host:", + "149│ name: '{{ item }}'", + "150│ groups: done", + "151│ loop: \"{{ ansible_play_hosts }}\"", + "152│full_name: ansible.builtin.add_host", + "153│metadata: null", + "154│returndocs: null", + "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" + ] +} diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/3.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/3.json index 6b3c92f7e..68539c8e6 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/3.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/3.json @@ -1,15 +1,15 @@ { - "name": "test[03-:0-lookup_1 plugin docs window]", + "name": "test[03-:0-filter_1 plugin docs window]", "index": 3, - "comment": "lookup_1 plugin docs window", + "comment": "filter_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.lookup_1", - "Description: This is test lookup plugin", + "Image: company_name.coll_1.filter_1", + "Description: This is test filter plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -25,35 +25,17 @@ "12│doc:", "13│ author: test", "14│ description:", - "15│ - This is test lookup plugin", - "16│ name: lookup_1", + "15│ - This is test filter plugin", + "16│ name: filter_1", "17│ notes:", - "18│ - This is a dummy lookup plugin", - "19│ options:", - "20│ bar:", - "21│ default: candidate", - "22│ description:", - "23│ - Dummy option I(bar)", - "24│ type: str", - "25│ foo:", - "26│ description:", - "27│ - Dummy option I(foo)", - "28│ required: true", - "29│ type: str", - "30│ plugin_type: lookup", - "31│ short_description: This is test lookup plugin", - "32│ version_added: 1.0.0", - "33│ version_added_collection: company_name.coll_1", - "34│examples: |-", - "35│ - name: Retrieve a value deep inside a using a path", - "36│ ansible.builtin.set_fact:", - "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", - "38│full_name: company_name.coll_1.lookup_1", - "39│metadata: null", - "40│returndocs:", - "41│ _raw:", - "42│ description:", - "43│ - One or more zero-based indices of the matching list items.", + "18│ - This is a dummy filter plugin", + "19│ short_description: This is test filter plugin", + "20│ version_added: 1.0.0", + "21│ version_added_collection: company_name.coll_1", + "22│examples: null", + "23│full_name: company_name.coll_1.filter_1", + "24│metadata: null", + "25│returndocs: null", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/4.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/4.json index a65637aa9..3e37b9b4f 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/4.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/4.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/5.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/5.json index 613087a50..c6ba05950 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/5.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/5.json @@ -1,15 +1,15 @@ { - "name": "test[05-:1-mod_1 plugin docs window]", + "name": "test[05-:1-lookup_1 plugin docs window]", "index": 5, - "comment": "mod_1 plugin docs window", + "comment": "lookup_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.mod_1", - "Description: This is a test module", + "Image: company_name.coll_1.lookup_1", + "Description: This is test lookup plugin", " 0│---", " 1│additional_information: {}", " 2│collection_info:", @@ -23,46 +23,37 @@ "10│ shadowed_by: []", "11│ version: 1.0.0", "12│doc:", - "13│ author:", - "14│ - test", - "15│ description:", - "16│ - This is a test module", - "17│ module: mod_1", - "18│ notes:", - "19│ - This is a dummy module", - "20│ options:", - "21│ bar:", - "22│ aliases:", - "23│ - bam", - "24│ choices:", - "25│ - candidate", - "26│ - running", - "27│ default: candidate", - "28│ description:", - "29│ - Dummy option I(bar)", - "30│ type: str", - "31│ foo:", - "32│ description:", - "33│ - Dummy option I(foo)", - "34│ type: str", - "35│ short_description: This is a test module", - "36│ version_added: 1.0.0", - "37│ version_added_collection: company_name.coll_1", - "38│examples: |-", - "39│ - name: test task-1", - "40│ company_name.coll_1.mod_1:", - "41│ foo: somevalue", - "42│ bar: candidate", - "43│full_name: company_name.coll_1.mod_1", - "44│metadata: null", - "45│returndocs:", - "46│ baz:", - "47│ description: test return 1", - "48│ returned: success", - "49│ sample:", - "50│ - a", - "51│ - b", - "52│ type: list", + "13│ author: test", + "14│ description:", + "15│ - This is test lookup plugin", + "16│ name: lookup_1", + "17│ notes:", + "18│ - This is a dummy lookup plugin", + "19│ options:", + "20│ bar:", + "21│ default: candidate", + "22│ description:", + "23│ - Dummy option I(bar)", + "24│ type: str", + "25│ foo:", + "26│ description:", + "27│ - Dummy option I(foo)", + "28│ required: true", + "29│ type: str", + "30│ plugin_type: lookup", + "31│ short_description: This is test lookup plugin", + "32│ version_added: 1.0.0", + "33│ version_added_collection: company_name.coll_1", + "34│examples: |-", + "35│ - name: Retrieve a value deep inside a using a path", + "36│ ansible.builtin.set_fact:", + "37│ value: \"{{ lookup('company_name.coll_1.lookup_1', var1, var2) }}\"", + "38│full_name: company_name.coll_1.lookup_1", + "39│metadata: null", + "40│returndocs:", + "41│ _raw:", + "42│ description:", + "43│ - One or more zero-based indices of the matching list items.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/6.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/6.json index 5d9ff646e..0bde3c336 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/6.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/6.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/7.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/7.json index cb76aa273..bba39bb0b 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/7.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/7.json @@ -1,71 +1,68 @@ { - "name": "test[07-:2-role_full details window]", + "name": "test[07-:2-mod_1 plugin docs window]", "index": 7, - "comment": "role_full details window", + "comment": "mod_1 plugin docs window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_full", - "Description: Complete sample role.", + "Image: company_name.coll_1.mod_1", + "Description: This is a test module", " 0│---", - " 1│argument_specs:", - " 2│ alternate:", - " 3│ options:", - " 4│ role_full_int:", - " 5│ default: 1024", - " 6│ description: The integer value, defaulting to 1024.", - " 7│ required: false", - " 8│ type: int", - " 9│ short_description: The alternate entry point for the role_full role.", - "10│ main:", - "11│ options:", - "12│ role_full_int:", - "13│ default: 42", - "14│ description: The integer value, defaulting to 42.", - "15│ required: false", - "16│ type: int", - "17│ role_full_str:", - "18│ description: The string value", - "19│ required: true", - "20│ type: str", - "21│ short_description: The main entry point for the role_full role.", - "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", - "23│defaults:", - "24│ role_full_bool: true", - "25│ role_full_int: 42", - "26│ role_full_str: Test string", - "27│defaults_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", - "28│full_name: company_name.coll_1.role_full", - "29│info:", - "30│ dependencies: []", - "31│ galaxy_info:", - "32│ author: Ansible team (ansible-navigator)", - "33│ company: Ansible", - "34│ description: Complete sample role.", - "35│ galaxy_tags:", - "36│ - tag_1", - "37│ - tag_2", - "38│ license: LICENSE", - "39│ min_ansible_version: 2.9.0", - "40│ platforms:", - "41│ - name: eos", - "42│ versions:", - "43│ - all", - "44│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", - "45│readme: |-", - "46│ # Role full", - "47│", - "48│ This is a role with:", - "49│", - "50│ - defaults/main.yml", - "51│ - meta/argument_spec.yml", - "52│ - meta/main.yml", - "53│ - README.md", - "54│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md", - "55│short_name: role_full", + " 1│additional_information: {}", + " 2│collection_info:", + " 3│ authors:", + " 4│ - Ansible team (ansible-navigator)", + " 5│ license_file: LICENSE", + " 6│ name: company_name.coll_1", + " 7│ namespace: company_name", + " 8│ path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1", + " 9│ readme: README.md", + "10│ shadowed_by: []", + "11│ version: 1.0.0", + "12│doc:", + "13│ author:", + "14│ - test", + "15│ description:", + "16│ - This is a test module", + "17│ module: mod_1", + "18│ notes:", + "19│ - This is a dummy module", + "20│ options:", + "21│ bar:", + "22│ aliases:", + "23│ - bam", + "24│ choices:", + "25│ - candidate", + "26│ - running", + "27│ default: candidate", + "28│ description:", + "29│ - Dummy option I(bar)", + "30│ type: str", + "31│ foo:", + "32│ description:", + "33│ - Dummy option I(foo)", + "34│ type: str", + "35│ short_description: This is a test module", + "36│ version_added: 1.0.0", + "37│ version_added_collection: company_name.coll_1", + "38│examples: |-", + "39│ - name: test task-1", + "40│ company_name.coll_1.mod_1:", + "41│ foo: somevalue", + "42│ bar: candidate", + "43│full_name: company_name.coll_1.mod_1", + "44│metadata: null", + "45│returndocs:", + "46│ baz:", + "47│ description: test return 1", + "48│ returned: success", + "49│ sample:", + "50│ - a", + "51│ - b", + "52│ type: list", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/8.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/8.json index 904f68c0d..92c54238a 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/8.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/8.json @@ -9,10 +9,11 @@ }, "output": [ " Company name.coll 1 Type Added Deprecated Description", - "0│lookup_1 lookup 1.0.0 False This is test lookup plugin", - "1│mod_1 module 1.0.0 False This is a test module", - "2│role_full role Unknown Unknown Complete sample role.", - "3│role_minimum role Unknown Unknown Minimal sample role.", + "0│filter_1 filter 1.0.0 False This is test filter plugin", + "1│lookup_1 lookup 1.0.0 False This is test lookup plugin", + "2│mod_1 module 1.0.0 False This is a test module", + "3│role_full role Unknown Unknown Complete sample role.", + "4│role_minimum role Unknown Unknown Minimal sample role.", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back [0-9] goto :help help" ] } diff --git a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/9.json b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/9.json index cda85fc19..7cdabc5c4 100644 --- a/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/9.json +++ b/tests/fixtures/integration/actions/collections/test_welcome_interactive_noee.py/test/9.json @@ -1,51 +1,71 @@ { - "name": "test[09-:3-role_minimal details window]", + "name": "test[09-:3-role_full details window]", "index": 9, - "comment": "role_minimal details window", + "comment": "role_full details window", "additional_information": { "present": [], "absent": [], "compared_fixture": true }, "output": [ - "Image: company_name.coll_1.role_minimum", - "Description: Minimal sample role.", + "Image: company_name.coll_1.role_full", + "Description: Complete sample role.", " 0│---", - " 1│argument_specs: {}", - " 2│argument_specs_path: ''", - " 3│defaults: {}", - " 4│defaults_path: ''", - " 5│full_name: company_name.coll_1.role_minimum", - " 6│info:", - " 7│ dependencies: []", - " 8│ galaxy_info:", - " 9│ author: Ansible team (ansible-navigator)", - "10│ company: Ansible", - "11│ description: Minimal sample role.", - "12│ galaxy_tags:", - "13│ - tag_1", - "14│ - tag_2", - "15│ license: LICENSE", - "16│ min_ansible_version: 2.9.0", - "17│ platforms:", - "18│ - name: eos", - "19│ versions:", - "20│ - all", - "21│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/meta/main.yml", - "22│readme: |-", - "23│ # Role minimum", - "24│", - "25│ This is a role with:", - "26│", - "27│ - meta/main.yml", - "28│ - README.md", - "29│", - "30│ This is a role without:", - "31│", - "32│ - defaults/main.yml", - "33│ - meta/argument_spec.yml", - "34│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_minimum/README.md", - "35│short_name: role_minimum", + " 1│argument_specs:", + " 2│ alternate:", + " 3│ options:", + " 4│ role_full_int:", + " 5│ default: 1024", + " 6│ description: The integer value, defaulting to 1024.", + " 7│ required: false", + " 8│ type: int", + " 9│ short_description: The alternate entry point for the role_full role.", + "10│ main:", + "11│ options:", + "12│ role_full_int:", + "13│ default: 42", + "14│ description: The integer value, defaulting to 42.", + "15│ required: false", + "16│ type: int", + "17│ role_full_str:", + "18│ description: The string value", + "19│ required: true", + "20│ type: str", + "21│ short_description: The main entry point for the role_full role.", + "22│argument_specs_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/argument_specs.yml", + "23│defaults:", + "24│ role_full_bool: true", + "25│ role_full_int: 42", + "26│ role_full_str: Test string", + "27│defaults_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/defaults/main.yml", + "28│full_name: company_name.coll_1.role_full", + "29│info:", + "30│ dependencies: []", + "31│ galaxy_info:", + "32│ author: Ansible team (ansible-navigator)", + "33│ company: Ansible", + "34│ description: Complete sample role.", + "35│ galaxy_tags:", + "36│ - tag_1", + "37│ - tag_2", + "38│ license: LICENSE", + "39│ min_ansible_version: 2.9.0", + "40│ platforms:", + "41│ - name: eos", + "42│ versions:", + "43│ - all", + "44│info_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/meta/main.yml", + "45│readme: |-", + "46│ # Role full", + "47│", + "48│ This is a role with:", + "49│", + "50│ - defaults/main.yml", + "51│ - meta/argument_spec.yml", + "52│ - meta/main.yml", + "53│ - README.md", + "54│readme_path: FIXTURES_COLLECTION_DIR/test_welcome_interactive_noee.py/collections/ansible_collections/company_name/coll_1/roles/role_full/README.md", + "55│short_name: role_full", "^b/PgUp page up ^f/PgDn page down ↑↓ scroll esc back - previous + next [0-9] goto :help help" ] } diff --git a/tests/integration/actions/collections/base.py b/tests/integration/actions/collections/base.py index 7e5726cfa..6d0bc5464 100644 --- a/tests/integration/actions/collections/base.py +++ b/tests/integration/actions/collections/base.py @@ -21,13 +21,15 @@ base_steps = ( UiTestStep(user_input=":1", comment="Browse company_name.coll_1 plugins window"), - UiTestStep(user_input=":0", comment="lookup_1 plugin docs window"), + UiTestStep(user_input=":0", comment="filter_1 plugin docs window"), UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"), - UiTestStep(user_input=":1", comment="mod_1 plugin docs window"), + UiTestStep(user_input=":1", comment="lookup_1 plugin docs window"), UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"), - UiTestStep(user_input=":2", comment="role_full details window"), + UiTestStep(user_input=":2", comment="mod_1 plugin docs window"), UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"), - UiTestStep(user_input=":3", comment="role_minimal details window"), + UiTestStep(user_input=":3", comment="role_full details window"), + UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"), + UiTestStep(user_input=":4", comment="role_minimal details window"), UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"), UiTestStep( user_input=":back", @@ -59,7 +61,9 @@ ), # and repeat some basic browsing UiTestStep(user_input=":1", comment="Browse company_name.coll_1 plugins window"), - UiTestStep(user_input=":0", comment="lookup_1 plugin docs window"), + UiTestStep(user_input=":0", comment="filter_1 plugin docs window"), + UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"), + UiTestStep(user_input=":1", comment="lookup_1 plugin docs window"), UiTestStep(user_input=":back", comment="Back to browse company_name.coll_1 plugins window"), UiTestStep( user_input=":back", @@ -72,7 +76,7 @@ present=["yum_repository"], ), UiTestStep( - user_input=":0", + user_input=":1", comment="Browse ansible.builtin.add_host module", present=["ansible.builtin.add_host"], ),