示例#1
0
    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
示例#2
0
    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()
示例#3
0
    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)
示例#4
0
    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()
示例#5
0
    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)
示例#6
0
 def __init__(self, label):
     condition = rules.ac([('pdk', 'name', 'apache')])
     PackageStanza.__init__(self, deb, None, condition, [])
     self.label = label
     self.children = []
示例#7
0
 def __init__(self, label):
     condition = rules.ac([('pdk', 'name', 'apache')])
     PackageStanza.__init__(self, deb, None, condition, [])
     self.label = label
     self.children = []