Fix role rendering
In context of Fuel 7.0 Role model was removed and 'id' should be removed from role table formatting. Change-Id: Ib3b0836a4c92a203838da559031c467fb3d6699f Closes-Bug: #1477479
This commit is contained in:
@@ -60,7 +60,7 @@ class RoleAction(Action):
|
||||
"""
|
||||
roles = Role.get_all(params.release)
|
||||
|
||||
acceptable_keys = ("name", "id")
|
||||
acceptable_keys = ("name", )
|
||||
|
||||
self.serializer.print_to_output(
|
||||
roles,
|
||||
|
||||
@@ -12,73 +12,102 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import json
|
||||
|
||||
from mock import patch
|
||||
import requests_mock
|
||||
import yaml
|
||||
|
||||
from fuelclient.cli.serializers import Serializer
|
||||
from fuelclient.tests import base
|
||||
|
||||
API_IN = """id: 2
|
||||
name: my_role
|
||||
API_IN = """name: my_role
|
||||
"""
|
||||
|
||||
API_OUT = yaml.load(API_IN)
|
||||
|
||||
|
||||
@patch('fuelclient.client.requests')
|
||||
@requests_mock.mock()
|
||||
class TestRoleActions(base.UnitTestCase):
|
||||
|
||||
release_id = 2
|
||||
|
||||
def test_list_roles(self, mreq):
|
||||
self.execute(['fuel', 'role', '--rel', '2'])
|
||||
role_call = mreq.get.call_args_list[-1]
|
||||
url = role_call[0][0]
|
||||
self.assertIn('/releases/2/roles/', url)
|
||||
url = '/api/v1/releases/{0}/roles/'.format(self.release_id)
|
||||
cmd = 'fuel role --rel {0}'.format(self.release_id)
|
||||
get_request = mreq.get(url, json=[API_OUT])
|
||||
|
||||
self.execute(cmd.split())
|
||||
|
||||
self.assertTrue(get_request.called)
|
||||
self.assertIn(url, get_request.last_request.url)
|
||||
|
||||
@patch('fuelclient.cli.serializers.open', create=True)
|
||||
def test_get_role(self, mopen, mreq):
|
||||
mreq.get().json.return_value = API_OUT
|
||||
self.execute(['fuel', 'role',
|
||||
'--role', 'my_role', '--file', 'myfile.yaml',
|
||||
'--rel', '2'])
|
||||
def test_get_role(self, mreq, mopen):
|
||||
url = '/api/v1/releases/{0}/roles/my_role/'.format(self.release_id)
|
||||
cmd = 'fuel role --role my_role --file myfile.yaml --rel {0}'.format(
|
||||
self.release_id)
|
||||
get_request = mreq.get(url, json=API_OUT)
|
||||
|
||||
self.execute(cmd.split())
|
||||
|
||||
mopen().__enter__().write.assert_called_once_with(API_IN)
|
||||
|
||||
call_args = mreq.get.call_args_list[1]
|
||||
url = call_args[0][0]
|
||||
self.assertIn('releases/2/roles/my_role', url)
|
||||
self.assertTrue(get_request.called)
|
||||
self.assertIn(url, get_request.last_request.url)
|
||||
|
||||
@patch('fuelclient.cli.serializers.open', create=True)
|
||||
def test_create_role(self, mopen, mreq):
|
||||
def test_create_role(self, mreq, mopen):
|
||||
url = '/api/v1/releases/{0}/roles/'.format(self.release_id)
|
||||
cmd = 'fuel role --create --file myfile.yaml --rel {0}'.format(
|
||||
self.release_id)
|
||||
mopen().__enter__().read.return_value = API_IN
|
||||
post_request = mreq.post(url, json=API_OUT)
|
||||
|
||||
self.execute(['fuel', 'role', '--create',
|
||||
'--file', 'myfile.yaml', '--rel', '2'])
|
||||
self.execute(cmd.split())
|
||||
|
||||
call_args = mreq.post.call_args_list[0]
|
||||
url = call_args[0][0]
|
||||
kwargs = call_args[1]
|
||||
self.assertIn('releases/2/roles/', url)
|
||||
self.assertTrue(post_request.called)
|
||||
self.assertIn(url, post_request.last_request.url)
|
||||
self.assertEqual(
|
||||
json.loads(kwargs['data']), API_OUT)
|
||||
API_OUT, post_request.last_request.json())
|
||||
|
||||
@patch('fuelclient.cli.serializers.open', create=True)
|
||||
def test_update_role(self, mopen, mreq):
|
||||
def test_update_role(self, mreq, mopen):
|
||||
url = '/api/v1/releases/{0}/roles/my_role/'.format(self.release_id)
|
||||
cmd = 'fuel role --update --file myfile.yaml --rel {0}'.format(
|
||||
self.release_id)
|
||||
mopen().__enter__().read.return_value = API_IN
|
||||
put_request = mreq.put(url, json=API_OUT)
|
||||
|
||||
self.execute(['fuel', 'role', '--update',
|
||||
'--file', 'myfile.yaml', '--rel', '2'])
|
||||
self.execute(cmd.split())
|
||||
|
||||
call_args = mreq.put.call_args_list[0]
|
||||
url = call_args[0][0]
|
||||
kwargs = call_args[1]
|
||||
self.assertIn('releases/2/roles/my_role', url)
|
||||
self.assertTrue(put_request.called)
|
||||
self.assertIn(url, put_request.last_request.url)
|
||||
self.assertEqual(
|
||||
json.loads(kwargs['data']), API_OUT)
|
||||
API_OUT, put_request.last_request.json())
|
||||
|
||||
def test_delete_role(self, mreq):
|
||||
self.execute(['fuel', 'role',
|
||||
'--delete', '--role', '3', '--rel', '2'])
|
||||
role_call = mreq.delete.call_args_list[-1]
|
||||
url = role_call[0][0]
|
||||
self.assertIn('releases/2/roles/3', url)
|
||||
url = '/api/v1/releases/{0}/roles/my_role/'.format(self.release_id)
|
||||
cmd = 'fuel role --delete --role my_role --rel {0}'.format(
|
||||
self.release_id)
|
||||
delete_request = mreq.delete(url, json=API_OUT)
|
||||
|
||||
self.execute(cmd.split())
|
||||
|
||||
self.assertTrue(delete_request.called)
|
||||
self.assertIn(url, delete_request.last_request.url)
|
||||
|
||||
def test_formatting_for_list_roles(self, mreq):
|
||||
url = '/api/v1/releases/{0}/roles/'.format(self.release_id)
|
||||
cmd = 'fuel role --rel {0}'.format(self.release_id)
|
||||
get_request = mreq.get(url, json=[API_OUT])
|
||||
|
||||
with patch.object(Serializer, 'print_to_output') as mock_print:
|
||||
with patch('fuelclient.cli.actions.role.format_table') \
|
||||
as format_table_mock:
|
||||
self.execute(cmd.split())
|
||||
|
||||
self.assertTrue(get_request.called)
|
||||
self.assertIn(url, get_request.last_request.url)
|
||||
|
||||
format_table_mock.assert_called_once_with(
|
||||
[API_OUT], acceptable_keys=('name',))
|
||||
mock_print.assert_called_once_with(
|
||||
[API_OUT], format_table_mock.return_value)
|
||||
|
||||
Reference in New Issue
Block a user