Пример #1
0
 def test_write_auth_ignores_r_users_field(self):
     user2 = User('test2', 'sdfsdf', 'sdfsdf')
     doc = Doc('docid', 'title', ['test1'], ['test'], None, None, None,
               False)
     with app.test_request_context("/"):
         self.assertRaises(AuthenticationException, BokehServerTransaction,
                           user2, doc, 'rw')
Пример #2
0
 def test_publish(self):
     sess = Session(client=app.test_client())
     sess.register('testuser', 'testpassword')
     sess.use_doc('test_cow')
     sess.publish()
     doc = Doc.load(bokeh_app.servermodel_storage, sess.docid)
     assert doc.title == 'test_cow'
     assert doc.published == True
Пример #3
0
 def test_publish(self):
     sess = Session(client=app.test_client())
     sess.register('testuser', 'testpassword')
     sess.use_doc('test_cow')
     sess.publish()
     doc = Doc.load(bokeh_app.servermodel_storage, sess.docid)
     assert doc.title == 'test_cow'
     assert doc.published == True
Пример #4
0
 def test_read_auth_checks_both_fields(self):
     user2 = User('test2', 'sdfsdf', 'sdfsdf')
     user = User('test1', 'sdfsdf', 'sdfsdf')
     doc = Doc('docid', 'title', ['test1'], ['test2'], None, None, None,
               False)
     with app.test_request_context("/"):
         BokehServerTransaction(user, doc, 'r')
     with app.test_request_context("/"):
         BokehServerTransaction(user2, doc, 'r')
Пример #5
0
 def test_permissions_with_temporary_docid(self):
     user = User('test1', 'sdfsdf', 'sdfsdf')
     doc = Doc('docid', 'title', [], ['test2'], None, None, None, False)
     # with temporary docid, a user must be able to read in order to get write access
     # this call should fail
     with app.test_request_context("/"):
         self.assertRaises(AuthenticationException,
                           BokehServerTransaction,
                           user,
                           doc,
                           'rw',
                           temporary_docid="foobar")
Пример #6
0
import redis
from bokeh.server.models.user import User
from bokeh.server.models.docs import Doc, prune_and_get_valid_models
from bokeh.server import serverbb
import json
import copy

server_model_redis = redis.Redis(host="127.0.0.1", db=3)
bbmodel_redis = redis.Redis(host="127.0.0.1", db=2)
for userkey in server_model_redis.keys("model:user*"):
    userid = userkey.split(":")[-1]
    User.load(server_model_redis, userkey)

for dockey in server_model_redis.keys("model:doc*"):
    docid = dockey.split(":")[-1]
    doc = Doc.load(server_model_redis, docid)

for modelkey in bbmodel_redis.keys():
    if len(modelkey.split(":")) == 3:
        _, typename, modelid = modelkey.split(":")
        data = json.loads(bbmodel_redis.get(modelkey))
        docid = data['docs'][0]
        newkey = serverbb.modelkey(typename, docid, modelid)
        bbmodel_redis.set(newkey, json.dumps(data))
        bbmodel_redis.delete(modelkey)

for dockey in bbmodel_redis.keys("doc:*"):
    docid = dockey.split(":")[-1]
    members = bbmodel_redis.smembers(dockey)
    new_members = []
    for key in members: