class BackupTest(TestCase): def setUp(self): super(BackupTest, self).setUp() self.conf = Config(dict(a=1, b=2)) def test__restore_no_backup(self): with self.assertRaises(exceptions.NoBackup): self.conf.restore() def test__discard(self): self.conf.backup() self.conf.discard_backup() with self.assertRaises(exceptions.NoBackup): self.conf.restore()
class LinkedConfigurationTest(TestCase): def setUp(self): super(LinkedConfigurationTest, self).setUp() self.conf1 = Config(dict(a=1)) self.conf2 = Config(dict(c=2)) self.conf1.extend({"b": self.conf2}) def test__linked_configurations(self): self.assertIs(self.conf1['b'], self.conf2) def test__linked_backup_and_restore(self): self.conf1.backup() self.conf2['c'] = 3 self.assertEquals(self.conf1.root.b.c, 3) self.conf1['a'] = 2 self.conf1.restore() self.assertEquals(self.conf1.root.b.c, 2) def test__linked_backups_restore_parent_then_child(self): self.conf2.backup() self.conf1.backup() self.conf2['c'] = 4 self.assertEquals(self.conf2.root.c, 4) self.conf1.restore() self.assertEquals(self.conf2.root.c, 2) self.conf2['c'] = 5 self.assertEquals(self.conf2.root.c, 5) self.conf2.restore() self.assertEquals(self.conf2.root.c, 2)
class BackupTest(TestCase): def setUp(self): super(BackupTest, self).setUp() self.conf = Config(dict(a=1, b=2, c=[])) self.conf.extend(Config({'d': []})) def test_backup_context(self): with self.conf.backup_context(): self.conf.root.a = 10 assert self.conf.root.a == 10 assert self.conf.root.a == 1 def test_restore_no_backup(self): with self.assertRaises(exceptions.NoBackup): self.conf.restore() def test_discard(self): self.conf.backup() self.conf.discard_backup() with self.assertRaises(exceptions.NoBackup): self.conf.restore() def test_backup_copy(self): self.conf.backup() self.conf.root.c.append(0) self.conf.root.d.extend([2, 3]) self.conf.restore() self.assertEqual(self.conf.root.c, []) self.assertEqual(self.conf.root.d, [])