def test_get_all_rules_for_version(self): """Testing PackageChannel.get_all_rules_for_version""" bundle = PackageBundle(manifest_url='packages/TestPackage/index.json') channel = PackageChannel( bundle=bundle, name='1.0.x', created_timestamp=datetime(2015, 10, 11, 8, 17, 29, 958569), last_updated_timestamp=datetime(2015, 10, 12, 8, 17, 29, 958569)) channel._loaded = True rules1 = PackageRules(channel=channel, version_range='*', package_type='python', package_name='TestPackage', systems=['*']) rules2 = PackageRules(channel=channel, version_range='>=1.0', package_type='python', package_name='TestPackage', systems=['*']) rules3 = PackageRules(channel=channel, version_range='>=1.0,<=2.0', package_type='python', package_name='TestPackage', systems=['*']) rules4 = PackageRules(channel=channel, version_range='<=2.0', package_type='python', package_name='TestPackage', systems=['*']) rules5 = PackageRules(channel=channel, version_range='>=4.0', package_type='python', package_name='TestPackage', systems=['*']) rules6 = PackageRules(channel=channel, version_range='<1.0', package_type='python', package_name='TestPackage', systems=['*']) channel._package_rules = [ rules1, rules2, rules3, rules4, rules5, rules6 ] self.assertEqual( channel.get_all_rules_for_version('1.0', require_current_system=False), [rules1, rules2, rules3, rules4])
def test_get_all_rules_for_version_and_current_system(self): """Testing PackageChannel.get_all_rules_for_version with require_current_system=True """ bundle = PackageBundle(manifest_url='packages/TestPackage/index.json') channel = PackageChannel( bundle=bundle, name='1.0.x', created_timestamp=datetime(2015, 10, 11, 8, 17, 29, 958569), last_updated_timestamp=datetime(2015, 10, 12, 8, 17, 29, 958569)) channel._loaded = True rules1 = PackageRules(channel=channel, version_range='*', package_type='python', package_name='TestPackage', systems=['macosx']) rules2 = PackageRules(channel=channel, version_range='>=1.0', package_type='python', package_name='TestPackage', systems=['windows']) rules3 = PackageRules(channel=channel, version_range='>=1.0,<=2.0', package_type='python', package_name='TestPackage', systems=['MyDistro>1.2']) rules4 = PackageRules(channel=channel, version_range='<=2.0', package_type='python', package_name='TestPackage', systems=['MyDistro']) rules5 = PackageRules(channel=channel, version_range='<=2.0', package_type='python', package_name='TestPackage', systems=['*']) channel._package_rules = [rules1, rules2, rules3, rules4, rules5] self.spy_on(platform.system, call_fake=lambda: 'Linux') self.spy_on(platform.dist, call_fake=lambda: ('MyDistro', '1.3', '')) self.assertEqual( channel.get_all_rules_for_version('1.0', require_current_system=True), [rules3, rules4, rules5])