def test_quota_sets_patch_when_service_is_disabled(self, qc, bc, nc): quota_data = dict(cores='15', instances='5', ram='50000', metadata_items='150', injected_files='5', injected_file_content_bytes='10240', floating_ips='50', fixed_ips='5', security_groups='10', security_group_rules='100') request = self.mock_rest_request(body=''' {"cores": "15", "ram": "50000", "instances": "5", "metadata_items": "150", "injected_files": "5", "injected_file_content_bytes": "10240", "floating_ips": "50", "fixed_ips": "5", "security_groups": "10" , "security_group_rules": "100", "volumes": "10"} ''') qc.get_disabled_quotas.return_value = {} qc.NOVA_QUOTA_FIELDS = {n for n in quota_data} bc.is_service_enabled.return_value = False response = nova.QuotaSets().patch(request, 'spam123') self.assertStatusCode(response, 501) self.assertEqual(response.content.decode('utf-8'), '"Service Nova is disabled."') nc.tenant_quota_update.assert_not_called()
def test_quota_sets_patch(self): quota_data = dict(cores='15', instances='5', ram='50000', metadata_items='150', injected_files='5', injected_file_content_bytes='10240', floating_ips='50', fixed_ips='5', security_groups='10', security_group_rules='100') request = self.mock_rest_request(body=''' {"cores": "15", "ram": "50000", "instances": "5", "metadata_items": "150", "injected_files": "5", "injected_file_content_bytes": "10240", "floating_ips": "50", "fixed_ips": "5", "security_groups": "10" , "security_group_rules": "100", "volumes": "10"} ''') self.mock_get_disabled_quotas.return_value = set() self.mock_is_service_enabled.return_value = True self.mock_tenant_quota_update.return_value = None with mock.patch.object(quotas, 'NOVA_QUOTA_FIELDS', {n for n in quota_data}): response = nova.QuotaSets().patch(request, 'spam123') self.assertStatusCode(response, 204) self.assertEqual(response.content.decode('utf-8'), '') self.mock_is_service_enabled.assert_called_once_with( request, 'compute') self.mock_get_disabled_quotas.assert_called_once_with(request) self.mock_tenant_quota_update.assert_called_once_with( request, 'spam123', **quota_data)