def test_comparable(self): fields = rules.ac([('pdk', 'name', 'apache')]) refa1 = PackageStanza(deb, 'sha-1:aaa', fields, []) refa2 = PackageStanza(deb, 'sha-1:aaa', fields, []) refb = PackageStanza(deb, 'sha-1:aaa', rules.ac([('pdk', 'name', 'xsok')]), []) assert refa1 == refa2 assert refa1 < refb
def test_is_abstract(self): concrete_ref_a = \ PackageStanza(deb, 'sha-1:aaa', None, None) assert not concrete_ref_a.is_abstract() concrete_ref_b = PackageStanza(deb, None, None, None) concrete_ref_b.children.append(concrete_ref_a) assert not concrete_ref_b.is_abstract() abstract_ref = PackageStanza(deb, None, None, None) assert abstract_ref.is_abstract()
def test_field_lookups(self): condition = rules.ac([rules.rc(eq, 'pdk', 'name', 'apache')]) ref = PackageStanza(deb, 'sha-1:aaa', condition, []) assert ('pdk', 'name') in ref assert ('pdk', 'version') not in ref self.assert_equal('apache', ref[('pdk', 'name')]) self.assert_equal('apache', ref.name) self.assert_equal('', ref.version) self.assert_equal('', ref.arch)
def test_get_child_condition(self): sp_version = DebianVersion('1-3') extra = { ('pdk', 'sp-name'): 'apache', ('pdk', 'sp-version'): sp_version, ('deb', 'arch'): 'i386' } apache_deb = MockPackage('apache', '1-2', deb, 'sha-1:aaa', extra) ref_condition = rules.ac([rules.rc(eq, 'pdk', 'name', 'apache')]) apache_ref = PackageStanza(deb, 'sha-1:aaa', ref_condition, []) parent_condition = rules.ac([ apache_ref.reference.condition, rules.rc(eq, 'pdk', 'version', DebianVersion('1-2')) ]) child_condition = get_deb_child_condition(apache_deb) expected_rule = rules.oc([child_condition, parent_condition]) expected_key_info = ('pdk', 'name', 'apache') actual_rule, actual_key_info = get_child_condition( apache_deb, apache_ref) self.assert_equals(expected_rule, actual_rule) self.assert_equals(expected_key_info, actual_key_info)
def __init__(self, label): condition = rules.ac([('pdk', 'name', 'apache')]) PackageStanza.__init__(self, deb, None, condition, []) self.label = label self.children = []