Esempio n. 1
0
    def test_instanciate_without_data(self):
        """Without data, we load the data from the file path."""
        data = {'id': 'some-id'}
        fake_zip = utils.make_xpi({'manifest.json': json.dumps(data)})

        extractor = utils.ManifestJSONExtractor(zipfile.ZipFile(fake_zip))
        assert extractor.data == data
    def test_no_manifest(self):
        fake_zip = utils.make_xpi({'dummy': 'dummy'})

        with self.assertRaises(forms.ValidationError) as exc:
            utils.Extractor.parse(fake_zip)
        assert exc.exception.message == (
            'No install.rdf or manifest.json found')
Esempio n. 3
0
def make_langpack(version):
    versions = (version, '%s.*' % version)

    for version in versions:
        AppVersion.objects.get_or_create(application=amo.FIREFOX.id,
                                         version=version,
                                         version_int=version_int(version))

    return make_xpi({
        'install.rdf': """<?xml version="1.0"?>

            <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
                 xmlns:em="http://www.mozilla.org/2004/em-rdf#">
              <Description about="urn:mozilla:install-manifest"
                           em:id="*****@*****.**"
                           em:name="Foo Language Pack"
                           em:version="{0}"
                           em:type="8"
                           em:creator="mozilla.org">

                <em:targetApplication>
                  <Description>
                    <em:id>{{ec8030f7-c20a-464f-9b0e-13a3a9e97384}}</em:id>
                    <em:minVersion>{0}</em:minVersion>
                    <em:maxVersion>{1}</em:maxVersion>
                  </Description>
                </em:targetApplication>
              </Description>
            </RDF>
        """.format(*versions)
    }).read()
Esempio n. 4
0
 def test_ignore_package_json(self, rdf_extractor, manifest_json_extractor):
     # Previously we preferred `package.json` to `install.rdf` which
     # we don't anymore since
     # https://github.com/mozilla/addons-server/issues/2460
     fake_zip = utils.make_xpi({'install.rdf': '', 'package.json': ''})
     utils.Extractor.parse(fake_zip)
     assert rdf_extractor.called
     assert not manifest_json_extractor.called
Esempio n. 5
0
 def test_parse_manifest_json(self, rdf_extractor, manifest_json_extractor):
     fake_zip = utils.make_xpi({'manifest.json': ''})
     utils.Extractor.parse(fake_zip)
     assert not rdf_extractor.called
     assert manifest_json_extractor.called
Esempio n. 6
0
 def test_parse_install_rdf(self, rdf_extractor, manifest_json_extractor):
     fake_zip = utils.make_xpi({'install.rdf': ''})
     utils.Extractor.parse(fake_zip)
     assert rdf_extractor.called
     assert not manifest_json_extractor.called
Esempio n. 7
0
 def test_parse_manifest_json(self, rdf_extractor, manifest_json_extractor):
     fake_zip = utils.make_xpi({'manifest.json': ''})
     utils.Extractor.parse(fake_zip)
     assert not rdf_extractor.called
     assert manifest_json_extractor.called
Esempio n. 8
0
 def test_parse_install_rdf(self, rdf_extractor, manifest_json_extractor):
     fake_zip = utils.make_xpi({'install.rdf': ''})
     utils.Extractor.parse(fake_zip)
     assert rdf_extractor.called
     assert not manifest_json_extractor.called