コード例 #1
0
    def test_serialize(self):
        """Testing PackageRules.serialize"""
        bundle = PackageBundle()
        channel = PackageChannel(bundle)

        rules = PackageRules(
            channel=channel,
            version_range='*',
            package_type=PackageRules.PACKAGE_TYPE_RPM,
            systems=['centos', 'macosx'],
            package_name='TestPackage',
            required_dependencies=['foo'],
            recommended_dependencies=['bar'],
            optional_dependencies=['baz'],
            replaces=['OldPackage'],
            pre_install_commands=['echo pre-install'],
            install_commands=['echo install'],
            post_install_commands=['echo post-install'],
            install_flags=['--with-pie', '--with-ice-cream'],
            uninstall_commands=['echo uninstall'])

        self.assertEqual(
            rules.serialize(),
            {
                'version_range': '*',
                'package_type': 'rpm',
                'package_name': 'TestPackage',
                'systems': ['centos', 'macosx'],
                'dependencies': {
                    'required': ['foo'],
                    'recommended': ['bar'],
                    'optional': ['baz'],
                },
                'replaces': ['OldPackage'],
                'pre_install_commands': [
                    'echo pre-install',
                ],
                'install_commands': [
                    'echo install',
                ],
                'post_install_commands': [
                    'echo post-install',
                ],
                'install_flags': [
                    '--with-pie',
                    '--with-ice-cream',
                ],
                'uninstall_commands': [
                    'echo uninstall',
                ],
            })