# HG changeset patch # User Jeff Hammel # Date 1273277372 25200 # Node ID b6bb59b79525aba9307522dedbe16cb7ac82d850 # Parent 1cfd259f74cfca8ec81dec5f657da2ecb31d55c4 * return the backed-up profile * further test restoring profiles diff -r 1cfd259f74cf -r b6bb59b79525 profilemanager/manager.py --- a/profilemanager/manager.py Fri May 07 16:30:34 2010 -0700 +++ b/profilemanager/manager.py Fri May 07 17:09:32 2010 -0700 @@ -297,6 +297,9 @@ if not os.listdir(backups_dir): shutil.rmtree(backups_dir) + # return which backup is restored + return backup + def temporary(self): """make a temporary profile""" raise NotImplementedError diff -r 1cfd259f74cf -r b6bb59b79525 profilemanager/tests/test.py --- a/profilemanager/tests/test.py Fri May 07 16:30:34 2010 -0700 +++ b/profilemanager/tests/test.py Fri May 07 17:09:32 2010 -0700 @@ -46,12 +46,26 @@ # Test dated backups manager.backup('testprofile') -old_backups = manager.backups('testprofile')[0] +old_backups = manager.backups('testprofile') +assert len(old_backups) == 1, "Expected one backup, instead got %d" % len(old_backups) old_time = int(time.time()) time.sleep(3) manager.backup('testprofile') +new_backups = manager.backups('testprofile') +assert len(new_backups) == 2, "Expected two backups, instead got %d" % len(new_backups) +restore_time = old_time + 1 +restored = manager.restore('testprofile', date=restore_time) +assert restored == old_backups[0], "Tried to restore from %d [%s], but got [%s]" % (restore_time, old_backups[0], restored) # TODO: test with alternate forms of date +# Restore the newest profile +restored = manager.restore('testprofile') +assert restored != old_backups[0], "Tried to restore the newest but got the old one" +manager.restore('testprofile', delete=True) +manager.restore('testprofile', delete=True) +assert not manager.backups() +assert manager.list() == ['testprofile'] + # Cleanup: manager.remove('testprofile') assert manager.list() == []