def test_get_content_unit_user_metadata_resource_no_unit(self, mock_factory, mock_resp): """ View should return a response not found and a helpful message when unit is not found. """ request = mock.MagicMock() mock_cqm = mock_factory.content_query_manager() mock_cqm.get_content_unit_by_id.side_effect = MissingResource() metadata_resource = ContentUnitUserMetadataResourceView() response = metadata_resource.get(request, 'mock_type', 'mock_unit') msg = _('No content unit resource: mock_unit') mock_resp.assert_called_once_with(msg, HttpResponseNotFound) self.assertTrue(response is mock_resp.return_value)
def test_put_content_unit_user_metadata_resource(self, mock_factory, mock_resp): request = mock.MagicMock() request.body_as_json = 'mock_data' mock_cm = mock_factory.content_manager() metadata_resource = ContentUnitUserMetadataResourceView() response = metadata_resource.put(request, 'mock_type', 'mock_unit') mock_delta = {constants.PULP_USER_METADATA_FIELDNAME: 'mock_data'} mock_cm.update_content_unit.assert_called_once_with( 'mock_type', 'mock_unit', mock_delta) mock_resp.assert_called_with(None) self.assertTrue(response is mock_resp.return_value)
def test_put_content_unit_user_metadata_resource(self, mock_factory, mock_resp): """ Test update content unit user metdata resource. """ request = mock.MagicMock() request.body = json.dumps('mock_data') mock_cm = mock_factory.content_manager() metadata_resource = ContentUnitUserMetadataResourceView() response = metadata_resource.put(request, 'mock_type', 'mock_unit') mock_delta = {constants.PULP_USER_METADATA_FIELDNAME: 'mock_data'} mock_cm.update_content_unit.assert_called_once_with('mock_type', 'mock_unit', mock_delta) mock_resp.assert_called_with(None) self.assertTrue(response is mock_resp.return_value)
def test_get_content_unit_user_metadata_resource(self, mock_factory, mock_resp, mock_serial): """ View should return a response contains user metadata """ mock_unit = {constants.PULP_USER_METADATA_FIELDNAME: 'mock_metadata'} mock_cqm = mock_factory.content_query_manager() mock_cqm.get_content_unit_by_id.return_value = mock_unit mock_serial.content_unit_obj.return_value = 'mock_serial_metadata' request = mock.MagicMock() metadata_resource = ContentUnitUserMetadataResourceView() response = metadata_resource.get(request, 'mock_type', 'mock_unit') mock_serial.content_unit_obj.assert_called_once_with('mock_metadata') expected_content = 'mock_serial_metadata' mock_resp.assert_called_once_with(expected_content) self.assertTrue(response is mock_resp.return_value)
OrphanResourceView.as_view(), name='content_orphan_resource'), url(r'^v2/content/types/$', ContentTypesView.as_view(), name='content_types'), url(r'^v2/content/types/(?P<type_id>[^/]+)/$', ContentTypeResourceView.as_view(), name='content_type_resource'), url(r'^v2/content/units/(?P<type_id>[^/]+)/$', ContentUnitsCollectionView.as_view(), name='content_units_collection'), url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/$', ContentUnitResourceView.as_view(), name='content_unit_resource'), url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/pulp_user_metadata/$', ContentUnitUserMetadataResourceView.as_view(), name='content_unit_user_metadata_resource'), url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/$', UploadResourceView.as_view(), name='content_upload_resource'), url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/(?P<offset>[^/]+)/$', UploadSegmentResourceView.as_view(), name='content_upload_segment_resource'), url(r'^v2/plugins/distributors/$', DistributorsView.as_view(), name='plugin_distributors'), url(r'^v2/plugins/distributors/(?P<distributor_id>[^/]+)/$', DistributorResourceView.as_view(), name='plugin_distributor_resource'), url(r'^v2/plugins/importers/$', ImportersView.as_view(),
url(r'^v2/content/sources/action/(?P<action>[^/]+)/$', ContentSourceView.as_view(), name='content_sources_action'), url(r'^v2/content/sources/(?P<source_id>[^/]+)/action/(?P<action>[^/]+)/$', ContentSourceResourceView.as_view(), name='content_sources_resource_action'), url(r'^v2/content/sources/(?P<source_id>[^/]+)/$', ContentSourceResourceView.as_view(), name='content_sources_resource'), url(r'^v2/content/types/$', ContentTypesView.as_view(), name='content_types'), url(r'^v2/content/types/(?P<type_id>[^/]+)/$', ContentTypeResourceView.as_view(), name='content_type_resource'), url(r'^v2/content/units/(?P<type_id>[^/]+)/$', ContentUnitsCollectionView.as_view(), name='content_units_collection'), url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/$', ContentUnitResourceView.as_view(), name='content_unit_resource'), url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/pulp_user_metadata/$', ContentUnitUserMetadataResourceView.as_view(), name='content_unit_user_metadata_resource'), url(r'^v2/content/uploads/$', UploadsCollectionView.as_view(), name='content_uploads'), url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/$', UploadResourceView.as_view(), name='content_upload_resource'), url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/(?P<offset>[^/]+)/$', UploadSegmentResourceView.as_view(), name='content_upload_segment_resource'), url(r'^v2/events/$', EventView.as_view(), name='events'), url(r'^v2/events/(?P<event_listener_id>[^/]+)/$', EventResourceView.as_view(), name='event_resource'), url(r'^v2/permissions/$', PermissionView.as_view(), name='permissions'), url(r'^v2/permissions/actions/grant_to_role/$', GrantToRoleView.as_view(), name='grant_to_role'), url(r'^v2/permissions/actions/grant_to_user/$', GrantToUserView.as_view(), name='grant_to_user'), url(r'^v2/permissions/actions/revoke_from_role/$', RevokeFromRoleView.as_view(), name='revoke_from_role'), url(r'^v2/permissions/actions/revoke_from_user/$', RevokeFromUserView.as_view(), name='revoke_from_user'), url(r'^v2/plugins/distributors/$', DistributorsView.as_view(), name='plugin_distributors'), url(r'^v2/plugins/distributors/(?P<distributor_id>[^/]+)/$', DistributorResourceView.as_view(), name='plugin_distributor_resource'),
name='content_sources'), url(r'^v2/content/sources/action/(?P<action>[^/]+)/$', ContentSourceCollectionActionView.as_view(), name='content_sources_action'), url(r'^v2/content/sources/(?P<source_id>[^/]+)/action/(?P<action>[^/]+)/$', ContentSourceResourceActionView.as_view(), name='content_sources_resource_action'), url(r'^v2/content/sources/(?P<source_id>[^/]+)/$', ContentSourceResourceView.as_view(), name='content_sources_resource'), url(r'^v2/content/units/(?P<type_id>[^/]+)/$', ContentUnitsCollectionView.as_view(), name='content_units_collection'), url(r'^v2/content/units/(?P<type_id>[^/]+)/search/$', ContentUnitSearch.as_view(), name='content_unit_search'), url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/$', ContentUnitResourceView.as_view(), name='content_unit_resource'), url(r'^v2/content/units/(?P<type_id>[^/]+)/(?P<unit_id>[^/]+)/pulp_user_metadata/$', ContentUnitUserMetadataResourceView.as_view(), name='content_unit_user_metadata_resource'), url(r'^v2/content/uploads/$', UploadsCollectionView.as_view(), name='content_uploads'), url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/$', UploadResourceView.as_view(), name='content_upload_resource'), url(r'^v2/content/uploads/(?P<upload_id>[^/]+)/(?P<offset>[^/]+)/$', UploadSegmentResourceView.as_view(), name='content_upload_segment_resource'), url(r'^v2/distributors/search/$', RepoDistributorsSearchView.as_view(), name='distributor_search'), url(r'^v2/events/$', EventView.as_view(), name='events'), url(r'^v2/events/(?P<event_listener_id>[^/]+)/$', EventResourceView.as_view(), name='event_resource'), url(r'^v2/permissions/$', PermissionView.as_view(), name='permissions'), url(r'^v2/permissions/actions/grant_to_role/$', GrantToRoleView.as_view(), name='grant_to_role'), url(r'^v2/permissions/actions/grant_to_user/$', GrantToUserView.as_view(), name='grant_to_user'), url(r'^v2/permissions/actions/revoke_from_role/$', RevokeFromRoleView.as_view(), name='revoke_from_role'), url(r'^v2/permissions/actions/revoke_from_user/$', RevokeFromUserView.as_view(), name='revoke_from_user'), url(r'^v2/plugins/distributors/$', DistributorsView.as_view(), name='plugin_distributors'),