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', ], })