Example #1
0
 def test_invalid_info(self):
     build = BuildFactory.build()
     info = io.BytesIO('\n'.join(['%s=%s' % (k, v) for k, v in create_info(build).items()]).encode('utf-8'))
     with create_spk(build, info=info) as f:
         with self.assertRaises(SPKParseError) as cm:
             SPK(f)
     self.assertEqual('Invalid INFO', str(cm.exception))
Example #2
0
 def test_empty_conf_folder(self):
     build = BuildFactory.build(version__conf_dependencies=None, version__conf_conflicts=None)
     info = create_info(build)
     info['support_conf_folder'] = 'yes'
     with create_spk(build, info=info, with_conf=True) as f:
         with self.assertRaises(SPKParseError) as cm:
             SPK(f)
     self.assertEqual('Empty conf folder', str(cm.exception))
Example #3
0
 def test_checksum_mismatch(self):
     build = BuildFactory.build()
     info = create_info(build)
     info['checksum'] = 'checksum'
     with create_spk(build, info=info) as f:
         with self.assertRaises(SPKParseError) as cm:
             SPK(f)
     self.assertEqual('Checksum mismatch', str(cm.exception))
Example #4
0
 def test_missing_info_package(self):
     build = BuildFactory.build()
     info = create_info(build)
     del info['package']
     with create_spk(build, info=info) as f:
         with self.assertRaises(SPKParseError) as cm:
             SPK(f)
     self.assertEqual('Missing INFO: package', str(cm.exception))
Example #5
0
 def test_invalid_info_boolean_startable(self):
     build = BuildFactory.build()
     info = create_info(build)
     info['startable'] = 'Something'
     with create_spk(build, info=info) as f:
         with self.assertRaises(SPKParseError) as cm:
             SPK(f)
     self.assertEqual('Invalid INFO boolean: startable', str(cm.exception))
Example #6
0
 def test_invalid_info_icon(self):
     build = BuildFactory.build()
     info = create_info(build)
     info['package_icon_120'] = 'package_icon_120'
     with create_spk(build, info=info) as f:
         with self.assertRaises(SPKParseError) as cm:
             SPK(f)
     self.assertEqual('Invalid INFO icon: package_icon_120', str(cm.exception))
Example #7
0
 def test_wrong_info_encoding(self):
     build = BuildFactory.build()
     info = create_info(build)
     info['description'] = 'Description en français'
     with create_spk(build, info=info, info_encoding='latin-1') as f:
         with self.assertRaises(SPKParseError) as cm:
             SPK(f)
     self.assertEqual('Wrong INFO encoding', str(cm.exception))
Example #8
0
    def test_post_wrong_version(self):
        user = UserFactory(roles=[Role.find('developer'), Role.find('package_admin')])
        db.session.commit()

        build = BuildFactory.build()
        info = create_info(build)
        info['version'] = '1.2.3~4'
        with create_spk(build, info=info) as spk:
            response = self.client.post(url_for('api.packages'), headers=authorization_header(user),
                                        data=spk.read())
        self.assert422(response)
        self.assertIn('Invalid version', response.data.decode(response.charset))
Example #9
0
    def test_post_wrong_description_language(self):
        user = UserFactory(roles=[Role.find('developer'), Role.find('package_admin')])
        db.session.commit()

        build = BuildFactory.build()
        info = create_info(build)
        info['description_zzz'] = 'description_zzz'
        with create_spk(build, info=info) as spk:
            response = self.client.post(url_for('api.packages'), headers=authorization_header(user),
                                        data=spk.read())
        self.assert422(response)
        self.assertIn('Unknown INFO description language', response.data.decode(response.charset))
Example #10
0
 def test_missing_conf_folder(self):
     build = BuildFactory.build(
         version__conf_dependencies=None,
         version__conf_conflicts=None,
         version__conf_privilege=None,
         version__conf_resource=None,
     )
     info = create_info(build)
     info["support_conf_folder"] = "yes"
     with create_spk(build, info=info, with_conf=False) as f:
         with self.assertRaises(SPKParseError) as cm:
             SPK(f)
     self.assertEqual("Missing conf folder", str(cm.exception))
Example #11
0
    def test_post_wrong_version(self):
        user = UserFactory(
            roles=[Role.find('developer'),
                   Role.find('package_admin')])
        db.session.commit()

        build = BuildFactory.build()
        info = create_info(build)
        info['version'] = '1.2.3~4'
        with create_spk(build, info=info) as spk:
            response = self.client.post(url_for('api.packages'),
                                        headers=authorization_header(user),
                                        data=spk.read())
        self.assert422(response)
        self.assertIn('Invalid version',
                      response.data.decode(response.charset))
Example #12
0
    def test_post_wrong_description_language(self):
        user = UserFactory(
            roles=[Role.find('developer'),
                   Role.find('package_admin')])
        db.session.commit()

        build = BuildFactory.build()
        info = create_info(build)
        info['description_zzz'] = 'description_zzz'
        with create_spk(build, info=info) as spk:
            response = self.client.post(url_for('api.packages'),
                                        headers=authorization_header(user),
                                        data=spk.read())
        self.assert422(response)
        self.assertIn('Unknown INFO description language',
                      response.data.decode(response.charset))
Example #13
0
    def test_post_wrong_version(self):
        user = UserFactory(
            roles=[Role.find("developer"),
                   Role.find("package_admin")])
        db.session.commit()

        build = BuildFactory.build()
        info = create_info(build)
        info["version"] = "1.2.3~4"
        with create_spk(build, info=info) as spk:
            response = self.client.post(
                url_for("api.packages"),
                headers=authorization_header(user),
                data=spk.read(),
            )
        self.assert422(response)
        self.assertIn("Invalid version",
                      response.data.decode(response.charset))
Example #14
0
    def test_post_wrong_displayname_language(self):
        user = UserFactory(
            roles=[Role.find("developer"),
                   Role.find("package_admin")])
        db.session.commit()

        build = BuildFactory.build()
        info = create_info(build)
        info["displayname_zzz"] = "displayname_zzz"
        with create_spk(build, info=info) as spk:
            response = self.client.post(
                url_for("api.packages"),
                headers=authorization_header(user),
                data=spk.read(),
            )
        self.assert422(response)
        self.assertIn("Unknown INFO displayname language",
                      response.data.decode(response.charset))
Example #15
0
 def test_info_blank_like(self):
     build = BuildFactory.build()
     info = io.BytesIO('\n'.join(['%s="%s"\n' % (k, v) for k, v in create_info(build).items()]).encode('utf-8'))
     with create_spk(build, info=info) as f:
         SPK(f)
Example #16
0
 def test_info_blank_like(self):
     build = BuildFactory.build()
     info = io.BytesIO('\n'.join(['%s="%s"\n' % (k, v) for k, v in create_info(build).items()]).encode('utf-8'))
     with create_spk(build, info=info) as f:
         SPK(f)