~free.ekanayaka/landscape-client/karmic-1.5.4-0ubuntu0.9.10.0

« back to all changes in this revision

Viewing changes to landscape/lib/tests/test_persist.py

  • Committer: Bazaar Package Importer
  • Author(s): Free Ekanayaka
  • Date: 2009-12-16 10:50:05 UTC
  • mfrom: (1.2.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20091216105005-bmki8i2of1dmcdkc
Tags: 1.4.0-0ubuntu0.9.10.0
* New upstream release (LP: #497351)

* Bug fixes:
  - Fix landscape daemons fail to start when too many groups are
    available (LP: #456124)
  - Fix landscape programs wake up far too much. (LP: #340843)
  - Fix Package manager fails with 'no such table: task' (LP #465846)
  - Fix test suite leaving temporary files around (LP #476418)
  - Fix the 1hr long wait for user data to be uploaded following a
    resynchronisation (LP #369000)

* Add support for Ubuntu release upgrades:
  - Add helper function to fetch many files at once (LP: #450629)
  - Handle release-upgrade messages in the packagemanager
    plugin (LP: #455217)
  - Add a release-upgrader task handler (LP: #462543)
  - Support upgrade-tool environment variables (LP: #463321)

* Add initial support for Smart package locking:
  - Detect and report changes about Smart package locks (#488108)

* Packaging fixes:
  - Turn unnecessary Pre-Depends on python-gobject into a regular Depends
  - If it's empty, remove /etc/landscape upon purge

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
from landscape.lib.persist import (
5
5
    path_string_to_tuple, path_tuple_to_string, Persist, RootedPersist,
6
6
    PickleBackend, ConfigObjBackend, PersistError, PersistReadOnlyError)
7
 
from landscape.tests.helpers import LandscapeTest, MakePathHelper
 
7
from landscape.tests.helpers import LandscapeTest
8
8
 
9
9
 
10
10
class PersistHelpersTest(LandscapeTest):
276
276
 
277
277
 
278
278
class SaveLoadPersistTest(BasePersistTest):
279
 
 
280
 
    helpers = [MakePathHelper]
281
 
 
 
279
        
282
280
    def test_readonly(self):
283
281
        self.assertFalse(self.persist.readonly)
284
282
        self.persist.readonly = True
326
324
        for path in self.set_result:
327
325
            self.persist.set(path, self.set_result[path])
328
326
 
329
 
        filename = self.make_path()
 
327
        filename = self.makeFile()
330
328
        self.persist.save(filename)
331
329
 
332
330
        persist = self.build_persist()
337
335
                          self.format(result, self.set_result))
338
336
 
339
337
    def test_save_on_unexistent_dir(self):
340
 
        dirname = self.make_path()
 
338
        dirname = self.makeFile()
341
339
        filename = os.path.join(dirname, "foobar")
342
340
 
343
341
        self.assertFalse(os.path.exists(dirname))
345
343
        self.assertTrue(os.path.isfile(filename))
346
344
 
347
345
    def test_save_creates_backup(self):
348
 
        filename = self.make_path("foobar")
 
346
        filename = self.makePersistFile("foobar")
 
347
        filename_old = filename + ".old"
349
348
 
350
 
        self.assertFalse(os.path.exists(filename+".old"))
 
349
        self.assertFalse(os.path.exists(filename_old))
351
350
        self.persist.save(filename)
352
 
        self.assertTrue(os.path.exists(filename+".old"))
 
351
        self.assertTrue(os.path.exists(filename_old))
353
352
 
354
353
    def test_save_to_default_file(self):
355
354
        """
356
355
        Persist can be constructed with a filename, and Persist.save with no
357
356
        arguments will write to that filename.
358
357
        """
359
 
        filename = self.make_path()
 
358
        filename = self.makeFile()
360
359
        persist = self.build_persist(filename=filename)
361
360
        self.assertFalse(os.path.exists(filename))
362
361
        persist.save()
374
373
        If a Persist is created with a default filename, and the filename
375
374
        exists, it will be loaded.
376
375
        """
377
 
        filename = self.make_path()
 
376
        filename = self.makeFile()
378
377
        persist = self.build_persist(filename=filename)
379
378
        persist.set("foo", "bar")
380
379
        persist.save()
383
382
        self.assertEquals(persist.get("foo"), "bar")
384
383
 
385
384
    def test_load_restores_backup(self):
386
 
        filename = self.make_path("foobar")
 
385
        filename = self.makePersistFile("foobar")
 
386
        filename_old = filename + ".old"
387
387
 
388
388
        self.persist.set("a", 1)
389
 
        self.persist.save(filename+".old")
 
389
        self.persist.save(filename_old)
390
390
 
391
391
        persist = self.build_persist()
392
392
        persist.load(filename)
394
394
        self.assertEquals(persist.get("a"), 1)
395
395
 
396
396
    def test_load_empty_files_wont_break(self):
397
 
        filename = self.make_path("")
 
397
        filename = self.makeFile("")
398
398
        self.persist.load(filename)
399
399
 
400
400