예제 #1
0
 def test_package_name_from_desc(self):
     from oxt_tool.package import package_name_from_desc
     desc = Description(identifier='pyhwp.example', version='')
     self.assertEquals('pyhwp.example.oxt', package_name_from_desc(desc))
     desc.version = '0.1'
     self.assertEquals('pyhwp.example-0.1.oxt',
                       package_name_from_desc(desc))
예제 #2
0
    def test_build_typical(self):
        from oxt_tool.package import build
        from oxt_tool.storage import makedirs_to_file

        manifest = Manifest()
        description = Description()

        import os.path
        import shutil
        src_folder_path = self.id()
        if os.path.exists(src_folder_path):
            shutil.rmtree(src_folder_path)
        src_folder = FileSystemStorage(src_folder_path, 'w')

        license_path = 'COPYING'
        license_node = makedirs_to_file(src_folder, license_path)
        with license_node.open('w') as f:
            f.write('GNU AGPL')
        description.license['en'] = license_path

        oxt_path = self.id() + '.oxt'

        files = {license_path: license_node}
        build(oxt_path, manifest, description, files=files)

        with open_storage(oxt_path) as pkg:
            with resolve_path(pkg, 'COPYING').open() as f:
                self.assertEquals('GNU AGPL', f.read())
예제 #3
0
    def test_build_typical(self):
        from oxt_tool.package import build
        from oxt_tool.storage import makedirs_to_file

        manifest = Manifest()
        description = Description()

        import os.path
        import shutil
        src_folder_path = self.id()
        if os.path.exists(src_folder_path):
            shutil.rmtree(src_folder_path)
        src_folder = FileSystemStorage(src_folder_path, 'w')

        license_path = 'COPYING'
        license_node = makedirs_to_file(src_folder, license_path)
        with license_node.open('w') as f:
            f.write('GNU AGPL')
        description.license['en'] = license_path

        oxt_path = self.id() + '.oxt'

        files = {license_path: license_node}
        build(oxt_path, manifest, description, files=files)

        with open_storage(oxt_path) as pkg:
            with resolve_path(pkg, 'COPYING').open() as f:
                self.assertEqual('GNU AGPL', f.read())
예제 #4
0
    def test_build_minimal(self):
        from oxt_tool.package import build

        manifest = Manifest()
        description = Description()
        oxt_path = self.id() + '.oxt'
        build(oxt_path, manifest, description)
        with open_storage(oxt_path) as pkg:
            self.assertTrue(is_package(pkg))
예제 #5
0
    def test_build_missing(self):
        from oxt_tool.package import build

        oxt_path = self.id() + '.oxt'

        manifest = Manifest()
        description = Description(license=dict(en='COPYING'))
        files = dict()
        try:
            build(oxt_path, manifest, description, files=files)
            assert False, 'exception expected'
        except Exception:
            pass
예제 #6
0
    def test_make_output_path(self):
        from oxt_tool.package import make_output_path

        self.assertEqual('abc.oxt', make_output_path('abc.oxt'))
        self.assertEqual('./abc.oxt', make_output_path('./abc.oxt'))
        self.assertEqual('abc/def.oxt', make_output_path('abc/def.oxt'))

        desc = Description(identifier='example', version='0.1')
        self.assertEqual('example-0.1.oxt', make_output_path('', desc))
        self.assertEqual('./example-0.1.oxt', make_output_path('.', desc))
        self.assertEqual('abc/example-0.1.oxt', make_output_path('abc/', desc))

        dirpath = self.id()
        import shutil
        import os.path
        if os.path.exists(dirpath):
            shutil.rmtree(dirpath)
        os.mkdir(dirpath)
        self.assertEqual(os.path.join(dirpath, 'example-0.1.oxt'),
                          make_output_path(dirpath, desc))
예제 #7
0
 def test_package_name_from_desc(self):
     from oxt_tool.package import package_name_from_desc
     desc = Description(identifier='pyhwp.example', version='')
     self.assertEqual('pyhwp.example.oxt', package_name_from_desc(desc))
     desc.version = '0.1'
     self.assertEqual('pyhwp.example-0.1.oxt', package_name_from_desc(desc))