def test_dump_and_load(logger, mongodb): """Test the dump and loading of the user 'universe'. """ assert user.count() == 0 assert user.dump() == [] username = u'andrés.bolívar' display_name = u'Andrés Plácido Bolívar' email = u'andrés.bolí[email protected]' data = [ { "username": "******", "oauth_tokens": { "googleauth": { "request_token": "1234567890" } }, "display_name": "Bobby", "phone": "12121212", "cats": "big", "teatime": 1, "_id": "user-2719963b00964c01b42b5d81c998fd05", "email": "*****@*****.**", "password_hash": pwtools.hash_password('11amcoke') }, { "username": username.encode('utf-8'), "display_name": display_name.encode('utf-8'), "phone": "", "_id": "user-38ed1d2903344702b30bb951916aaf1c", "email": email.encode('utf-8'), "password_hash": pwtools.hash_password('$admintime$') } ] user.load(data) assert user.count() == 2 item2 = user.get('bob.sprocket') user_dict = data[0] assert item2['username'] == user_dict['username'] assert item2['display_name'] == user_dict['display_name'] assert item2['email'] == user_dict['email'] assert item2['phone'] == user_dict['phone'] assert item2['oauth_tokens'] == user_dict['oauth_tokens'] assert item2['cats'] == 'big' assert item2['teatime'] == 1 # Test the unicode name as still good: item1 = user.get(username) user_dict = data[1] assert item1['username'] == username assert item1['display_name'] == display_name assert item1['email'] == email assert item1['phone'] == user_dict['phone']
def dump(): """Dump an entire database into JSON so it can be backed up or loaded. :returns: A dict. This has the form:: dumped = [ {.. user 1 ..}, : etc ] """ from pp.user.model.user import dump return dump()
def test_user_recovery_for_access_token(logger, mongodb): """Test the recover a user's access_secret based on a given access_token. """ assert user.count() == 0 assert user.dump() == [] username = '******' access_token = ( "eyJleHBpcmVzIjogMTAsICJzYWx0IjogImMyNzZjMCIsICJpZGVudGl0eSI6ICJib2Iif" "QtSy56A7SfLFayHdmuWdwZDBZESKvDCVAIxwHmYqg1wd8LOn12djG_thZg26TTzknKVqT" "GmkOs5hs-B-zSfjVU=" ) access_secret = ( "cf25474cda623fe4cb9cebdbb0c328d44ec33d883d27b8e5dc7d62de2247296fe85e7" "3dc6fb2d6cfe19f2c107676b52070010b1f932c6f25f74f308fe19c09f3" ) data = [ { "username": username, "tokens": { access_token: { "access_secret": access_secret } }, "display_name": "Bobby", "phone": "12121212", "_id": "user-2719963b00964c01b42b5d81c998fd05", "email": "*****@*****.**", "password_hash": pwtools.hash_password('11amcoke') }, ] user.load(data) # Recover the user's secret given the access_token: found = user.secret_for_access_token(access_token) assert found == access_secret # If the token is unknown the nothing will be returned. assert user.secret_for_access_token('fake-token') is None
def test_validate_password(logger, mongodb): assert user.count() == 0 assert user.dump() == [] username = u'andrés.bolívar' display_name = u'Andrés Plácido Bolívar' email = u'andrés.bolí[email protected]' data = [ { "username": "******", "oauth_tokens": { "googleauth": { "request_token": "1234567890" } }, "display_name": "Bobby", "phone": "12121212", "cats": "big", "teatime": 1, "_id": "user-2719963b00964c01b42b5d81c998fd05", "email": "*****@*****.**", "password_hash": pwtools.hash_password('11amcoke') }, { "username": username.encode('utf-8'), "display_name": display_name.encode('utf-8'), "phone": "", "_id": "user-38ed1d2903344702b30bb951916aaf1c", "email": email.encode('utf-8'), "password_hash": pwtools.hash_password('$admintime$') } ] user.load(data) assert user.validate_password('bob.sprocket', '11amcoke') is True assert user.validate_password('bob.sprocket', 'incorrect') is False assert user.validate_password(username, '11amcoke') is False assert user.validate_password(username, '$admintime$') is True