| 1 | from testbase import *
|
|---|
| 2 |
|
|---|
| 3 | class SimpleRemoveTests(OperationsTests):
|
|---|
| 4 |
|
|---|
| 5 | @staticmethod
|
|---|
| 6 | def buildPkgs(pkgs, *args):
|
|---|
| 7 | pkgs.leaf = FakePackage('foo', '2.5', '1.1', '0', 'noarch')
|
|---|
| 8 | pkgs.leaf.addFile('/bin/foo')
|
|---|
| 9 |
|
|---|
| 10 | pkgs.requires_leaf = FakePackage('bar', '4')
|
|---|
| 11 | pkgs.requires_leaf.addRequires('foo')
|
|---|
| 12 |
|
|---|
| 13 | pkgs.requires_file = FakePackage('barkeeper', '0.8')
|
|---|
| 14 | pkgs.requires_file.addRequires('/bin/foo')
|
|---|
| 15 |
|
|---|
| 16 | pkgs.rr_leaf = FakePackage('baz', '5.3')
|
|---|
| 17 | pkgs.rr_leaf.addRequires('bar')
|
|---|
| 18 |
|
|---|
| 19 | pkgs.provides_leaf = FakePackage('foo-ng', '2.5')
|
|---|
| 20 | pkgs.provides_leaf.addProvides('foo')
|
|---|
| 21 |
|
|---|
| 22 | def testRemoveSingle(self):
|
|---|
| 23 | p = self.pkgs
|
|---|
| 24 | res, msg = self.runOperation(['remove', 'foo'], [p.leaf], [])
|
|---|
| 25 | self.assert_(res=='ok', msg)
|
|---|
| 26 | self.assertResult( () )
|
|---|
| 27 |
|
|---|
| 28 | def testRemoveRequired(self):
|
|---|
| 29 | p = self.pkgs
|
|---|
| 30 | res, msg = self.runOperation(['remove', 'foo'], [p.leaf, p.requires_leaf], [])
|
|---|
| 31 | self.assert_(res=='ok', msg)
|
|---|
| 32 | self.assertResult( () )
|
|---|
| 33 |
|
|---|
| 34 | def testRemoveRequiredMissing(self):
|
|---|
| 35 | p = self.pkgs
|
|---|
| 36 | res, msg = self.runOperation(['remove', 'bar'], [p.requires_leaf], [])
|
|---|
| 37 | self.assert_(res=='ok', msg)
|
|---|
| 38 | self.assertResult( () )
|
|---|
| 39 |
|
|---|
| 40 | def testRemoveRequiredProvided(self):
|
|---|
| 41 | p = self.pkgs
|
|---|
| 42 | res, msg = self.runOperation(['remove', 'foo'], [p.leaf, p.requires_leaf, p.provides_leaf], [])
|
|---|
| 43 | self.assert_(res=='ok', msg)
|
|---|
| 44 | self.assertResult( (p.requires_leaf, p.provides_leaf) )
|
|---|
| 45 |
|
|---|
| 46 | def testRemoveRequiredAvailable(self):
|
|---|
| 47 | p = self.pkgs
|
|---|
| 48 | res, msg = self.runOperation(['remove', 'foo'], [p.leaf, p.requires_leaf], [p.provides_leaf])
|
|---|
| 49 | self.assert_(res=='ok', msg)
|
|---|
| 50 | self.assertResult( () )
|
|---|
| 51 |
|
|---|
| 52 | def testRemoveRequiredChain(self):
|
|---|
| 53 | p = self.pkgs
|
|---|
| 54 | res, msg = self.runOperation(['remove', 'foo'], [p.leaf, p.requires_leaf, p.rr_leaf], [])
|
|---|
| 55 | self.assert_(res=='ok', msg)
|
|---|
| 56 | self.assertResult( () )
|
|---|
| 57 |
|
|---|
| 58 | def testRemoveRequiredFile(self):
|
|---|
| 59 | p = self.pkgs
|
|---|
| 60 | res, msg = self.runOperation(['remove', 'foo'], [p.leaf, p.requires_file], [])
|
|---|
| 61 | self.assert_(res=='ok', msg)
|
|---|
| 62 | self.assertResult( () )
|
|---|
| 63 |
|
|---|
| 64 | def testShellUpRm1(self):
|
|---|
| 65 | """ Do an update for a package, and then rm it. """
|
|---|
| 66 | pi1 = FakePackage('foo', '1', '1', '0', 'x86_64')
|
|---|
| 67 |
|
|---|
| 68 | pa1 = FakePackage('foo', '2', '1', '0', 'x86_64')
|
|---|
| 69 |
|
|---|
| 70 | res, msg = self.runOperation((['update', 'foo'],
|
|---|
| 71 | ['remove', 'foo'],
|
|---|
| 72 | ),
|
|---|
| 73 | [pi1],
|
|---|
| 74 | [pa1], multi_cmds=True)
|
|---|
| 75 | self.assert_(res=='ok', msg)
|
|---|
| 76 | self.assertResult(())
|
|---|
| 77 |
|
|---|
| 78 | def testShellUpRm2(self):
|
|---|
| 79 | """ Do an update for a package, and then rm it. """
|
|---|
| 80 | pi1 = FakePackage('foo', '1', '1', '0', 'x86_64')
|
|---|
| 81 | pi2 = FakePackage('foo', '1', '1', '0', 'i686')
|
|---|
| 82 |
|
|---|
| 83 | pa1 = FakePackage('foo', '2', '1', '0', 'x86_64')
|
|---|
| 84 | pa2 = FakePackage('foo', '2', '1', '0', 'i686')
|
|---|
| 85 |
|
|---|
| 86 | res, msg = self.runOperation((['update', 'foo'],
|
|---|
| 87 | ['remove', 'foo.i686'],
|
|---|
| 88 | ),
|
|---|
| 89 | [pi1, pi2],
|
|---|
| 90 | [pa1, pa2], multi_cmds=True)
|
|---|
| 91 | self.assert_(res=='ok', msg)
|
|---|
| 92 | self.assertResult((pi1, ))
|
|---|
| 93 |
|
|---|
| 94 | def testShellUpRm3(self):
|
|---|
| 95 | """ Do an update for a package, and then rm it. """
|
|---|
| 96 | pi1 = FakePackage('foo', '1', '1', '0', 'x86_64')
|
|---|
| 97 | pi2 = FakePackage('foo', '1', '1', '0', 'i686')
|
|---|
| 98 |
|
|---|
| 99 | pa1 = FakePackage('foo', '2', '1', '0', 'x86_64')
|
|---|
| 100 | pa2 = FakePackage('foo', '2', '1', '0', 'i686')
|
|---|
| 101 |
|
|---|
| 102 | res, msg = self.runOperation((['update', 'foo'],
|
|---|
| 103 | ['remove', 'foo.x86_64'],
|
|---|
| 104 | ),
|
|---|
| 105 | [pi1, pi2],
|
|---|
| 106 | [pa1, pa2], multi_cmds=True)
|
|---|
| 107 | self.assert_(res=='ok', msg)
|
|---|
| 108 | self.assertResult((pi2, ))
|
|---|
| 109 |
|
|---|
| 110 | def testShellUpRm4(self):
|
|---|
| 111 | """ Do an update for a package, and then rm it. """
|
|---|
| 112 | pi1 = FakePackage('foo', '1', '1', '0', 'x86_64')
|
|---|
| 113 | pi2 = FakePackage('foo', '1', '1', '0', 'i686')
|
|---|
| 114 |
|
|---|
| 115 | pa1 = FakePackage('foo', '2', '1', '0', 'x86_64')
|
|---|
| 116 | pa2 = FakePackage('foo', '2', '1', '0', 'i686')
|
|---|
| 117 |
|
|---|
| 118 | res, msg = self.runOperation((['update', 'foo-2-1'],
|
|---|
| 119 | ['remove', 'foo.i686'],
|
|---|
| 120 | ),
|
|---|
| 121 | [pi1, pi2],
|
|---|
| 122 | [pa1, pa2], multi_cmds=True)
|
|---|
| 123 | self.assert_(res=='ok', msg)
|
|---|
| 124 | self.assertResult((pi1,))
|
|---|
| 125 |
|
|---|