diff --git a/PKG-INFO b/PKG-INFO index 662b22f59d16d87272eeaaa706792ab93347f9f8..628a4159867e78e0582770d0a54825a0e9d11118 100644 --- a/PKG-INFO +++ b/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: swh.deposit -Version: 0.0.37 +Version: 0.0.38 Summary: Software Heritage Deposit Server Home-page: https://forge.softwareheritage.org/source/swh-deposit/ Author: Software Heritage developers diff --git a/swh.deposit.egg-info/PKG-INFO b/swh.deposit.egg-info/PKG-INFO index 662b22f59d16d87272eeaaa706792ab93347f9f8..628a4159867e78e0582770d0a54825a0e9d11118 100644 --- a/swh.deposit.egg-info/PKG-INFO +++ b/swh.deposit.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: swh.deposit -Version: 0.0.37 +Version: 0.0.38 Summary: Software Heritage Deposit Server Home-page: https://forge.softwareheritage.org/source/swh-deposit/ Author: Software Heritage developers diff --git a/swh/deposit/api/deposit_status.py b/swh/deposit/api/deposit_status.py index 4c49b72b825f8d4ecee08da4131d5fbbfc2152a0..dbd1a36dfa5d46b66de642651a901d1b9dcb5a6e 100644 --- a/swh/deposit/api/deposit_status.py +++ b/swh/deposit/api/deposit_status.py @@ -41,6 +41,9 @@ class SWHDepositStatus(SWHBaseDeposit): 'status_detail': DEPOSIT_STATUS_DETAIL[deposit.status], } + if deposit.swh_id: + context['swh_id'] = deposit.swh_id + return render(req, 'deposit/status.xml', context=context, content_type='application/xml', diff --git a/swh/deposit/templates/deposit/status.xml b/swh/deposit/templates/deposit/status.xml index df64d71df365966ed0315f91fe7ae0bf7fed44a6..25b1a6f5dbef2380aa96a78a37b717b8a67bac9f 100644 --- a/swh/deposit/templates/deposit/status.xml +++ b/swh/deposit/templates/deposit/status.xml @@ -4,4 +4,5 @@ <deposit_id>{{ deposit_id }}</deposit_id> <deposit_status>{{ status }}</deposit_status> <deposit_status_detail>{{ status_detail }}</deposit_status_detail> + {% if swh_id is not None %}<deposit_swh_id>{{ swh_id }}</deposit_swh_id>{% endif %} </entry> diff --git a/swh/deposit/tests/api/test_deposit_status.py b/swh/deposit/tests/api/test_deposit_status.py index c39d6e57e411ff503455e9cd7ce644cb2f0dcb18..54e3c977e49433820cf77e3aa63407c12302b66e 100644 --- a/swh/deposit/tests/api/test_deposit_status.py +++ b/swh/deposit/tests/api/test_deposit_status.py @@ -10,7 +10,8 @@ from nose.tools import istest from rest_framework import status from rest_framework.test import APITestCase -from swh.deposit.models import Deposit +from swh.deposit.models import Deposit, DEPOSIT_STATUS_DETAIL +from swh.deposit.models import DEPOSIT_STATUS_LOAD_SUCCESS from swh.deposit.parsers import parse_xml from ..common import BasicTestCase, WithAuthTestCase, FileSystemCreationRoutine @@ -66,7 +67,35 @@ class DepositStatusTestCase(APITestCase, WithAuthTestCase, BasicTestCase, DEPOSIT_STATUS_READY_FOR_CHECKS) self.assertEqual( r['{http://www.w3.org/2005/Atom}deposit_status_detail'], - 'Deposit is ready for additional checks (tarball ok, etc...)') + DEPOSIT_STATUS_DETAIL[DEPOSIT_STATUS_READY_FOR_CHECKS]) + + @istest + def status_with_swh_id(self): + _status = DEPOSIT_STATUS_LOAD_SUCCESS + _swh_id = '548b3c0a2bb43e1fca191e24b5803ff6b3bc7c10' + + # given + deposit_id = self.create_deposit_with_status( + status=_status, + swh_id=_swh_id) + + url = reverse(STATE_IRI, args=[self.collection.name, deposit_id]) + + # when + status_response = self.client.get(url) + + # then + self.assertEqual(status_response.status_code, status.HTTP_200_OK) + r = parse_xml(BytesIO(status_response.content)) + self.assertEqual(r['{http://www.w3.org/2005/Atom}deposit_id'], + deposit_id) + self.assertEqual(r['{http://www.w3.org/2005/Atom}deposit_status'], + _status) + self.assertEqual( + r['{http://www.w3.org/2005/Atom}deposit_status_detail'], + DEPOSIT_STATUS_DETAIL[DEPOSIT_STATUS_LOAD_SUCCESS]) + self.assertEqual(r['{http://www.w3.org/2005/Atom}deposit_swh_id'], + _swh_id) @istest def status_on_unknown_deposit(self): diff --git a/version.txt b/version.txt index 8041a606ed84d9da5171d84b3c314ef996e1453d..2cbb505c79a656d6ad01c9c7f6f02ba9334680de 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -v0.0.37-0-g7ecef54 \ No newline at end of file +v0.0.38-0-geff3391 \ No newline at end of file