示例#1
0
 def test_match_name_multi(self):
     p1 = Package(name='p1', version='1.0')
     p2 = Package(name='p2', version='2.0')
     p3 = Package(name='p3', version='2.0')
     t = PackageTransformer(rulestext='[ { name: [p1,p2], setname: bar } ]')
     t.Process(p1)
     t.Process(p2)
     t.Process(p3)
     self.assertEqual(p1.effname, 'bar')
     self.assertEqual(p2.effname, 'bar')
     self.assertEqual(p3.effname, 'p3')
示例#2
0
 def test_match_ver(self):
     p1 = Package(name='p1', version='1.0')
     p2 = Package(name='p2', version='2.0')
     p3 = Package(name='p3', version='3.0')
     t = PackageTransformer(
         rulestext=
         '[ { ver: "1.0", setname: bar }, { ver: ["3.0"], setname: baz } ]')
     t.Process(p1)
     t.Process(p2)
     t.Process(p3)
     self.assertEqual(p1.effname, 'bar')
     self.assertEqual(p2.effname, 'p2')
     self.assertEqual(p3.effname, 'baz')
示例#3
0
 def test_match_category(self):
     p1 = Package(name='p1', version='1.0', category='foo')
     p2 = Package(name='p2', version='2.0', category='bar')
     p3 = Package(name='p3', version='3.0', category='baz')
     t = PackageTransformer(
         rulestext=
         '[ { category: foo, setname: quux }, { category: [ baz ] , setname: bat } ]'
     )
     t.Process(p1)
     t.Process(p2)
     t.Process(p3)
     self.assertEqual(p1.effname, 'quux')
     self.assertEqual(p2.effname, 'p2')
     self.assertEqual(p3.effname, 'bat')
示例#4
0
 def test_match_verlonger(self):
     p1 = Package(name='p1', version='1.0.0')
     p2 = Package(name='p2', version='1.0')
     t = PackageTransformer(rulestext='[ { verlonger: 2, setname: bar } ]')
     t.Process(p1)
     t.Process(p2)
     self.assertEqual(p1.effname, 'bar')
     self.assertEqual(p2.effname, 'p2')
示例#5
0
 def test_match_namepat(self):
     p1 = Package(name='p1', version='1.0')
     p2 = Package(name='p2', version='2.0')
     t = PackageTransformer(
         rulestext='[ { namepat: ".*1", setname: bar } ]')
     t.Process(p1)
     t.Process(p2)
     self.assertEqual(p1.effname, 'bar')
     self.assertEqual(p2.effname, 'p2')
示例#6
0
    def check_transformer(self, rulestext, *packages):
        transformer = PackageTransformer(repomgr, rulestext=rulestext)
        for packagedict in packages:
            create_params = {}
            expected_params = {}
            for field, value in packagedict.items():
                if field.startswith('expect_'):
                    expected_params[field[7:]] = value
                else:
                    create_params[field] = value

            package = Package(**create_params)
            transformer.Process(package)

            for field, value in expected_params.items():
                self.assertEqual(package.__dict__[field], value)