add removed handlers

There were urls and handlers for vmware in the nailgun, that were
removed completely in
review.openstack.org/#/c/428402/15/nailgun/nailgun/api/v1/urls.py

The better approach is remain the urls and make special stub-handlers
instead of real ones.

Change-Id: I50bf740ec726c9cc57ff63d49aff718e812e6feb
Closes-Bug: #1668258
This commit is contained in:
Igor Gajsin 2017-02-27 16:12:04 +03:00
parent 9fc3e312dc
commit cb8529a84a
3 changed files with 47 additions and 0 deletions

View File

@ -56,3 +56,29 @@ class RemovedIn51RedHatAccountHandler(RemovedIn51Handler):
class RemovedIn51RedHatSetupHandler(RemovedIn51Handler):
pass
class RemovedIn10Handler(BaseRemovedInHandler):
"""Removed resource handler for Fuel 10"""
fuel_version = "10"
@handle_errors
@validate
@serialize
def GET(self, cluster_id):
"""A stub for the request. Always returns 410 with removed message.
:http: 410 (Gone)
:raises: webapi.Gone Exception
:return: Removed in Fuel version message
"""
message = u"Removed in Fuel version {0}".format(self.fuel_version)
raise self.http(410, message)
class RemovedIn10VmwareAttributesDefaultsHandler(RemovedIn10Handler):
pass
class RemovedIn10VmwareAttributesHandler(RemovedIn10Handler):
pass

View File

@ -46,6 +46,10 @@ from nailgun.api.v1.handlers.cluster import ClusterResetHandler
from nailgun.api.v1.handlers.cluster import ClusterStopDeploymentHandler
from nailgun.api.v1.handlers.component import ComponentCollectionHandler
from nailgun.api.v1.handlers.removed import \
RemovedIn10VmwareAttributesDefaultsHandler
from nailgun.api.v1.handlers.removed import RemovedIn10VmwareAttributesHandler
from nailgun.api.v1.handlers.cluster_plugin_link \
import ClusterPluginLinkCollectionHandler
from nailgun.api.v1.handlers.cluster_plugin_link \
@ -268,6 +272,11 @@ urls = (
r'/clusters/(?P<cluster_id>\d+)/unassignment/?$',
NodeUnassignmentHandler,
r'/clusters/(?P<cluster_id>\d+)/vmware_attributes/?$',
RemovedIn10VmwareAttributesHandler,
r'/clusters/(?P<cluster_id>\d+)/vmware_attributes/defaults/?$',
RemovedIn10VmwareAttributesDefaultsHandler,
r'/clusters/(?P<cluster_id>\d+)/plugin_links/?$',
ClusterPluginLinkCollectionHandler,
r'/clusters/(?P<cluster_id>\d+)/plugin_links/(?P<obj_id>\d+)/?$',

View File

@ -57,6 +57,18 @@ class TestHandlers(BaseIntegrationTest):
)
self.assertIn(resp.status_code, [404, 405])
def test_removed_urls(self):
urls = {
'RemovedIn51RedHatAccountHandler': {'obj_id', 1},
'RemovedIn51RedHatSetupHandler': {'obj_id', 1},
'RemovedIn10VmwareAttributesDefaultsHandler': {'cluster_id': 1},
'RemovedIn10VmwareAttributesHandler': {'cluster_id': 1},
}
for handler in urls:
test_url = reverse(handler, urls[handler])
resp = self.app.get(test_url, expect_errors=True)
self.assertEqual(resp.status_code, 410)
def test_http_response(self):
web.ctx.headers = []