class TestEvent(unittest.TestCase): def setUp(self): self.doc = handler_document('echo_chamber') self.ident = identity() self.ev = Event({'x':'y'}, self.ident, 'stormageddon') self.quorum = Quorum(self.ev, self.doc._qs) self.owner = Owner(self.ident, make_jack=False) self.owner.own_document(self.doc) def test_init(self): self.assertEqual(self.ev.version, 'stormageddon') self.quorum.sign(self.ident) self.assertEqual( self.quorum.participants, [self.ident] ) self.assertTrue(self.quorum.sig_valid(self.ident.key)) self.assertRaises( TypeError, self.quorum.sign, "some string" ) self.assertFalse(self.quorum.sig_valid("some string")) def test_authorname(self): # Override ev for this test self.ev = Event(None, self.owner.identity) self.assertTrue( isinstance(self.ev.author, Identity) ) self.assertEqual( self.ev.authorname, '*****@*****.**' ) self.assertEqual( self.doc.identity.name, '*****@*****.**' ) def test_hash(self): self.assertEqual( self.ev.hash(), String('92395fb63e777d342d75915ad25dde1172e20f7c') ) def test_hashcontent(self): self.assertEqual( self.ev.hashcontent, [{'x': 'y'}, 'stormageddon', '*****@*****.**'] )
class TestEvent(unittest.TestCase): def setUp(self): self.doc = handler_document('echo_chamber') self.ident = identity() self.ev = Event({'x':'y'}, self.ident, 'stormageddon') self.quorum = Quorum(self.ev, self.doc._qs) self.owner = Owner(self.ident, make_jack=False) self.owner.own_document(self.doc) self.io = IOMock() def test_init(self): self.assertEqual(self.ev.version, 'stormageddon') self.quorum.sign(self.ident) self.assertEqual( self.quorum.participants, [self.ident] ) self.assertTrue(self.quorum.sig_valid(self.ident.key)) self.assertRaises( TypeError, self.quorum.sign, "some string" ) self.assertFalse(self.quorum.sig_valid("some string")) def test_authorname(self): # Override ev for this test self.ev = Event(None, self.owner.identity) self.assertTrue( isinstance(self.ev.author, Identity) ) self.assertEqual( self.ev.authorname, '*****@*****.**' ) self.assertEqual( self.doc.identity.name, '*****@*****.**' ) def test_hash(self): self.assertEqual( self.ev.hash(), String('ce9950bb5a8db63712ae1ecfe9269e22289673ec') ) def test_serialize(self): self.assertEqual( self.ev.serialize(), { 'type': 'event', 'author': ['local', None, 'mitzi'], 'content': {'x':'y'}, 'version': 'stormageddon', } ) def test_enact(self): self.assertEqual(self.ev.is_done(self.doc), False) with self.io: self.ev.enact(self.quorum, self.doc) self.assertEqual(self.ev.is_done(self.doc), True)