def test__repr__(self): s = Session() self.assertEqual(str(s), '<Session [new:True, changed:False] {}>') s['foo'] = 'bar' self.assertEqual(str(s), "<Session [new:True, changed:True] {'foo': 'bar'}>") s = Session({'key': 123}, identity=1) self.assertEqual(str(s), "<Session [new:False, changed:False] {'key': 123}>") s.invalidate() self.assertEqual(str(s), "<Session [new:False, changed:True] {}>")
def test_invalidate(self): s = Session({'foo': 'bar'}) self.assertEqual(s, {'foo': 'bar'}) self.assertTrue(s.new) self.assertIsNone(s.identity) self.assertFalse(s._changed) s.invalidate() self.assertEqual(s, {}) self.assertTrue(s.new) self.assertIsNone(s.identity) self.assertTrue(s._changed) s = Session({'foo': 'bar'}, identity=1) self.assertEqual(s, {'foo': 'bar'}) self.assertFalse(s.new) self.assertEqual(s.identity, 1) self.assertFalse(s._changed) s.invalidate() self.assertEqual(s, {}) self.assertFalse(s.new) self.assertEqual(s.identity, 1) self.assertTrue(s._changed)