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")
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"]))