Ejemplo n.º 1
0
    def setup_func():
        leancloud.client.USE_MASTER_KEY = None
        leancloud.client.APP_ID = None
        leancloud.client.APP_KEY = None
        leancloud.client.MASTER_KEY = None
        leancloud.init(os.environ['APP_ID'],
                       app_key=os.environ['APP_KEY'],
                       master_key=os.environ['MASTER_KEY'])
        users = Query(User).find()
        for u in users:
            u.destroy()

        user1 = User()
        user1.set('username', 'user1_name')
        user1.set('password', 'password')
        user1.set_email('*****@*****.**')
        user1.set_mobile_phone_number('18611111111')
        user1.sign_up()
        user1.logout()

        user2 = User()
        user2.set('username', 'user2_name')
        user2.set('password', 'password')
        user2.sign_up()
        user2.logout()
        leancloud.client.use_master_key(use_master_key)
Ejemplo n.º 2
0
    def setup_func():
        leancloud.client.USE_MASTER_KEY = None
        leancloud.client.APP_ID = None
        leancloud.client.APP_KEY = None
        leancloud.client.MASTER_KEY = None
        leancloud.init(
            os.environ["APP_ID"],
            app_key=os.environ["APP_KEY"],
            master_key=os.environ["MASTER_KEY"],
        )
        users = Query(User).find()
        for u in users:
            u.destroy()

        user1 = User()
        user1.set("username", "user1_name")
        user1.set("password", "password")
        user1.set_email("*****@*****.**")
        user1.set_mobile_phone_number("18611111111")
        user1.sign_up()
        user1.logout()

        user2 = User()
        user2.set("username", "user2_name")
        user2.set("password", "password")
        user2.sign_up()
        user2.logout()
        leancloud.client.use_master_key(use_master_key)
Ejemplo n.º 3
0
def test_login():  # type: () -> None
    user = User()
    user.set("username", "user1_name")
    user.set("password", "password")
    user.login()

    user = User()
    user.login("user1_name", "password")
Ejemplo n.º 4
0
def test_follower_query():  # type: () -> None
    user1 = User()
    user1.login("user1_name", "password")
    user2 = User()
    user2.login("user2_name", "password")
    user2.follow(user1.id)
    query = User.create_follower_query(user1.id)
    assert query.first().id == user2.id
Ejemplo n.º 5
0
def test_login():  # type: () -> None
    user = User()
    user.set('username', 'user1_name')
    user.set('password', 'password')
    user.login()

    user = User()
    user.login('user1_name', 'password')
Ejemplo n.º 6
0
def test_follower_query():
    user1 = User()
    user1.login('user1_name', 'password')
    user2 = User()
    user2.login('user2_name', 'password')
    user2.follow(user1.id)
    query = User.create_follower_query(user1.id)
    assert query.first().id == user2.id
Ejemplo n.º 7
0
def test_login():
    user = User()
    user.set('username', 'user1_name')
    user.set('password', 'password')
    user.login()

    user = User()
    user.login('user1_name', 'password')
Ejemplo n.º 8
0
def test_is_authenticated():
    user = User()
    assert not user.is_authenticated()

    user._session_token = 'invalid-session-token'
    assert not user.is_authenticated()

    user = User()
    user.set('username', 'user1_name')
    user.set('password', 'password')
    user.login()
    assert user.is_authenticated()
Ejemplo n.º 9
0
def test_follow():  # type: () -> None
    user1 = User()
    user1.set("username", "user1_name")
    user1.set("password", "password")
    user1.login()

    user2 = User()
    user2.set("username", "user2_name")
    user2.set("password", "password")
    user2.login()

    user1.follow(user2.id)
Ejemplo n.º 10
0
def test_follow():
    user1 = User()
    user1.set('username', 'user1_name')
    user1.set('password', 'password')
    user1.login()

    user2 = User()
    user2.set('username', 'user2_name')
    user2.set('password', 'password')
    user2.login()

    user1.follow(user2.id)
Ejemplo n.º 11
0
def test_is_authenticated():
    user = User()
    assert not user.is_authenticated()

    user._session_token = "invalid-session-token"
    assert not user.is_authenticated()

    user = User()
    user.set("username", "user1_name")
    user.set("password", "password")
    user.login()
    assert user.is_authenticated()
Ejemplo n.º 12
0
 def POST(self):
     it = web.input()
     try:
         grade = it.get('grade')
         token = it.get('token')
         tryId = it.get('tryId')
         now = int(it.get('now', time.time()))
         user = User().become(token)
     except leancloud.errors.LeanCloudError:
         return {'code': 1}
     obj = TryWords.query.get(tryId)
     delay = obj.get('delay')
     tryCount = obj.get('tryCount')
     if grade == 'c':
         delay = delay / 2.0
     elif grade == 'b':
         delay = delay / 1.1
     elif grade == 'a':
         if delay > 30 * 86400 - 1:
             getObj = GetWords()
             getObj.set('userId', user.id)
             getObj.set('wordAndExpl', obj.get('word')+'|'+obj.get('expl'))
             getObj.set('tryCount', obj.get('tryCount') + 1)
             getObj.set('totalTime', now - obj.get('startTime'))
             getObj.save()
             obj.destroy()
             return {'code': 0}
         delay *= math.exp(math.log(30) / (user.get('avgGetCount') - 0.1))
         delay = min(delay, 40 * 86400)
     recall_day = int((now + 8 * 3600 + delay) / 86400)
     obj.set('delay', delay)
     obj.set('tryCount', tryCount + 1)
     obj.set('recallDay', recall_day)
     obj.save()
     return {'code': 0}
Ejemplo n.º 13
0
 def GET(self):
     it = web.input()
     try:
         now = int(it.get('now', time.time()))
         token = it.get('token')
         user = User().become(token)
     except leancloud.errors.LeanCloudError:
         return {'code': 1}
     today = int((now + 8 * 3600) / 86400)
     cnt = TryWords.query.less_than_or_equal_to("recallDay", today).count()
     if cnt > 0:
         obj = TryWords.query.less_than_or_equal_to("recallDay", today).limit(1).first()
         hint = get_hint(obj.get("word"))
         return {"code": 0,
                 "count": cnt,
                 "testId": obj.id,
                 "word": obj.get("word").lower(),
                 "context": obj.get("context"),
                 "explain": obj.get("expl"),
                 "tryCount": obj.get("tryCount"),
                 "delay": obj.get("delay"),
                 "hint": hint,
                 }
     else:
         return {"code": 0, "count": cnt}
Ejemplo n.º 14
0
def test_refresh_session_token():
    user = User()
    user.set('username', 'user1_name')
    user.set('password', 'password')
    user.login()
    old_session_token = user.get_session_token()
    user.refresh_session_token()
    assert old_session_token != user.get_session_token()
Ejemplo n.º 15
0
def test_refresh_session_token():
    user = User()
    user.set("username", "user1_name")
    user.set("password", "password")
    user.login()
    old_session_token = user.get_session_token()
    user.refresh_session_token()
    assert old_session_token != user.get_session_token()
Ejemplo n.º 16
0
def register():
    try:
        user = User()
        user.set("username", request.get_json()["username"])
        user.set("password", request.get_json()["password"])
        user.sign_up()
    except LeanCloudError, e:
        raise e
Ejemplo n.º 17
0
def reg():
    username = request.form['username']
    password = request.form['password']
    user = User()
    user.set("username", username)
    user.set("password", password)
    user.sign_up()
    return user.get_session_token(), 200, AccessControl
Ejemplo n.º 18
0
def setup_func():
    leancloud.init(
        'pgk9e8orv8l9coak1rjht1avt2f4o9kptb0au0by5vbk9upb',
        master_key='azkuvukzlq3t38abdrgrwqqdcx9me6178ctulhd14wynfq1n',
    )
    users = Query(User).find()
    for u in users:
        u.destroy()

    user1 = User()
    user1.set('username', 'user1')
    user1.set('password', 'password')
    user1.sign_up()

    user2 = User()
    user2.set('username', 'user2')
    user2.set('password', 'password')
    user2.sign_up()
Ejemplo n.º 19
0
def test_file_field():  # type: () -> None
    user = User()
    user.login("user1_name", "password")
    user.set("xxxxx", File("xxx.txt", io.BytesIO(b"qqqqq")))
    user.save()

    q = Query(User)
    saved_user = q.get(user.id)
    assert isinstance(saved_user.get("xxxxx"), File)
    assert saved_user.get("xxxxx").name == "xxx.txt"
Ejemplo n.º 20
0
def test_file_field():  # type: () -> None
    user = User()
    user.login('user1_name', 'password')
    user.set('xxxxx', File('xxx.txt', io.BytesIO(b'qqqqq')))
    user.save()

    q = Query(User)
    saved_user = q.get(user.id)
    assert isinstance(saved_user.get('xxxxx'), File)
    assert saved_user.get('xxxxx').name == 'xxx.txt'
Ejemplo n.º 21
0
def test_file_field():
    user = User()
    user.login('user1_name', 'password')
    user.set('xxxxx', File('xxx.txt', buffer('qqqqq')))
    user.save()

    q = Query(User)
    saved_user = q.get(user.id)
    assert isinstance(saved_user.get('xxxxx'), File)
    assert saved_user.get('xxxxx').name == 'xxx.txt'
Ejemplo n.º 22
0
 def get_admin(self, user_name, user_pass):
     try:
         User().login(user_name, user_pass)
         user_query = query_db("_User").equal_to("username",
                                                 user_name).first()
         objid = str(user_query.id)
         return objid
     except Exception, e:
         print e
         return ""
Ejemplo n.º 23
0
def sign_up(username, password, email):
    email = email.strip().lower()
    if not email or not _RE_EMAIL.match(email):
        raise Err('value:invalid', 'email', 'email cannot be empty.')
    user = User()
    user.set("username", username)
    user.set("password", password)
    user.set("email", email)
    try:
        user.sign_up()
    except LeanCloudError, e:
        raise e
Ejemplo n.º 24
0
 def POST(self):
     it = web.input()
     username = it.get('username', '')
     password = it.get('password', '')
     user = User()
     try:
         user.login(username, password)
         token = user.get_session_token()
         web.setcookie('token', token)
         return {'code': 0, 'token': token}
     except leancloud.errors.LeanCloudError:
         return {'code': 1}
Ejemplo n.º 25
0
 def validate_password(self, field):
     user = User()
     try:
         user.login(self.account.data.strip(), self.password.data)
         self.user = user
     except Exception, e:
         if e.code:
             if e.code == 210:
                 raise ValueError('用户名/密码不正确')
             if e.code == 211:
                 raise ValueError('账号不存在')
         raise ValueError('用户名/密码不正确')
Ejemplo n.º 26
0
def test_request_change_phone_number():  # type: () -> None
    user1 = User()
    user1.set("username", "py_test_change_phone")
    user1.set("password", "password")
    user1.sign_up()
    try:
        # phone number is from http://www.z-sms.com
        User.request_change_phone_number("+8617180655340")
    except LeanCloudError as e:
        if e.code not in (119, 213, 601, 605):
            raise e
    finally:
        user1.logout()
Ejemplo n.º 27
0
    def post(self):
        username = self.get_argument("username")
        password = self.get_argument("password")
        try:
            user = User()
            user.login(username, password)
        except leancloud.errors.LeanCloudError as e:
            print(e.code, e.error)

        self.set_secure_cookie("user_id", user.id)
        self.set_secure_cookie("username", username)
        #self.redirect('/')
        self.redirect('/user/')
Ejemplo n.º 28
0
def test_get_roles():  # type: () -> None
    role = leancloud.Role('xxx')
    role.save()

    user = User()
    user.login('user1_name', 'password')
    role.get_users().add(user)
    role.save()
    bind_roles = user.get_roles()
    assert len(bind_roles) == 1
    assert bind_roles[0].get('name') == 'xxx'

    role.destroy()
Ejemplo n.º 29
0
def test_get_roles():  # type: () -> None
    role = leancloud.Role("xxx")
    role.save()

    user = User()
    user.login("user1_name", "password")
    role.get_users().add(user)
    role.save()
    bind_roles = user.get_roles()
    assert len(bind_roles) == 1
    assert bind_roles[0].get("name") == "xxx"

    role.destroy()
Ejemplo n.º 30
0
def test_change_phone_number():  # type: () -> None
    try:
        # phone number is from http://www.z-sms.com
        User.change_phone_number("196784", "+8617180655340")
    except LeanCloudError as e:
        if e.code != 603:
            raise e
    else:
        user1 = User()
        user1.set("username", "py_test_change_phone")
        user1.set("password", "password")
        user1.login()
        assert user1.get_mobile_phone_number() == "+8617180655340"
        user1.destroy()