def test_create_interpreter(self):
        res = handler_resource("tag_team")
        hs = HistoryState("example", [res])
        interp = hs.create_interpreter()
        self.assertEqual(interp.can_read(identity("mitzi")), True)
        self.assertEqual(interp.can_write(identity("victor")), False)

        # Should not be the same/cached
        self.assertNotEqual(interp, hs.create_interpreter())
示例#2
0
    def setUp(self):
        StreamTest.setUp(self)

        self.doc = handler_document("echo_chamber")
        self.ev  = Event({'x':'y'}, identity("atlas"), self.doc.version)
        self.quorum = Quorum(self.ev, self.doc._qs)
        self.quorum.document = self.doc
        self.ident = identity()
        self.owner = Owner(self.ident, make_jack=False)
        self.owner.own_document(self.doc)
 def setUp(self):
     self.doc = handler_document("tag_team")
     self.qs  = self.doc._qs
     self.mitzi = identity('mitzi')
     self.atlas = identity('atlas')
     self.ev1 = Event({"hello":"world"}, self.mitzi, self.doc.version)
     self.ev2 = Event({"turtle":"food"}, self.mitzi, self.doc.version)
     self.q1 = Quorum(self.ev1, self.qs)
     self.q2 = Quorum(self.ev2, self.qs)
     self.owner = Owner(self.mitzi, make_jack=False)
     self.owner.own_document(self.doc)
     self.owner.identities.update_ident(self.atlas)
    def test_interpreter(self):
        res = handler_resource("tag_team")
        hs = HistoryState("example", [res])
        interp = hs.interpreter
        self.assertEqual(interp.can_read(identity("mitzi")), True)
        self.assertEqual(interp.can_write(identity("victor")), False)

        # Should be the same/cached
        self.assertEqual(interp, hs.interpreter)

        # Should not be the same/cached, after hash change
        hs.hash = "some other hash"
        self.assertNotEqual(interp, hs.interpreter)
示例#5
0
 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 setUp(self):
        self.mitzi = identity('mitzi')
        self.atlas = identity('atlas')

        self.res_default = Resource()
        self.res_tt      = handler_resource("tag_team")
        self.ev_default  = Event({'hello':'world'}, self.mitzi)
        self.ev_tt       = Event(
            {
                'path' : '/handler.lua',
                'property' : 'comment',
                'value' : 'An arbitrary comment',
            },
            self.atlas
        )
        self.hs1         = HistoryState(None, [self.res_default])
        self.hs2         = HistoryState("example", [self.res_default, self.res_tt])
示例#7
0
    def setUp(self):
        StreamTest.setUp(self)

        self.router = Router()
        self.mitzi = Owner(identity("mitzi"), self.router)
        self.atlas = Owner(identity("atlas"), self.router)
        self.victor = Owner(identity("victor"), self.router)
        self.mitzi.identities.sync(self.atlas.identities, self.victor.identities)

        # Document that mitzi and atlas are part of, but victor is not.
        # Separate identical starting points for all of them.
        self.mdoc = handler_document("tag_team")
        self.adoc = handler_document("tag_team")
        self.vdoc = handler_document("tag_team")
        self.mitzi.own_document(self.mdoc)
        self.atlas.own_document(self.adoc)
        self.victor.own_document(self.vdoc)
 def test_init_no_location(self):
     # Make sure self_idents with no location fail
     badident = identity()
     badident.location = None
     self.assertRaises(
         TypeError,
         Owner,
         badident, None, False
     )
    def test_init(self):
        # Do setup for testing a good owner.
        owner = Owner(identity(), make_jack = False)

        key = String('["local",null,"mitzi"]')
        self.assertIsInstance(owner.identities, IdentityCache)
        self.assertIn(key, owner.identities)
        self.assertIsInstance(owner.identities[key], Identity)

        doc = handler_document("echo_chamber")
        self.assertIsInstance(doc.handler, Resource)
        owner.own_document(doc)
 def test_apply(self):
     res = handler_resource("tag_team")
     hs = HistoryState("example", [res])
     ev = Event(
         {"path": "/handler.lua", "property": "comment", "value": "An arbitrary comment"}, identity("mitzi"), None
     )
     hs.apply(ev)
     self.assertEqual(res.comment, "An arbitrary comment")
     self.assertEqual(hs.hash, ev.hash())
示例#11
0
    def setUp(self):
        self.mitzi = identity('mitzi')
        self.cache = IdentityCache()
        self.rr    = ReadRequest(self.mitzi)

        self.cache.update_ident(self.mitzi)