~free.ekanayaka/landscape-client/lucid-1.5.4-0ubuntu0.10.04.0

« back to all changes in this revision

Viewing changes to landscape/package/tests/test_facade.py

  • Committer: Bazaar Package Importer
  • Author(s): Free Ekanayaka
  • Date: 2010-06-28 18:07:18 UTC
  • mfrom: (1.2.5 upstream)
  • Revision ID: james.westby@ubuntu.com-20100628180718-vytyqgbtkiirv5sb
Tags: 1.5.2.1-0ubuntu0.10.04.0
Filter duplicate network interfaces in get_active_interfaces (LP: #597000)

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
from landscape.tests.mocker import ANY
20
20
from landscape.tests.helpers import LandscapeTest
21
21
from landscape.package.tests.helpers import (
22
 
    SmartFacadeHelper, HASH1, HASH2, HASH3, PKGNAME1,
23
 
    create_full_repository)
 
22
    SmartFacadeHelper, HASH1, HASH2, HASH3, PKGNAME1, PKGNAME4, PKGDEB4,
 
23
    create_full_repository, create_deb)
24
24
 
25
25
 
26
26
class SmartFacadeTest(LandscapeTest):
193
193
 
194
194
        pkg = self.facade.get_packages_by_name("name1")[0]
195
195
        self.facade.mark_install(pkg)
196
 
        try:
197
 
            self.facade.perform_changes()
198
 
        except TransactionError, exception:
199
 
            pass
200
 
        else:
201
 
            exception = None
202
 
        self.assertTrue(exception, "TransactionError not raised")
 
196
        exception = self.assertRaises(TransactionError,
 
197
                                      self.facade.perform_changes)
203
198
        self.assertIn("requirename", exception.args[0])
204
199
 
205
200
    def test_mark_install_dependency_error(self):
380
375
        self.assertEquals(environ, ["noninteractive", "none",
381
376
                                    "noninteractive", "none"])
382
377
 
 
378
    def test_perform_changes_with_policy_remove(self):
 
379
        """
 
380
        When requested changes are only about removing packages, we set
 
381
        the Smart transaction policy to C{PolicyRemove}.
 
382
        """
 
383
        create_deb(self.repository_dir, PKGNAME4, PKGDEB4)
 
384
        self.facade.reload_channels()
 
385
 
 
386
        # Importing these modules fail if Smart is not initialized
 
387
        from smart.backends.deb.base import DebRequires
 
388
 
 
389
        pkg1 = self.facade.get_package_by_hash(HASH1)
 
390
        pkg1.requires.append(DebRequires("name3", ">=", "version3-release3"))
 
391
 
 
392
        pkg3 = self.facade.get_package_by_hash(HASH3)
 
393
 
 
394
        # Ask Smart to reprocess relationships.
 
395
        self.facade.reload_cache()
 
396
 
 
397
        pkg1.installed = True
 
398
        pkg3.installed = True
 
399
 
 
400
        self.facade.mark_remove(pkg3)
 
401
        error = self.assertRaises(DependencyError, self.facade.perform_changes)
 
402
        [missing] = error.packages
 
403
        self.assertIdentical(pkg1, missing)
 
404
 
383
405
    def test_perform_changes_with_commit_change_set_errors(self):
384
406
 
385
407
        self.facade.reload_channels()