Changeset View
Changeset View
Standalone View
Standalone View
swh/loader/npm/tests/common.py
# Copyright (C) 2019 The Software Heritage developers | # Copyright (C) 2019 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import json | import json | ||||
import os | import os | ||||
import os.path | import os.path | ||||
RESOURCES_PATH = os.path.join(os.path.dirname(__file__), 'resources') | RESOURCES_PATH = os.path.join(os.path.dirname(__file__), 'resources') | ||||
empty_package = '22u-validators' | |||||
empty_package_url = 'https://www.npmjs.com/package/%s' % empty_package | |||||
empty_package_metadata_url = 'https://replicate.npmjs.com/%s/' % empty_package | |||||
package = 'org' | package = 'org' | ||||
package_url = 'https://www.npmjs.com/package/%s' % package | package_url = 'https://www.npmjs.com/package/%s' % package | ||||
package_metadata_url = 'https://replicate.npmjs.com/%s/' % package | package_metadata_url = 'https://replicate.npmjs.com/%s/' % package | ||||
EMPTY_PACKAGE_METADATA_JSON_FILENAME = '22u-validators.json' | |||||
FIRST_VISIT_PACKAGE_METADATA_JSON_FILENAME = 'org_metadata_visit1.json' | FIRST_VISIT_PACKAGE_METADATA_JSON_FILENAME = 'org_metadata_visit1.json' | ||||
SECOND_VISIT_PACKAGE_METADATA_JSON_FILENAME = 'org_metadata_visit2.json' | SECOND_VISIT_PACKAGE_METADATA_JSON_FILENAME = 'org_metadata_visit2.json' | ||||
class _MockedFileStream(): | class _MockedFileStream(): | ||||
def __init__(self, file_data): | def __init__(self, file_data): | ||||
self.file_data = file_data | self.file_data = file_data | ||||
self.closed = False | self.closed = False | ||||
def read(self): | def read(self): | ||||
self.closed = True | self.closed = True | ||||
return self.file_data | return self.file_data | ||||
def init_test_data(m, package_metadata_json_file): | def init_test_data(m, package_metadata_json_file, package_metadata_url): | ||||
org_metadata_filepath = os.path.join(RESOURCES_PATH, | package_metadata_filepath = os.path.join(RESOURCES_PATH, | ||||
package_metadata_json_file) | package_metadata_json_file) | ||||
with open(org_metadata_filepath) as json_file: | with open(package_metadata_filepath) as json_file: | ||||
package_metadata = json.load(json_file) | package_metadata = json.load(json_file) | ||||
m.register_uri('GET', package_metadata_url, json=package_metadata) | m.register_uri('GET', package_metadata_url, json=package_metadata) | ||||
for v, v_data in package_metadata['versions'].items(): | for v, v_data in package_metadata['versions'].items(): | ||||
tarball_url = v_data['dist']['tarball'] | tarball_url = v_data['dist']['tarball'] | ||||
tarball_filename = tarball_url.split('/')[-1] | tarball_filename = tarball_url.split('/')[-1] | ||||
tarball_filepath = os.path.join(RESOURCES_PATH, 'tarballs', | tarball_filepath = os.path.join(RESOURCES_PATH, 'tarballs', | ||||
Show All 22 Lines |