Add a new client method: "get_loaded_network_extensions"

This method retrieves the extensions loaded by the Neutron API, instead
of reading the configured extensions in the tempest configuration.

This method can help during a extension implementation, as for example
in "subnet-external-network". This extension cannot be declared yet in
the neutron-tempest-plugin job definitions, because the extension has
not been implemented in Neutron. However, when the Neutron patch is
tested, the extension is missing in the configuration and the test
cannot correctly modify the API calls.

Related-Prod: PRODX-52412

Related-Bug: #2051831
Change-Id: I3e6f570cd63e44df7ceb8f5013c2b4adebfe4286
diff --git a/neutron_tempest_plugin/api/test_subnets.py b/neutron_tempest_plugin/api/test_subnets.py
index 126dc70..663713c 100644
--- a/neutron_tempest_plugin/api/test_subnets.py
+++ b/neutron_tempest_plugin/api/test_subnets.py
@@ -69,6 +69,8 @@
 
     @decorators.idempotent_id('c0f9280b-9d81-4728-a967-6be22659d4c8')
     def test_list_validation_filters(self):
+        if 'subnet-external-network' in self.get_loaded_network_extensions():
+            self.list_kwargs['router:external'] = False
         self._test_list_validation_filters(self.list_kwargs)
         self._test_list_validation_filters({
             'unknown_filter': 'value'}, filter_is_valid=False)