def test_file_for_platform(self): """If client passes a platform, make sure we get the right file.""" version = Version.objects.get(pk=self.version_1_2_2) file_one = version.files.all()[0] file_one.platform = amo.PLATFORM_LINUX.id file_one.save() file_two = File( version=version, filename='foo', hash='bar', platform=amo.PLATFORM_WIN.id, status=amo.STATUS_APPROVED, ) file_two.save() version, file = self.get_update_instance( '1.2', self.version_int, self.app, amo.PLATFORM_LINUX ) assert version == self.version_1_2_2 assert file == file_one.pk version, file = self.get_update_instance( '1.2', self.version_int, self.app, amo.PLATFORM_WIN ) assert version == self.version_1_2_2 assert file == file_two.pk
def _extra_version_and_file(self, status): version = Version.objects.get(id=81551) version_two = Version(addon=self.addon, license=version.license, version='1.2.3') version_two.save() file_two = File(status=status, version=version_two) file_two.save() return version_two, file_two
def test_version_is_not_allowed_upload_full(self): version = Version.objects.get(pk=81551) version.files.all().delete() for platform in [ amo.PLATFORM_LINUX.id, amo.PLATFORM_WIN.id, amo.PLATFORM_MAC.id ]: file = File(platform=platform, version=version) file.save() # The transform don't know bout my new files. version = Version.objects.get(pk=81551) assert not version.is_allowed_upload()
def test_version_is_not_allowed_upload_full(self): version = Version.objects.get(pk=81551) version.files.all().delete() for platform in [amo.PLATFORM_LINUX.id, amo.PLATFORM_WIN.id, amo.PLATFORM_MAC.id]: file = File(platform=platform, version=version) file.save() # The transform don't know bout my new files. version = Version.objects.get(pk=81551) assert not version.is_allowed_upload()
def create_file(self, **kwargs): addon = Addon() addon.save() ver = Version(version='0.1') ver.addon = addon ver.save() f = File(**kwargs) f.version = ver f.save() return f
def test_version_is_not_allowed_upload_after_review(self): version = Version.objects.get(pk=81551) version.files.all().delete() for platform in [ amo.PLATFORM_LINUX.id, amo.PLATFORM_WIN.id, amo.PLATFORM_BSD.id ]: file = File(platform=platform, version=version) file.save() version = Version.objects.get(pk=81551) assert version.is_allowed_upload() version.files.all()[0].update(status=amo.STATUS_PUBLIC) # The review has started so no more uploads now. version = Version.objects.get(pk=81551) assert not version.is_allowed_upload()
def test_version_is_not_allowed_upload_after_review(self): version = Version.objects.get(pk=81551) version.files.all().delete() for platform in [amo.PLATFORM_LINUX.id, amo.PLATFORM_WIN.id, amo.PLATFORM_BSD.id]: file = File(platform=platform, version=version) file.save() version = Version.objects.get(pk=81551) assert version.is_allowed_upload() version.files.all()[0].update(status=amo.STATUS_PUBLIC) # The review has started so no more uploads now. version = Version.objects.get(pk=81551) assert not version.is_allowed_upload()
def _save_file(self, version): data = self.cleaned_data xpi = data['xpi'] hash = hashlib.sha256() f = File(version=version, platform=amo.PLATFORM_DICT[data['platform']].id, size=xpi.size) filename = f.generate_filename() path = os.path.join(user_media_path('addons'), str(version.addon.id)) with storage.open(os.path.join(path, filename), 'wb') as destination: for chunk in xpi.chunks(): hash.update(chunk) destination.write(chunk) f.hash = 'sha256:%s' % hash.hexdigest() f.save() return f
def test_file_for_platform(self): """If client passes a platform, make sure we get the right file.""" version = Version.objects.get(pk=self.version_1_2_2) file_one = version.files.all()[0] file_one.platform = amo.PLATFORM_LINUX.id file_one.save() file_two = File(version=version, filename='foo', hash='bar', platform=amo.PLATFORM_WIN.id, status=amo.STATUS_PUBLIC) file_two.save() version, file = self.get_update_instance( '1.2', self.version_int, self.app, amo.PLATFORM_LINUX) assert version == self.version_1_2_2 assert file == file_one.pk version, file = self.get_update_instance( '1.2', self.version_int, self.app, amo.PLATFORM_WIN) assert version == self.version_1_2_2 assert file == file_two.pk
def test_file_for_platform(self): """If client passes a platform, make sure we get the right file.""" version = Version.objects.get(pk=self.version_1_2_2) file_one = version.files.all()[0] file_one.platform = amo.PLATFORM_LINUX.id file_one.save() file_two = File(version=version, filename='foo', hash='bar', platform=amo.PLATFORM_WIN.id, status=amo.STATUS_PUBLIC) file_two.save() version, file = self.get('1.2', self.version_int, self.app, amo.PLATFORM_LINUX) eq_(version, self.version_1_2_2) eq_(file, file_one.pk) version, file = self.get('1.2', self.version_int, self.app, amo.PLATFORM_WIN) eq_(version, self.version_1_2_2) eq_(file, file_two.pk)