From cc7f991c0186eb667f2baa9cd71d6800d6c8d01d Mon Sep 17 00:00:00 2001 From: bookshark13 Date: Thu, 15 Aug 2024 17:25:31 +0000 Subject: [PATCH 1/6] Update nb_inventory.py Fixes issue-#1300 allows api_endpoint to be a variable and string --- plugins/inventory/nb_inventory.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/inventory/nb_inventory.py b/plugins/inventory/nb_inventory.py index 03444b6b4..3ce0e321b 100644 --- a/plugins/inventory/nb_inventory.py +++ b/plugins/inventory/nb_inventory.py @@ -1594,7 +1594,7 @@ def fetch_api_docs(self): except Exception: cached_api_version = None cache = None - + self.api_endpoint = self.templar.template( self.get_option("api_endpoint"), fail_on_undefined=False) status = self._fetch_information(self.api_endpoint + "/api/status") netbox_api_version = ".".join(status["netbox-version"].split(".")[:2]) From 5f9dec4627f44191314b649e275dc81d18985bef Mon Sep 17 00:00:00 2001 From: Josh Gearhart Date: Thu, 22 Aug 2024 16:31:50 +0000 Subject: [PATCH 2/6] Update nb_inventory.py --- plugins/inventory/nb_inventory.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/inventory/nb_inventory.py b/plugins/inventory/nb_inventory.py index 3ce0e321b..5d990628a 100644 --- a/plugins/inventory/nb_inventory.py +++ b/plugins/inventory/nb_inventory.py @@ -1594,7 +1594,9 @@ def fetch_api_docs(self): except Exception: cached_api_version = None cache = None - self.api_endpoint = self.templar.template( self.get_option("api_endpoint"), fail_on_undefined=False) + self.api_endpoint = self.templar.template( + self.get_option("api_endpoint"), fail_on_undefined=False + ) status = self._fetch_information(self.api_endpoint + "/api/status") netbox_api_version = ".".join(status["netbox-version"].split(".")[:2]) From dd5aa8686c38fd1543cd967ee4ce99cda4b747f9 Mon Sep 17 00:00:00 2001 From: Josh Gearhart Date: Thu, 22 Aug 2024 16:39:03 +0000 Subject: [PATCH 3/6] Create fix_issue_1300.yml --- changelogs/fragments/fix_issue_1300.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 changelogs/fragments/fix_issue_1300.yml diff --git a/changelogs/fragments/fix_issue_1300.yml b/changelogs/fragments/fix_issue_1300.yml new file mode 100644 index 000000000..79ceded90 --- /dev/null +++ b/changelogs/fragments/fix_issue_1300.yml @@ -0,0 +1,2 @@ +minor_changes: + - Allows templating of api_endpoint in nb_inventory plugin From 931958a402ad1e7955ef81a3864c4334685105bc Mon Sep 17 00:00:00 2001 From: Josh Gearhart Date: Thu, 22 Aug 2024 19:53:03 +0000 Subject: [PATCH 4/6] Update test_nb_inventory.py --- tests/unit/inventory/test_nb_inventory.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/unit/inventory/test_nb_inventory.py b/tests/unit/inventory/test_nb_inventory.py index 93a59217f..6414199af 100644 --- a/tests/unit/inventory/test_nb_inventory.py +++ b/tests/unit/inventory/test_nb_inventory.py @@ -222,13 +222,13 @@ def test_get_resource_list_chunked( "/fake/path/asdasd3456", ) @pytest.mark.parametrize("netbox_ver", ["2.0.2", "3.0.0"]) -def test_fetch_api_docs(inventory_fixture, netbox_ver): +def test_fetch_api_docs(inventory_fixture, netbox_ver, templar_fixture): mock_fetch_information = Mock() mock_fetch_information.side_effect = [ {"netbox-version": netbox_ver}, {"info": {"version": "3.0"}}, ] - + inventory_fixture._fetch_information = mock_fetch_information with pytest.raises(KeyError, match="paths"): From 7498dbbac79aeb2f9ac940212d18b4775fa94b54 Mon Sep 17 00:00:00 2001 From: Josh Gearhart Date: Thu, 22 Aug 2024 19:56:25 +0000 Subject: [PATCH 5/6] Update test_nb_inventory.py --- tests/unit/inventory/test_nb_inventory.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/unit/inventory/test_nb_inventory.py b/tests/unit/inventory/test_nb_inventory.py index 6414199af..bd1bece51 100644 --- a/tests/unit/inventory/test_nb_inventory.py +++ b/tests/unit/inventory/test_nb_inventory.py @@ -228,6 +228,7 @@ def test_fetch_api_docs(inventory_fixture, netbox_ver, templar_fixture): {"netbox-version": netbox_ver}, {"info": {"version": "3.0"}}, ] + inventory_fixture._fetch_information = mock_fetch_information From b1057995bf0eab995b96b9c473df51c44d4eb16d Mon Sep 17 00:00:00 2001 From: Josh Gearhart Date: Thu, 22 Aug 2024 20:00:19 +0000 Subject: [PATCH 6/6] Update test_nb_inventory.py --- tests/unit/inventory/test_nb_inventory.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/unit/inventory/test_nb_inventory.py b/tests/unit/inventory/test_nb_inventory.py index bd1bece51..5114cf302 100644 --- a/tests/unit/inventory/test_nb_inventory.py +++ b/tests/unit/inventory/test_nb_inventory.py @@ -229,7 +229,6 @@ def test_fetch_api_docs(inventory_fixture, netbox_ver, templar_fixture): {"info": {"version": "3.0"}}, ] - inventory_fixture._fetch_information = mock_fetch_information with pytest.raises(KeyError, match="paths"):