Accept custom registered endpoints

The review drops usage of skip_path() filter in the related tests
and uses raw_request() instead.

Normally a swift url is organised as host:port/info and
host:port/v1/AUTH_<tenant-id>, see
https://docs.openstack.org/api-ref/object-store/
But RadosGW API is organised as host:port/swift/info and
host:port/swift/v1/AUTH_<tenant-id>, see
https://docs.ceph.com/docs/master/radosgw/config-ref/#swift-settings

Close-bug: 1799981
Change-Id: I6a932639a05defe0f04c600afcc35a19662937af
diff --git a/tempest/api/object_storage/test_crossdomain.py b/tempest/api/object_storage/test_crossdomain.py
index f61d9f8..1567e06 100644
--- a/tempest/api/object_storage/test_crossdomain.py
+++ b/tempest/api/object_storage/test_crossdomain.py
@@ -34,13 +34,12 @@
     def setUp(self):
         super(CrossdomainTest, self).setUp()
 
-        # Turning http://.../v1/foobar into http://.../
-        self.account_client.skip_path()
-
     @decorators.idempotent_id('d1b8b031-b622-4010-82f9-ff78a9e915c7')
     @utils.requires_ext(extension='crossdomain', service='object')
     def test_get_crossdomain_policy(self):
-        resp, body = self.account_client.get("crossdomain.xml", {})
+        url = self.account_client._get_base_version_url() + "crossdomain.xml"
+        resp, body = self.account_client.raw_request(url, "GET")
+        self.account_client._error_checker(resp, body)
         body = body.decode()
 
         self.assertTrue(body.startswith(self.xml_start) and
diff --git a/tempest/api/object_storage/test_healthcheck.py b/tempest/api/object_storage/test_healthcheck.py
index a186f9e..8e9e406 100644
--- a/tempest/api/object_storage/test_healthcheck.py
+++ b/tempest/api/object_storage/test_healthcheck.py
@@ -22,13 +22,12 @@
 
     def setUp(self):
         super(HealthcheckTest, self).setUp()
-        # Turning http://.../v1/foobar into http://.../
-        self.account_client.skip_path()
 
     @decorators.idempotent_id('db5723b1-f25c-49a9-bfeb-7b5640caf337')
     def test_get_healthcheck(self):
-
-        resp, _ = self.account_client.get("healthcheck", {})
+        url = self.account_client._get_base_version_url() + "healthcheck"
+        resp, body = self.account_client.raw_request(url, "GET")
+        self.account_client._error_checker(resp, body)
 
         # The target of the request is not any Swift resource. Therefore, the
         # existence of response header is checked without a custom matcher.
diff --git a/tempest/lib/services/object_storage/capabilities_client.py b/tempest/lib/services/object_storage/capabilities_client.py
index d31bbc2..f08bd9a 100644
--- a/tempest/lib/services/object_storage/capabilities_client.py
+++ b/tempest/lib/services/object_storage/capabilities_client.py
@@ -21,9 +21,10 @@
 class CapabilitiesClient(rest_client.RestClient):
 
     def list_capabilities(self):
-        self.skip_path()
         try:
-            resp, body = self.get('info')
+            url = self._get_base_version_url() + 'info'
+            resp, body = self.raw_request(url, 'GET')
+            self._error_checker(resp, body)
         finally:
             self.reset_path()
         body = json.loads(body)
diff --git a/tempest/tests/lib/services/object_storage/test_capabilities_client.py b/tempest/tests/lib/services/object_storage/test_capabilities_client.py
index b7f972a..9df7c7c 100644
--- a/tempest/tests/lib/services/object_storage/test_capabilities_client.py
+++ b/tempest/tests/lib/services/object_storage/test_capabilities_client.py
@@ -43,7 +43,7 @@
         }
         self.check_service_client_function(
             self.client.list_capabilities,
-            'tempest.lib.common.rest_client.RestClient.get',
+            'tempest.lib.common.rest_client.RestClient.raw_request',
             resp,
             bytes_body)