Пример #1
0
def test_draft_version_metadata_computed(draft_version: Version):
    original_metadata = {'schemaVersion': settings.DANDI_SCHEMA_VERSION}
    draft_version.metadata = original_metadata

    # Save the version to add computed properties to the metadata
    draft_version.save()

    expected_metadata = {
        **original_metadata,
        'manifestLocation': [
            f'{settings.DANDI_API_URL}/api/dandisets/{draft_version.dandiset.identifier}/versions/draft/assets/'  # noqa: E501
        ],
        'name': draft_version.name,
        'identifier': f'DANDI:{draft_version.dandiset.identifier}',
        'version': draft_version.version,
        'id': f'DANDI:{draft_version.dandiset.identifier}/{draft_version.version}',
        'url': (
            f'{settings.DANDI_WEB_APP_URL}/dandiset/'
            f'{draft_version.dandiset.identifier}/{draft_version.version}'
        ),
        'repository': settings.DANDI_WEB_APP_URL,
        'dateCreated': draft_version.dandiset.created.isoformat(),
        '@context': f'https://raw.githubusercontent.com/dandi/schema/master/releases/{settings.DANDI_SCHEMA_VERSION}/context.json',  # noqa: E501
        'assetsSummary': {
            'numberOfBytes': 0,
            'numberOfFiles': 0,
            'schemaKey': 'AssetsSummary',
        },
    }
    expected_metadata['citation'] = draft_version.citation(expected_metadata)

    assert draft_version.metadata == expected_metadata
Пример #2
0
def test_published_version_metadata_computed(published_version: Version):
    original_metadata = {'schemaVersion': settings.DANDI_SCHEMA_VERSION}
    published_version.metadata = original_metadata

    # Save the version to add computed properties to the metadata
    published_version.save()

    expected_metadata = {
        **original_metadata,
        'manifestLocation': [
            (
                f'http://{settings.MINIO_STORAGE_ENDPOINT}/test-dandiapi-dandisets'
                f'/test-prefix/dandisets/{published_version.dandiset.identifier}'
                f'/{published_version.version}/assets.yaml'
            )
        ],
        'name': published_version.name,
        'identifier': f'DANDI:{published_version.dandiset.identifier}',
        'version': published_version.version,
        'id': f'DANDI:{published_version.dandiset.identifier}/{published_version.version}',
        'doi': f'10.80507/dandi.{published_version.dandiset.identifier}/{published_version.version}',  # noqa: E501
        'url': (
            f'{settings.DANDI_WEB_APP_URL}/dandiset/'
            f'{published_version.dandiset.identifier}/{published_version.version}'
        ),
        'repository': settings.DANDI_WEB_APP_URL,
        'dateCreated': published_version.dandiset.created.isoformat(),
        '@context': f'https://raw.githubusercontent.com/dandi/schema/master/releases/{settings.DANDI_SCHEMA_VERSION}/context.json',  # noqa: E501
        'assetsSummary': {
            'numberOfBytes': 0,
            'numberOfFiles': 0,
            'schemaKey': 'AssetsSummary',
        },
    }
    expected_metadata['citation'] = published_version.citation(expected_metadata)

    assert published_version.metadata == expected_metadata