def test_get_all_roles(self, mock_f, mock_resp): """ Test the roles retrieval. """ resp = [{ 'id': 'test_role', 'users': [{ 'login': '******' }], 'permissions': [{ 'resource': '/', 'permission': [0] }] }] users = [{'login': '******'}] mock_f.role_query_manager.return_value.find_all.return_value = resp mock_f.user_query_manager.return_value.find_users_belonging_to_role.return_value = users mock_f.permission_manager.return_value.operation_value_to_name.return_value = 'READ' request = mock.MagicMock() roles = RolesView() response = roles.get(request) expected_cont = [{ 'id': 'test_role', 'permissions': { '/': ['READ'] }, 'users': ['test'], '_href': '/v2/roles/test_role/' }] mock_resp.assert_called_once_with(expected_cont) self.assertTrue(response is mock_resp.return_value)
def test_create_role(self, mock_factory, mock_resp, mock_redirect): """ Test role creation. """ resp = {'id': 'foo', 'display_name': 'bar'} expected_cont = {'id': 'foo', 'display_name': 'bar', '_href': '/v2/roles/foo/'} request = mock.MagicMock() request.body = json.dumps({'role_id': 'foo', 'display_name': 'bar'}) mock_factory.role_manager.return_value.create_role.return_value = resp create_role = RolesView() response = create_role.post(request) mock_resp.assert_called_once_with(expected_cont) mock_redirect.assert_called_once_with(mock_resp.return_value, expected_cont['_href']) self.assertTrue(response is mock_redirect.return_value)
def test_get_all_roles(self, mock_ctrl, mock_f, mock_resp): """ Test the roles retrieval. """ resp = [{'id': 'test_role', 'users': [{'login': '******'}], 'permissions': [{'resource': '/', 'permission': [0]}]}] user = mock.MagicMock() mock_f.role_query_manager.return_value.find_all.return_value = resp mock_ctrl.find_users_belonging_to_role.return_value = [user] mock_f.permission_manager.return_value.operation_value_to_name.return_value = 'READ' request = mock.MagicMock() roles = RolesView() response = roles.get(request) expected_cont = [{'id': 'test_role', 'permissions': {'/': ['READ']}, 'users': [user.login], '_href': '/v2/roles/test_role/'}] mock_resp.assert_called_once_with(expected_cont) self.assertTrue(response is mock_resp.return_value)
url(r'^v2/repositories/(?P<repo_id>[^/]+)/distributors/(?P<distributor_id>[^/]+)/$', RepoDistributorResourceView.as_view(), name='repo_distributor_resource'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/distributors/(?P<distributor_id>[^/]+)/schedules/publish/$', RepoPublishSchedulesView.as_view(), name='repo_publish_schedules'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/distributors/(?P<distributor_id>[^/]+)/schedules/publish/(?P<schedule_id>[^/]+)/$', RepoPublishScheduleResourceView.as_view(), name='repo_publish_schedule_resource'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/history/sync/$', RepoSyncHistory.as_view(), name='repo_sync_history'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/history/publish/(?P<distributor_id>[^/]+)/$', RepoPublishHistory.as_view(), name='repo_publish_history'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/actions/sync/$', RepoSync.as_view(), name='repo_sync'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/actions/publish/$', RepoPublish.as_view(), name='repo_publish'), url(r'^v2/repositories/(?P<dest_repo_id>[^/]+)/actions/associate/$', RepoAssociate.as_view(), name='repo_associate'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/actions/unassociate/$', RepoUnassociate.as_view(), name='repo_unassociate'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/actions/import_upload/$', RepoImportUpload.as_view(), name='repo_import_upload'), url(r'^v2/roles/$', RolesView.as_view(), name='roles'), url(r'^v2/roles/(?P<role_id>[^/]+)/$', RoleResourceView.as_view(), name='role_resource'), url(r'^v2/roles/(?P<role_id>[^/]+)/users/$', RoleUsersView.as_view(), name='role_users'), url(r'^v2/roles/(?P<role_id>[^/]+)/users/(?P<login>[^/]+)/$', RoleUserView.as_view(), name='role_user'), url(r'^v2/status/$', StatusView.as_view(), name='status'), url(r'^v2/tasks/$', TaskCollectionView.as_view(), name='task_collection'), url(r'^v2/tasks/(?P<task_id>[^/]+)/$', TaskResourceView.as_view(), name='task_resource'), url(r'^v2/users/$', UsersView.as_view(), name='users'), url(r'^v2/users/(?P<login>[^/]+)/$', UserResourceView.as_view(), name='user_resource') )
url(r'^v2/repositories/(?P<repo_id>[^/]+)/actions/sync/$', RepoSync.as_view(), name='repo_sync'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/actions/publish/$', RepoPublish.as_view(), name='repo_publish'), url(r'^v2/repositories/(?P<dest_repo_id>[^/]+)/actions/associate/$', RepoAssociate.as_view(), name='repo_associate'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/actions/unassociate/$', RepoUnassociate.as_view(), name='repo_unassociate'), url(r'^v2/repositories/(?P<repo_id>[^/]+)/actions/import_upload/$', RepoImportUpload.as_view(), name='repo_import_upload'), url(r'^v2/roles/$', RolesView.as_view(), name='roles'), url(r'^v2/roles/(?P<role_id>[^/]+)/$', RoleResourceView.as_view(), name='role_resource'), url(r'^v2/roles/(?P<role_id>[^/]+)/users/$', RoleUsersView.as_view(), name='role_users'), url(r'^v2/roles/(?P<role_id>[^/]+)/users/(?P<login>[^/]+)/$', RoleUserView.as_view(), name='role_user'), url(r'^v2/status/$', StatusView.as_view(), name='status'), url(r'^v2/tasks/$', tasks.TaskCollectionView.as_view(), name='task_collection'), url(r'^v2/tasks/search/$', tasks.TaskSearchView.as_view(),