Changeset View
Changeset View
Standalone View
Standalone View
swh/deposit/tests/common.py
Show All 17 Lines | |||||
from swh.deposit.config import (COL_IRI, EM_IRI, EDIT_SE_IRI, | from swh.deposit.config import (COL_IRI, EM_IRI, EDIT_SE_IRI, | ||||
DEPOSIT_STATUS_PARTIAL, | DEPOSIT_STATUS_PARTIAL, | ||||
DEPOSIT_STATUS_VERIFIED, | DEPOSIT_STATUS_VERIFIED, | ||||
DEPOSIT_STATUS_REJECTED, | DEPOSIT_STATUS_REJECTED, | ||||
DEPOSIT_STATUS_DEPOSITED) | DEPOSIT_STATUS_DEPOSITED) | ||||
from swh.deposit.models import DepositClient, DepositCollection, Deposit | from swh.deposit.models import DepositClient, DepositCollection, Deposit | ||||
from swh.deposit.models import DepositRequest | from swh.deposit.models import DepositRequest | ||||
from swh.deposit.models import DepositRequestType | |||||
from swh.deposit.parsers import parse_xml | from swh.deposit.parsers import parse_xml | ||||
from swh.deposit.settings.testing import MEDIA_ROOT | from swh.deposit.settings.testing import MEDIA_ROOT | ||||
from swh.core import tarball | from swh.core import tarball | ||||
def compute_info(archive_path): | def compute_info(archive_path): | ||||
"""Given a path, compute information on path. | """Given a path, compute information on path. | ||||
▲ Show 20 Lines • Show All 236 Lines • ▼ Show 20 Lines | class BasicTestCase(TestCase): | ||||
""" | """ | ||||
def setUp(self): | def setUp(self): | ||||
"""Define the test client and other test variables.""" | """Define the test client and other test variables.""" | ||||
super().setUp() | super().setUp() | ||||
# expanding diffs in tests | # expanding diffs in tests | ||||
self.maxDiff = None | self.maxDiff = None | ||||
# basic minimum test data | # basic minimum test data | ||||
deposit_request_types = {} | |||||
# Add deposit request types | |||||
for deposit_request_type in ['archive', 'metadata']: | |||||
drt = DepositRequestType(name=deposit_request_type) | |||||
drt.save() | |||||
deposit_request_types[deposit_request_type] = drt | |||||
_name = 'hal' | _name = 'hal' | ||||
_provider_url = 'https://hal-test.archives-ouvertes.fr/' | _provider_url = 'https://hal-test.archives-ouvertes.fr/' | ||||
_domain = 'archives-ouvertes.fr/' | _domain = 'archives-ouvertes.fr/' | ||||
# set collection up | # set collection up | ||||
_collection = DepositCollection(name=_name) | _collection = DepositCollection(name=_name) | ||||
_collection.save() | _collection.save() | ||||
# set user/client up | # set user/client up | ||||
_client = DepositClient.objects.create_user(username=_name, | _client = DepositClient.objects.create_user(username=_name, | ||||
password=_name, | password=_name, | ||||
provider_url=_provider_url, | provider_url=_provider_url, | ||||
domain=_domain) | domain=_domain) | ||||
_client.collections = [_collection.id] | _client.collections = [_collection.id] | ||||
_client.last_name = _name | _client.last_name = _name | ||||
_client.save() | _client.save() | ||||
self.collection = _collection | self.collection = _collection | ||||
self.user = _client | self.user = _client | ||||
self.username = _name | self.username = _name | ||||
self.userpass = _name | self.userpass = _name | ||||
self.deposit_request_types = deposit_request_types | |||||
def tearDown(self): | def tearDown(self): | ||||
super().tearDown() | super().tearDown() | ||||
# Clean up uploaded files in temporary directory (tests have | # Clean up uploaded files in temporary directory (tests have | ||||
# their own media root folder) | # their own media root folder) | ||||
if os.path.exists(MEDIA_ROOT): | if os.path.exists(MEDIA_ROOT): | ||||
for d in os.listdir(MEDIA_ROOT): | for d in os.listdir(MEDIA_ROOT): | ||||
shutil.rmtree(os.path.join(MEDIA_ROOT, d)) | shutil.rmtree(os.path.join(MEDIA_ROOT, d)) | ||||
▲ Show 20 Lines • Show All 247 Lines • ▼ Show 20 Lines | def add_metadata_to_deposit(self, deposit_id, status_partial=False): | ||||
# then | # then | ||||
deposit = Deposit.objects.get(pk=deposit_id) | deposit = Deposit.objects.get(pk=deposit_id) | ||||
assert deposit is not None | assert deposit is not None | ||||
deposit_requests = DepositRequest.objects.filter(deposit=deposit) | deposit_requests = DepositRequest.objects.filter(deposit=deposit) | ||||
assert deposit_requests is not [] | assert deposit_requests is not [] | ||||
for dr in deposit_requests: | for dr in deposit_requests: | ||||
if dr.type.name == 'metadata': | if dr.type == 'metadata': | ||||
assert deposit_requests[0].metadata is not {} | assert deposit_requests[0].metadata is not {} | ||||
return deposit_id | return deposit_id |