Beispiel #1
0
 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,
     )
Beispiel #2
0
 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)
Beispiel #3
0
 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})
Beispiel #4
0
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']))
Beispiel #5
0
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']))
Beispiel #6
0
    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
        )
Beispiel #7
0
 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,
     )
Beispiel #8
0
    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)