def enable_user(email): cognito_client = get_boto3_client() try: response = cognito_client.admin_enable_user( UserPoolId=config.env_pool_id(), Username=email) except CLIENT_EXCEPTIONS as error: LOG.error(error) response = {} return check_response_status_code(response)
def list_groups_for_user(email): cognito_client = get_boto3_client() try: response = cognito_client.admin_list_groups_for_user( UserPoolId=config.env_pool_id(), Username=email) except CLIENT_EXCEPTIONS as error: LOG.error(error) response = {} return response
def remove_from_group(email, group_name): cognito_client = get_boto3_client() try: response = cognito_client.admin_remove_user_from_group( UserPoolId=config.env_pool_id(), Username=email, GroupName=group_name) except CLIENT_EXCEPTIONS as error: LOG.error(error) response = {} return check_response_status_code(response)
def update_user(email, attributes): cognito_client = get_boto3_client() try: response = cognito_client.admin_update_user_attributes( UserPoolId=config.env_pool_id(), Username=email, UserAttributes=attributes) except (ClientError, ParamValidationError) as error: LOG.error(error) response = {} return check_response_status_code(response)
def set_mfa_preferences(email): cognito_client = get_boto3_client() try: response = cognito_client.admin_set_user_mfa_preference( UserPoolId=config.env_pool_id(), Username=email, SMSMfaSettings={ "Enabled": True, "PreferredMfa": True }, ) except CLIENT_EXCEPTIONS as error: LOG.error(error) response = {} return check_response_status_code(response)
def set_user_settings(email): client = get_boto3_client() try: response = client.admin_set_user_settings( UserPoolId=config.env_pool_id(), Username=email, MFAOptions=[{ "DeliveryMedium": "SMS", "AttributeName": "phone_number" }], ) except CLIENT_EXCEPTIONS as error: LOG.error(error) response = {} return check_response_status_code(response)
def add_to_group(email, group_name): if group_name is None: group_name = "standard-download" if group_name not in get_group_map().keys(): return False cognito_client = get_boto3_client() try: response = cognito_client.admin_add_user_to_group( UserPoolId=config.env_pool_id(), Username=email, GroupName=group_name) except CLIENT_EXCEPTIONS as error: LOG.error(error) response = {} return check_response_status_code(response)
def create_user(name, email_address, phone_number, is_la, custom_paths): client = get_boto3_client() try: response = client.admin_create_user( UserPoolId=config.env_pool_id(), Username=email_address, UserAttributes=[ { "Name": "name", "Value": name }, { "Name": "email", "Value": email_address }, { "Name": "email_verified", "Value": "true" }, { "Name": "phone_number", "Value": phone_number }, { "Name": "phone_number_verified", "Value": "false" }, { "Name": "custom:is_la", "Value": is_la }, { "Name": "custom:paths", "Value": custom_paths }, ], ForceAliasCreation=False, DesiredDeliveryMediums=["EMAIL"], ) except CLIENT_EXCEPTIONS as error: LOG.error(error) response = {} return "User" in response
def test_env_pool_id_production(): user_pool_id = stubs.MOCK_COGNITO_USER_POOL_ID config.set("app_environment", "production") stubber = stubs.mock_cognito_list_pools(env="prod") with stubber: assert config.env_pool_id() == user_pool_id
def test_env_pool_id_development(): user_pool_id = stubs.MOCK_COGNITO_USER_POOL_ID stubber = stubs.mock_cognito_list_pools() with stubber: assert config.env_pool_id() == user_pool_id