Exemple #1
0
class MergeModuleTest(unittest.TestCase):
    def setUp(self):
        self.config = DummyConfig()
        cb = create_cookbook(self.config)
        store = create_store(self.config)
        cb.add_recipe(Recipe1(self.config))
        self.package = Package(self.config, store, cb)
        self.mergemodule = MergeModule(self.config, self.package.files_list(),
                                       self.package)

    def test_add_root(self):
        self.mergemodule._add_root()
        self.assertEqual(
            '<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" />',
            etree.tostring(self.mergemodule.root))

    def test_add_module(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.assertEqual(
            '<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">'
            '<Module Id="_gstreamer_test" Language="1033" Version="1.0" />'
            '</Wix>', etree.tostring(self.mergemodule.root))

    def test_add_package(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.mergemodule._add_package()
        self.assertEqual(
            '<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">'
            '<Module Id="_gstreamer_test" Language="1033" Version="1.0">'
            '<Package Comments="test" Description="GStreamer Test" Id="1" '
            'Manufacturer="GStreamer Project" />'
            '</Module>'
            '</Wix>', etree.tostring(self.mergemodule.root))

    def test_add_root_dir(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.mergemodule._add_package()
        self.mergemodule._add_root_dir()
        self.assertEqual(
            '<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">'
            '<Module Id="_gstreamer_test" Language="1033" Version="1.0">'
            '<Package Comments="test" Description="GStreamer Test" Id="1" '
            'Manufacturer="GStreamer Project" />'
            '<Directory Id="TARGETDIR" Name="SourceDir" />'
            '</Module>'
            '</Wix>', etree.tostring(self.mergemodule.root))

    def test_add_directory(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.mergemodule._add_package()
        self.mergemodule._add_root_dir()
        self.assertEqual(len(self.mergemodule._dirnodes), 1)
        self.assertEqual(self.mergemodule._dirnodes[''], self.mergemodule.rdir)
        self.mergemodule._add_directory('lib/gstreamer-0.10')
        self.assertEqual(len(self.mergemodule._dirnodes), 3)
        self.assertTrue('lib' in self.mergemodule._dirnodes)
        self.assertTrue('lib/gstreamer-0.10' in self.mergemodule._dirnodes)
        self.mergemodule._add_directory('bin')
        self.assertEqual(len(self.mergemodule._dirnodes), 4)
        self.assertTrue('bin' in self.mergemodule._dirnodes)

    def test_add_file(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.mergemodule._add_package()
        self.mergemodule._add_root_dir()
        self.assertEqual(len(self.mergemodule._dirnodes), 1)
        self.assertEqual(self.mergemodule._dirnodes[''], self.mergemodule.rdir)
        self.mergemodule._add_file('bin/gst-inspect-0.10.exe')
        self.assertEqual(len(self.mergemodule._dirnodes), 2)
        self.assertTrue('bin' in self.mergemodule._dirnodes)
        self.assertTrue('gstreamer-0.10.exe' not in self.mergemodule._dirnodes)
        self.mergemodule._add_file('bin/gst-launch-0.10.exe')
        self.assertEqual(len(self.mergemodule._dirnodes), 2)
        self.assertTrue('bin' in self.mergemodule._dirnodes)
        self.assertTrue('gstreamer-0.10.exe' not in self.mergemodule._dirnodes)

    def test_render_xml(self):
        self.config.platform = Platform.WINDOWS
        self.mergemodule._get_uuid = lambda: '1'
        self.mergemodule.fill()
        tmp = io.StringIO()
        self.mergemodule.write(tmp)
        #self._compstr(tmp.getvalue(), MERGE_MODULE)
        self.assertEqual(MERGE_MODULE, tmp.getvalue())

    def _compstr(self, str1, str2):
        str1 = str1.split('\n')
        str2 = str2.split('\n')
        for i in range(len(str1)):
            if str1[i] != str2[i]:
                print(str1[i])
                print(str2[i])
                print("")
class MergeModuleTest(unittest.TestCase):

    def setUp(self):
        self.config = DummyConfig()
        cb =  create_cookbook(self.config)
        store =  create_store(self.config)
        cb.add_recipe(Recipe1(self.config))
        self.package = Package(self.config, store, cb)
        self.mergemodule = MergeModule(self.config,
                self.package.files_list(), self.package)

    def test_add_root(self):
        self.mergemodule._add_root()
        self.assertEqual(
            '<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" />',
                          etree.tostring(self.mergemodule.root))

    def test_add_module(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.assertEqual(
            '<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">'
                '<Module Id="_gstreamer_test" Language="1033" Version="1.0" />'
            '</Wix>', etree.tostring(self.mergemodule.root))

    def test_add_package(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.mergemodule._add_package()
        self.assertEqual(
            '<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">'
                '<Module Id="_gstreamer_test" Language="1033" Version="1.0">'
                    '<Package Comments="test" Description="GStreamer Test" Id="1" '
                    'Manufacturer="GStreamer Project" />'
                '</Module>'
            '</Wix>', etree.tostring(self.mergemodule.root))

    def test_add_root_dir(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.mergemodule._add_package()
        self.mergemodule._add_root_dir()
        self.assertEqual(
            '<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">'
                '<Module Id="_gstreamer_test" Language="1033" Version="1.0">'
                    '<Package Comments="test" Description="GStreamer Test" Id="1" '
                    'Manufacturer="GStreamer Project" />'
                    '<Directory Id="TARGETDIR" Name="SourceDir" />'
                '</Module>'
            '</Wix>', etree.tostring(self.mergemodule.root))

    def test_add_directory(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.mergemodule._add_package()
        self.mergemodule._add_root_dir()
        self.assertEqual(len(self.mergemodule._dirnodes), 1)
        self.assertEqual(self.mergemodule._dirnodes[''], self.mergemodule.rdir)
        self.mergemodule._add_directory('lib/gstreamer-0.10')
        self.assertEqual(len(self.mergemodule._dirnodes), 3)
        self.assertTrue('lib' in self.mergemodule._dirnodes)
        self.assertTrue('lib/gstreamer-0.10' in self.mergemodule._dirnodes)
        self.mergemodule._add_directory('bin')
        self.assertEqual(len(self.mergemodule._dirnodes), 4)
        self.assertTrue('bin' in self.mergemodule._dirnodes)

    def test_add_file(self):
        self.mergemodule._add_root()
        self.mergemodule._add_module()
        self.mergemodule._add_package()
        self.mergemodule._add_root_dir()
        self.assertEqual(len(self.mergemodule._dirnodes), 1)
        self.assertEqual(self.mergemodule._dirnodes[''], self.mergemodule.rdir)
        self.mergemodule._add_file('bin/gst-inspect-0.10.exe')
        self.assertEqual(len(self.mergemodule._dirnodes), 2)
        self.assertTrue('bin' in self.mergemodule._dirnodes)
        self.assertTrue('gstreamer-0.10.exe' not in self.mergemodule._dirnodes)
        self.mergemodule._add_file('bin/gst-launch-0.10.exe')
        self.assertEqual(len(self.mergemodule._dirnodes), 2)
        self.assertTrue('bin' in self.mergemodule._dirnodes)
        self.assertTrue('gstreamer-0.10.exe' not in self.mergemodule._dirnodes)

    def test_render_xml(self):
        self.config.platform = Platform.WINDOWS
        self.mergemodule._get_uuid = lambda : '1'
        self.mergemodule.fill()
        tmp = io.StringIO()
        self.mergemodule.write(tmp)
        #self._compstr(tmp.getvalue(), MERGE_MODULE)
        self.assertEqual(MERGE_MODULE, tmp.getvalue())

    def _compstr(self, str1, str2):
        str1 = str1.split('\n')
        str2 = str2.split('\n')
        for i in range(len(str1)):
            if str1[i] != str2[i]:
                print(str1[i])
                print(str2[i])
                print("")