Remove long-ago deprecated show_categories
The API catalog endpoint `show_categories` was deprecated back in Liberty cycle. It should be removed. This commit removes the deprecated endpoint `show_categories`, removes it from the API router, and removes references to it in Tempest tests -- which now test `list_categories` instead. Change-Id: If1bea7448c0d4aa5fdf37c8400323589d73fdb21
This commit is contained in:
parent
792057c5f3
commit
fb3c5625df
|
@ -23,7 +23,6 @@ from keystoneclient import service_catalog
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_db import exception as db_exc
|
from oslo_db import exception as db_exc
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
from oslo_log import versionutils
|
|
||||||
from webob import exc
|
from webob import exc
|
||||||
|
|
||||||
import murano.api.v1
|
import murano.api.v1
|
||||||
|
@ -337,13 +336,6 @@ class Controller(object):
|
||||||
category = db_api.category_get(category_id, packages=True)
|
category = db_api.category_get(category_id, packages=True)
|
||||||
return category.to_dict()
|
return category.to_dict()
|
||||||
|
|
||||||
@versionutils.deprecated(as_of=versionutils.deprecated.LIBERTY,
|
|
||||||
in_favor_of='categories.list()')
|
|
||||||
def show_categories(self, req):
|
|
||||||
policy.check("get_category", req.context)
|
|
||||||
categories = db_api.categories_list()
|
|
||||||
return {'categories': [category.name for category in categories]}
|
|
||||||
|
|
||||||
def list_categories(self, req):
|
def list_categories(self, req):
|
||||||
"""List all categories
|
"""List all categories
|
||||||
|
|
||||||
|
|
|
@ -227,10 +227,6 @@ class API(wsgi.Router):
|
||||||
conditions={'method': ['POST']})
|
conditions={'method': ['POST']})
|
||||||
|
|
||||||
catalog_resource = catalog.create_resource()
|
catalog_resource = catalog.create_resource()
|
||||||
mapper.connect('/catalog/packages/categories',
|
|
||||||
controller=catalog_resource,
|
|
||||||
action='show_categories',
|
|
||||||
conditions={'method': ['GET']})
|
|
||||||
mapper.connect('/catalog/packages/{package_id}',
|
mapper.connect('/catalog/packages/{package_id}',
|
||||||
controller=catalog_resource,
|
controller=catalog_resource,
|
||||||
action='get',
|
action='get',
|
||||||
|
|
|
@ -1234,22 +1234,6 @@ This is a fake zip archive
|
||||||
retrieved_category = jsonutils.loads(req.get_response(self.api).body)
|
retrieved_category = jsonutils.loads(req.get_response(self.api).body)
|
||||||
self.assertEqual(retrieved_category, expected)
|
self.assertEqual(retrieved_category, expected)
|
||||||
|
|
||||||
def test_show_categories(self):
|
|
||||||
"""Check that show categories executed successfully"""
|
|
||||||
|
|
||||||
self._set_policy_rules({'add_category': '@', 'get_category': '@'})
|
|
||||||
self.expect_policy_check('add_category')
|
|
||||||
|
|
||||||
body = {'name': 'new_category'}
|
|
||||||
req = self._post('/catalog/categories', jsonutils.dump_as_bytes(body))
|
|
||||||
req.get_response(self.api)
|
|
||||||
|
|
||||||
self.expect_policy_check('get_category')
|
|
||||||
req = self._get('/catalog/categories')
|
|
||||||
retrieved_categories = self.controller.show_categories(req)
|
|
||||||
self.assertEqual(len(retrieved_categories), 1)
|
|
||||||
self.assertIn('new_category', retrieved_categories['categories'])
|
|
||||||
|
|
||||||
def test_delete_category(self):
|
def test_delete_category(self):
|
||||||
"""Check that category deleted successfully"""
|
"""Check that category deleted successfully"""
|
||||||
self._set_policy_rules({'delete_category': '@'})
|
self._set_policy_rules({'delete_category': '@'})
|
||||||
|
@ -1359,7 +1343,7 @@ This is a fake zip archive
|
||||||
self.assertIn('Category name should be 80 characters maximum',
|
self.assertIn('Category name should be 80 characters maximum',
|
||||||
result_message)
|
result_message)
|
||||||
|
|
||||||
def test_list_category(self):
|
def test_list_categories(self):
|
||||||
names = ['cat1', 'cat2']
|
names = ['cat1', 'cat2']
|
||||||
for name in names:
|
for name in names:
|
||||||
db_catalog_api.category_add(name)
|
db_catalog_api.category_add(name)
|
||||||
|
@ -1392,7 +1376,7 @@ This is a fake zip archive
|
||||||
result_categories = jsonutils.loads(result.body)['categories']
|
result_categories = jsonutils.loads(result.body)['categories']
|
||||||
self.assertEqual(names, [c['name'] for c in result_categories])
|
self.assertEqual(names, [c['name'] for c in result_categories])
|
||||||
|
|
||||||
def test_list_category_negative(self):
|
def test_list_categories_negative(self):
|
||||||
self._set_policy_rules({'get_category': '@'})
|
self._set_policy_rules({'get_category': '@'})
|
||||||
self.expect_policy_check('get_category')
|
self.expect_policy_check('get_category')
|
||||||
|
|
||||||
|
|
|
@ -270,7 +270,7 @@ class ApplicationCatalogClient(rest_client.RestClient):
|
||||||
|
|
||||||
# -----------------------------Category methods--------------------------------
|
# -----------------------------Category methods--------------------------------
|
||||||
def list_categories(self):
|
def list_categories(self):
|
||||||
uri = 'v1/catalog/packages/categories'
|
uri = 'v1/catalog/categories'
|
||||||
resp, body = self.get(uri)
|
resp, body = self.get(uri)
|
||||||
self.expected_success(200, resp.status)
|
self.expected_success(200, resp.status)
|
||||||
return self._parse_resp(body)
|
return self._parse_resp(body)
|
||||||
|
|
|
@ -41,7 +41,7 @@ class TestCategories(base.BaseApplicationCatalogIsolatedAdminTest):
|
||||||
super(TestCategories, cls).resource_cleanup()
|
super(TestCategories, cls).resource_cleanup()
|
||||||
|
|
||||||
@testtools.testcase.attr('smoke')
|
@testtools.testcase.attr('smoke')
|
||||||
def test_get_list_categories(self):
|
def test_list_categories(self):
|
||||||
categories_list = self.application_catalog_client.list_categories()
|
categories_list = self.application_catalog_client.list_categories()
|
||||||
self.assertIsInstance(categories_list, list)
|
self.assertIsInstance(categories_list, list)
|
||||||
|
|
||||||
|
@ -49,14 +49,20 @@ class TestCategories(base.BaseApplicationCatalogIsolatedAdminTest):
|
||||||
def test_create_and_delete_category(self):
|
def test_create_and_delete_category(self):
|
||||||
name = utils.generate_name('create_and_delete_category')
|
name = utils.generate_name('create_and_delete_category')
|
||||||
categories_list = self.application_catalog_client.list_categories()
|
categories_list = self.application_catalog_client.list_categories()
|
||||||
self.assertNotIn(name, categories_list)
|
category_names = [c['name'] for c in categories_list]
|
||||||
|
self.assertNotIn(name, category_names)
|
||||||
|
|
||||||
category = self.application_catalog_client.create_category(name)
|
category = self.application_catalog_client.create_category(name)
|
||||||
self.assertEqual(name, category['name'])
|
self.assertEqual(name, category['name'])
|
||||||
|
|
||||||
categories_list = self.application_catalog_client.list_categories()
|
categories_list = self.application_catalog_client.list_categories()
|
||||||
self.assertIn(name, categories_list)
|
category_names = [c['name'] for c in categories_list]
|
||||||
|
self.assertIn(name, category_names)
|
||||||
|
|
||||||
self.application_catalog_client.delete_category(category['id'])
|
self.application_catalog_client.delete_category(category['id'])
|
||||||
categories_list = self.application_catalog_client.list_categories()
|
categories_list = self.application_catalog_client.list_categories()
|
||||||
self.assertNotIn(name, categories_list)
|
category_names = [c['name'] for c in categories_list]
|
||||||
|
self.assertNotIn(name, category_names)
|
||||||
|
|
||||||
def test_get_category(self):
|
def test_get_category(self):
|
||||||
category = self.application_catalog_client.get_category(
|
category = self.application_catalog_client.get_category(
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
Removed `show_categories` endpoint from the application catalog API which
|
||||||
|
has been deprecated since the Liberty cycle. Use `list_categories` instead.
|
Loading…
Reference in New Issue