def test_subscribe_called_with_correct_arguments(self, mock_get_mailchimp_api): list_name = 'foo' user = UserFactory() mock_client = mock.MagicMock() mock_get_mailchimp_api.return_value = mock_client mock_client.lists.list.return_value = { 'data': [{ 'id': 1, 'list_name': list_name }] } list_id = mailchimp_utils.get_list_id_from_name(list_name) mailchimp_utils.subscribe_mailchimp(list_name, user._id) handlers.celery_teardown_request() mock_client.lists.subscribe.assert_called_with( id=list_id, email={'email': user.username}, merge_vars={ 'fname': user.given_name, 'lname': user.family_name, }, double_optin=False, update_existing=True, )
def test_get_list_id_from_name(self, mock_get_mailchimp_api): list_name = 'foo' mock_client = mock.MagicMock() mock_get_mailchimp_api.return_value = mock_client mock_client.lists.list.return_value = {'data': [{'id': 1, 'list_name': list_name}]} list_id = mailchimp_utils.get_list_id_from_name(list_name) mock_client.lists.list.assert_called_with(filters={'list_name': list_name}) assert_equal(list_id, 1)
def test_unsubscribe_called_with_correct_arguments(self, mock_get_mailchimp_api): list_name = 'foo' user = UserFactory() mock_client = mock.MagicMock() mock_get_mailchimp_api.return_value = mock_client mock_client.lists.list.return_value = {'data': [{'id': 2, 'list_name': list_name}]} list_id = mailchimp_utils.get_list_id_from_name(list_name) mailchimp_utils.unsubscribe_mailchimp(list_name, user._id) mock_client.lists.unsubscribe.assert_called_with(id=list_id, email={'email': user.username})
def subscribe_users(users, dry=True): serialized = [serialize_user(user) for user in users] m = mailchimp_utils.get_mailchimp_api() list_id = mailchimp_utils.get_list_id_from_name(list_name=GENERAL_LIST) logger.info('Subscribing {0} users to {1}...'.format(len(users), GENERAL_LIST)) if not dry: subscribe_info = m.lists.batch_subscribe( id=list_id, batch=serialized, double_optin=False, update_existing=True ) logger.info('{n} users subscribed'.format(n=subscribe_info['add_count']))
def subscribe_users(users, dry=True): serialized = [serialize_user(user) for user in users] m = mailchimp_utils.get_mailchimp_api() list_id = mailchimp_utils.get_list_id_from_name(list_name=GENERAL_LIST) logger.info('Subscribing {0} users to {1}...'.format( len(users), GENERAL_LIST)) if not dry: subscribe_info = m.lists.batch_subscribe(id=list_id, batch=serialized, double_optin=False, update_existing=True) logger.info( '{n} users subscribed'.format(n=subscribe_info['add_count']))
def test_subscribe_users_called_with_correct_arguments(self, mock_subscribe, mock_list): mock_list.return_value = {'data': [{'id': 1, 'list_name': GENERAL_LIST}]} list_id = mailchimp_utils.get_list_id_from_name(GENERAL_LIST) users = list(get_users()) subscribe_users(users, dry=False) serialized = [serialize_user(u) for u in users] mock_subscribe.assert_called_with(id=list_id, batch=serialized, double_optin=False, update_existing=True )
def test_subscribe_called_with_correct_arguments(self, mock_get_mailchimp_api): list_name = 'foo' user = UserFactory() mock_client = mock.MagicMock() mock_get_mailchimp_api.return_value = mock_client mock_client.lists.list.return_value = {'data': [{'id': 1, 'list_name': list_name}]} list_id = mailchimp_utils.get_list_id_from_name(list_name) mailchimp_utils.subscribe_mailchimp(list_name, user._id) mock_client.lists.subscribe.assert_called_with( id=list_id, email={'email': user.username}, merge_vars={ 'fname': user.given_name, 'lname': user.family_name, }, double_optin=False, update_existing=True, )
def test_subscribe_users_called_with_correct_arguments( self, mock_subscribe, mock_list): mock_list.return_value = { 'data': [{ 'id': 1, 'list_name': GENERAL_LIST }] } list_id = mailchimp_utils.get_list_id_from_name(GENERAL_LIST) users = list(get_users()) subscribe_users(users, dry=False) serialized = [serialize_user(u) for u in users] mock_subscribe.assert_called_with(id=list_id, batch=serialized, double_optin=False, update_existing=True)