예제 #1
0
파일: test_db.py 프로젝트: budershank/triv
    def test_duplicate_user(self):
        db.create_user("non_unique_name", "password")
        try:
            db.create_user("non_unique_name", "different password")
            self.fail("Expected a duplicate key error")
        except pymongo.errors.DuplicateKeyError:
            pass
        except Exception:
            self.fail("Expected a duplicate key error, but got the wrong kind")

        db.create_facebook_user("12345")
        try:
            db.create_facebook_user("12345")
            self.fail("Expected a duplicate key error")
        except pymongo.errors.DuplicateKeyError:
            pass
        except Exception:
            self.fail("Expected a duplicate key error, but got the wrong kind")
예제 #2
0
파일: api.py 프로젝트: budershank/triv
def facebook_user():
    facebook_id = request.args.get("fbid", None)
    if not facebook_id:
        return jsonify(ok=False, error="Missing the `fbid` parameter")

    try:
        new_user_oid = db.create_facebook_user(facebook_id)
    except DuplicateKeyError:
        pass

    user_doc = db.user_from_facebook_id(facebook_id)
    if not user_doc:
        return jsonify(ok=False, error="Weird error. Didn't get a user by Facebook ID right after doing an insert.")

    return jsonify(ok=True, user_oid=str(user_doc["_id"]))