def test_no_files(self, extract_mock): addon = addon_factory() addon.current_version.files.all().delete() migrate_webextensions_to_git_storage([addon.pk]) extract_mock.assert_not_called()
def test_no_files(self, extract_mock): addon = addon_factory() addon.current_version.files.all().delete() migrate_webextensions_to_git_storage([addon.pk]) extract_mock.assert_not_called()
def test_migrate_versions_from_old_to_new(self, extract_mock): addon = addon_factory(file_kw={ 'filename': 'webextension_no_id.xpi', 'is_webextension': True }) oldest_version = addon.current_version oldest_version.update(created=self.days_ago(6)) older_version = version_factory(created=self.days_ago(5), addon=addon, file_kw={ 'filename': 'webextension_no_id.xpi', 'is_webextension': True }) most_recent = version_factory(created=self.days_ago(2), addon=addon, file_kw={ 'filename': 'webextension_no_id.xpi', 'is_webextension': True }) migrate_webextensions_to_git_storage([addon.pk]) # Only once instead of twice assert extract_mock.call_count == 3 assert extract_mock.call_args_list[0][0][0] == oldest_version.pk assert extract_mock.call_args_list[1][0][0] == older_version.pk assert extract_mock.call_args_list[2][0][0] == most_recent.pk
def test_basic(self): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) migrate_webextensions_to_git_storage([addon.pk]) repo = AddonGitRepository(addon.pk) assert repo.git_repository_path == os.path.join( settings.GIT_FILE_STORAGE_PATH, id_to_path(addon.id), 'package') assert os.listdir(repo.git_repository_path) == ['.git']
def test_basic(self): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) migrate_webextensions_to_git_storage([addon.pk]) repo = AddonGitRepository(addon.pk) assert repo.git_repository_path == os.path.join( settings.GIT_FILE_STORAGE_PATH, id_to_path(addon.id), 'addon') assert os.listdir(repo.git_repository_path) == ['.git']
def test_skip_already_migrated_versions(self, extract_mock): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) version_to_migrate = addon.current_version already_migrated_version = version_factory( addon=addon, file_kw={'filename': 'webextension_no_id.xpi'}) already_migrated_version.update(git_hash='already migrated...') migrate_webextensions_to_git_storage([addon.pk]) # Only once instead of twice extract_mock.assert_called_once_with(version_to_migrate.pk)
def test_only_first_file(self, extract_mock): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) version = addon.current_version first_file = version.all_files[0] file_factory(version=version) file_factory(version=version) migrate_webextensions_to_git_storage([addon.pk]) extract_mock.assert_called_once_with(first_file.pk, amo.RELEASE_CHANNEL_LISTED)
def test_skip_already_migrated_versions(self, extract_mock): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) version_to_migrate = addon.current_version already_migrated_version = version_factory( addon=addon, file_kw={'filename': 'webextension_no_id.xpi'}) already_migrated_version.update(git_hash='already migrated...') migrate_webextensions_to_git_storage([addon.pk]) # Only once instead of twice extract_mock.assert_called_once_with(version_to_migrate.pk)
def test_only_first_file(self, extract_mock): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) version = addon.current_version first_file = version.all_files[0] file_factory(version=version) file_factory(version=version) migrate_webextensions_to_git_storage([addon.pk]) extract_mock.assert_called_once_with( first_file.pk, amo.RELEASE_CHANNEL_LISTED)
def test_migrate_versions_extracts_source( self, extract_source_mock, extract_mock): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) version_to_migrate = addon.current_version version_to_migrate.update( source=source_upload_path(version_to_migrate, 'foo.tar.gz')) version_without_source = version_factory( addon=addon, file_kw={'filename': 'webextension_no_id.xpi'}) migrate_webextensions_to_git_storage([addon.pk]) extract_source_mock.assert_called_once_with(version_to_migrate.pk) extract_mock.assert_has_calls([ mock.call(version_to_migrate.pk), mock.call(version_without_source.pk) ])
def test_migrate_versions_extracts_source( self, extract_source_mock, extract_mock): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) version_to_migrate = addon.current_version version_to_migrate.update( source=source_upload_path(version_to_migrate, 'foo.tar.gz')) version_without_source = version_factory( addon=addon, file_kw={'filename': 'webextension_no_id.xpi'}) migrate_webextensions_to_git_storage([addon.pk]) extract_source_mock.assert_called_once_with(version_to_migrate.pk) extract_mock.assert_has_calls([ mock.call(version_to_migrate.pk), mock.call(version_without_source.pk) ])
def test_migrate_versions_from_old_to_new(self, extract_mock): addon = addon_factory(file_kw={'filename': 'webextension_no_id.xpi'}) oldest_version = addon.current_version oldest_version.update(created=self.days_ago(6)) older_version = version_factory( created=self.days_ago(5), addon=addon, file_kw={'filename': 'webextension_no_id.xpi'}) most_recent = version_factory( created=self.days_ago(2), addon=addon, file_kw={'filename': 'webextension_no_id.xpi'}) migrate_webextensions_to_git_storage([addon.pk]) # Only once instead of twice assert extract_mock.call_count == 3 assert extract_mock.call_args_list[0][0][0] == oldest_version.pk assert extract_mock.call_args_list[1][0][0] == older_version.pk assert extract_mock.call_args_list[2][0][0] == most_recent.pk