def test_logged_social_connect_used_account(social_config, facebook_user, db_session): """Try to connect facebook account to logged in user used by other user.""" # this user will be logged and trying to connect facebook's user account. fresh_user = User( email="*****@*****.**", password="******", address_ip="127.0.0.1", ) db_session.add(fresh_user) transaction.commit() user = db_session.merge(facebook_user) fresh_user = db_session.merge(fresh_user) # mock request profile = { "accounts": [{ "domain": "facebook.com", "userid": user.provider_id("facebook"), }], "displayName": "teddy", "preferredUsername": "******", "emails": [{ "value": "*****@*****.**" }], "name": "ted", } credentials = {"oauthAccessToken": "7897048593434"} provider_name = "facebook" provider_type = "facebook" request = testing.DummyRequest() request.user = fresh_user request.registry = social_config.registry request.remote_addr = "127.0.0.123" request.context = AuthenticationComplete(profile, credentials, provider_name, provider_type) request._ = mock_translate request.login_perform = MagicMock(name="login_perform") request.login_perform.return_value = {"status": True} # call! view = SocialLoginViews(request) out = view() # status should be false assert out["status"] is False assert out[ "msg"] == "This ${provider} account is already connected with other account." transaction.begin() fresh_user = db_session.merge(fresh_user) assert fresh_user.provider_id("facebook") is None
def test_alreadyconnected(alreadyconnected_config, facebook_user, db_session): # pylint:disable=redefined-outer-name """ Try to connect facebook account to logged in user used by other users facebook account. Check redirect from SocialAccountAlreadyConnected. """ # this user will be logged and trying to connect facebook's user account. fresh_user = User( email="*****@*****.**", password="******", address_ip="127.0.0.1", ) db_session.add(fresh_user) transaction.commit() user = db_session.merge(facebook_user) fresh_user = db_session.merge(fresh_user) # mock request profile = { "accounts": [{ "domain": "facebook.com", "userid": user.provider_id("facebook"), }], "displayName": "teddy", "preferredUsername": "******", "emails": [{ "value": "*****@*****.**" }], "name": "ted", } credentials = {"oauthAccessToken": "7897048593434"} provider_name = "facebook" provider_type = "facebook" request = testing.DummyRequest() request.user = fresh_user request.registry = alreadyconnected_config.registry request.remote_addr = "127.0.0.123" request.context = AuthenticationComplete(profile, credentials, provider_name, provider_type) request._ = mock_translate request.login_perform = MagicMock(name="login_perform") request.login_perform.return_value = {"status": True} # call! view = SocialLoginViews(request) out = view() assert out.location == EVENT_PATH.format(SocialAccountAlreadyConnected) transaction.begin() fresh_user = db_session.merge(fresh_user) assert fresh_user.provider_id("facebook") is None
def test_logged_social_connect_used_account(social_config, facebook_user, db_session): """Try to connect facebook account to logged in user used by other user.""" # this user will be logged and trying to connect facebook's user account. fresh_user = User(email='*****@*****.**', password='******', address_ip='127.0.0.1') db_session.add(fresh_user) transaction.commit() user = db_session.merge(facebook_user) fresh_user = db_session.merge(fresh_user) # mock request profile = { 'accounts': [{ 'domain': u'facebook.com', 'userid': user.provider_id('facebook') }], 'displayName': u'teddy', 'preferredUsername': u'teddy', 'emails': [{ 'value': u'*****@*****.**' }], 'name': u'ted' } credentials = {'oauthAccessToken': '7897048593434'} provider_name = u'facebook' provider_type = u'facebook' request = testing.DummyRequest() request.user = fresh_user request.registry = social_config.registry request.remote_addr = u'127.0.0.123' request.context = AuthenticationComplete(profile, credentials, provider_name, provider_type) request._ = lambda msg, *args, **kwargs: msg request.login_perform = MagicMock(name='login_perform') request.login_perform.return_value = {'status': True} # call! view = SocialLoginViews(request) out = view() # status should be false assert out['status'] is False assert out[ 'msg'] == 'This ${provider} account is already connected with other account.' transaction.begin() fresh_user = db_session.merge(fresh_user) assert fresh_user.provider_id('facebook') is None
def test_alreadyconnected(alreadyconnected_config, alreadyconnected_app, facebook_user, db_session): """Try to connect facebook account to logged in user used by other user check redirect from SocialAccountAlreadyConnected.""" # this user will be logged and trying to connect facebook's user account. fresh_user = User(email=text_type('*****@*****.**'), password=text_type('somepassword'), address_ip=text_type('127.0.0.1')) db_session.add(fresh_user) transaction.commit() user = db_session.merge(facebook_user) fresh_user = db_session.merge(fresh_user) # mock request profile = { 'accounts': [{ 'domain': text_type('facebook.com'), 'userid': user.provider_id('facebook') }], 'displayName': text_type('teddy'), 'preferredUsername': text_type('teddy'), 'emails': [{ 'value': text_type('*****@*****.**') }], 'name': text_type('ted') } credentials = {'oauthAccessToken': '7897048593434'} provider_name = text_type('facebook') provider_type = text_type('facebook') request = testing.DummyRequest() request.user = fresh_user request.registry = alreadyconnected_config.registry request.remote_addr = text_type('127.0.0.123') request.context = AuthenticationComplete(profile, credentials, provider_name, provider_type) request._ = mock_translate request.login_perform = MagicMock(name='login_perform') request.login_perform.return_value = {'status': True} # call! view = SocialLoginViews(request) out = view() assert out.location == EVENT_PATH.format(SocialAccountAlreadyConnected) transaction.begin() fresh_user = db_session.merge(fresh_user) assert fresh_user.provider_id('facebook') is None
def test_logged_social_connect_used_account(social_config, facebook_user, db_session): """Try to connect facebook account to logged in user used by other user.""" # this user will be logged and trying to connect facebook's user account. fresh_user = User( email=text_type('*****@*****.**'), password=text_type('somepassword'), address_ip=text_type('127.0.0.1') ) db_session.add(fresh_user) transaction.commit() user = db_session.merge(facebook_user) fresh_user = db_session.merge(fresh_user) # mock request profile = { 'accounts': [{'domain': text_type('facebook.com'), 'userid': user.provider_id('facebook')}], 'displayName': text_type('teddy'), 'preferredUsername': text_type('teddy'), 'emails': [{'value': text_type('*****@*****.**')}], 'name': text_type('ted') } credentials = {'oauthAccessToken': '7897048593434'} provider_name = text_type('facebook') provider_type = text_type('facebook') request = testing.DummyRequest() request.user = fresh_user request.registry = social_config.registry request.remote_addr = text_type('127.0.0.123') request.context = AuthenticationComplete(profile, credentials, provider_name, provider_type) request._ = mock_translate request.login_perform = MagicMock(name='login_perform') request.login_perform.return_value = {'status': True} # call! view = SocialLoginViews(request) out = view() # status should be false assert out['status'] is False assert out['msg'] == 'This ${provider} account is already connected with other account.' transaction.begin() fresh_user = db_session.merge(fresh_user) assert fresh_user.provider_id(text_type('facebook')) is None
def test_alreadyconnected(alreadyconnected_config, facebook_user, db_session): # pylint:disable=redefined-outer-name """ Try to connect facebook account to logged in user used by other users facebook account. Check redirect from SocialAccountAlreadyConnected. """ # this user will be logged and trying to connect facebook's user account. fresh_user = User( email=text_type('*****@*****.**'), password=text_type('somepassword'), address_ip=text_type('127.0.0.1') ) db_session.add(fresh_user) transaction.commit() user = db_session.merge(facebook_user) fresh_user = db_session.merge(fresh_user) # mock request profile = { 'accounts': [{'domain': text_type('facebook.com'), 'userid': user.provider_id('facebook')}], 'displayName': text_type('teddy'), 'preferredUsername': text_type('teddy'), 'emails': [{'value': text_type('*****@*****.**')}], 'name': text_type('ted') } credentials = {'oauthAccessToken': '7897048593434'} provider_name = text_type('facebook') provider_type = text_type('facebook') request = testing.DummyRequest() request.user = fresh_user request.registry = alreadyconnected_config.registry request.remote_addr = text_type('127.0.0.123') request.context = AuthenticationComplete(profile, credentials, provider_name, provider_type) request._ = mock_translate request.login_perform = MagicMock(name='login_perform') request.login_perform.return_value = {'status': True} # call! view = SocialLoginViews(request) out = view() assert out.location == EVENT_PATH.format(SocialAccountAlreadyConnected) transaction.begin() fresh_user = db_session.merge(fresh_user) assert fresh_user.provider_id(text_type('facebook')) is None
def test_logged_social_connect_used_account(social_config, facebook_user, db_session): """Try to connect facebook account to logged in user used by other user.""" # this user will be logged and trying to connect facebook's user account. fresh_user = User( email=text_type("*****@*****.**"), password=text_type("somepassword"), address_ip=text_type("127.0.0.1") ) db_session.add(fresh_user) transaction.commit() user = db_session.merge(facebook_user) fresh_user = db_session.merge(fresh_user) # mock request profile = { "accounts": [{"domain": text_type("facebook.com"), "userid": user.provider_id("facebook")}], "displayName": text_type("teddy"), "preferredUsername": text_type("teddy"), "emails": [{"value": text_type("*****@*****.**")}], "name": text_type("ted"), } credentials = {"oauthAccessToken": "7897048593434"} provider_name = text_type("facebook") provider_type = text_type("facebook") request = testing.DummyRequest() request.user = fresh_user request.registry = social_config.registry request.remote_addr = text_type("127.0.0.123") request.context = AuthenticationComplete(profile, credentials, provider_name, provider_type) request._ = mock_translate request.login_perform = MagicMock(name="login_perform") request.login_perform.return_value = {"status": True} # call! view = SocialLoginViews(request) out = view() # status should be false assert out["status"] is False assert out["msg"] == "This ${provider} account is already connected with other account." transaction.begin() fresh_user = db_session.merge(fresh_user) assert fresh_user.provider_id("facebook") is None