def test_drop_cookie(self, mock_sailthru, mock_get_current_request): """ Test add_email_marketing_cookies """ response = JsonResponse({ "success": True, "redirect_url": 'test.com/test', }) self.request.COOKIES['sailthru_content'] = 'cookie_content' mock_get_current_request.return_value = self.request mock_sailthru.return_value = SailthruResponse( JsonResponse({'keys': { 'cookie': 'test_cookie' }})) add_email_marketing_cookies(None, response=response, user=self.user) mock_sailthru.assert_called_with( 'user', { 'fields': { 'keys': 1 }, 'cookies': { 'sailthru_content': 'cookie_content' }, 'id': TEST_EMAIL, 'vars': { 'last_login_date': ANY } }) self.assertTrue('sailthru_hid' in response.cookies) self.assertEquals(response.cookies['sailthru_hid'].value, "test_cookie")
def test_drop_cookie(self, mock_sailthru, mock_get_current_request): """ Test add_email_marketing_cookies """ response = JsonResponse({ "success": True, "redirect_url": 'test.com/test', }) self.request.COOKIES['anonymous_interest'] = 'cookie_content' mock_get_current_request.return_value = self.request mock_sailthru.return_value = SailthruResponse(JsonResponse({'keys': {'cookie': 'test_cookie'}})) cookie_log = "Sending to Sailthru the user interest cookie [{'anonymous_interest': 'cookie_content'}]" \ ' for user [[email protected]]' with LogCapture(LOGGER_NAME, level=logging.INFO) as logger: add_email_marketing_cookies(None, response=response, user=self.user) logger.check( (LOGGER_NAME, 'INFO', cookie_log), (LOGGER_NAME, 'INFO', 'Started at {start} and ended at {end}, time spent:{delta} milliseconds'.format( start=datetime.datetime.now().isoformat(' '), end=datetime.datetime.now().isoformat(' '), delta=0) ) ) mock_sailthru.assert_called_with('user', {'fields': {'keys': 1}, 'cookies': {'anonymous_interest': 'cookie_content'}, 'id': TEST_EMAIL, 'vars': {'last_login_date': ANY}}) self.assertTrue('sailthru_hid' in response.cookies) self.assertEquals(response.cookies['sailthru_hid'].value, "test_cookie")
def test_just_return_signals(self, mock_log_error): """ Ensure that disabling Sailthru just returns """ update_email_marketing_config(enabled=False) handle_enroll_status_change(None) self.assertFalse(mock_log_error.called) add_email_marketing_cookies(None) self.assertFalse(mock_log_error.called) email_marketing_register_user(None) self.assertFalse(mock_log_error.called) update_email_marketing_config(enabled=True) # test anonymous users anon = AnonymousUser() email_marketing_register_user(None, user=anon) self.assertFalse(mock_log_error.called) email_marketing_user_field_changed(None, user=anon) self.assertFalse(mock_log_error.called) # make sure enroll ignored when cost = 0 update_email_marketing_config(enroll_cost=0) handle_enroll_status_change( None, event=EnrollStatusChange.enroll, user=self.user, mode="audit", course_id=self.course_id ) self.assertFalse(mock_log_error.called)
def test_just_return_signals(self, mock_log_error): """ Ensure that disabling Sailthru just returns """ update_email_marketing_config(enabled=False) handle_enroll_status_change(None) self.assertFalse(mock_log_error.called) add_email_marketing_cookies(None) self.assertFalse(mock_log_error.called) email_marketing_register_user(None) self.assertFalse(mock_log_error.called) update_email_marketing_config(enabled=True) # test anonymous users anon = AnonymousUser() email_marketing_register_user(None, user=anon) self.assertFalse(mock_log_error.called) email_marketing_user_field_changed(None, user=anon) self.assertFalse(mock_log_error.called) # make sure enroll ignored when cost = 0 update_email_marketing_config(enroll_cost=0) handle_enroll_status_change(None, event=EnrollStatusChange.enroll, user=self.user, mode='audit', course_id=self.course_id) self.assertFalse(mock_log_error.called)
def test_drop_cookie_task_error(self, mock_email_cookies): """ Tests that task error is handled """ mock_email_cookies.return_value = {} mock_email_cookies.get.side_effect = Exception with LogCapture(LOGGER_NAME, level=logging.INFO) as logger: add_email_marketing_cookies(None, response=None, user=self.user) logger.check((LOGGER_NAME, 'ERROR', 'Exception Connecting to celery task for {}'.format( self.user.email)))
def test_drop_cookie_task_error(self, mock_email_cookies): """ Tests that task error is handled """ mock_email_cookies.return_value = {} mock_email_cookies.get.side_effect = Exception with LogCapture(LOGGER_NAME, level=logging.INFO) as logger: add_email_marketing_cookies(None, response=None, user=self.user) logger.check(( LOGGER_NAME, 'ERROR', 'Exception Connecting to celery task for {}'.format( self.user.email ) ))
def test_drop_cookie(self, mock_sailthru): """ Test add_email_marketing_cookies """ response = JsonResponse({ "success": True, "redirect_url": 'test.com/test', }) mock_sailthru.return_value = SailthruResponse(JsonResponse({'keys': {'cookie': 'test_cookie'}})) add_email_marketing_cookies(None, response=response, user=self.user) self.assertTrue('sailthru_hid' in response.cookies) self.assertEquals(mock_sailthru.call_args[0][0], "user") userparms = mock_sailthru.call_args[0][1] self.assertEquals(userparms['fields']['keys'], 1) self.assertEquals(userparms['id'], TEST_EMAIL) self.assertEquals(response.cookies['sailthru_hid'].value, "test_cookie")
def test_drop_cookie(self, mock_sailthru, mock_get_current_request): """ Test add_email_marketing_cookies """ response = JsonResponse({ "success": True, "redirect_url": 'test.com/test', }) self.request.COOKIES['sailthru_content'] = 'cookie_content' mock_get_current_request.return_value = self.request mock_sailthru.return_value = SailthruResponse(JsonResponse({'keys': {'cookie': 'test_cookie'}})) add_email_marketing_cookies(None, response=response, user=self.user) mock_sailthru.assert_called_with('user', {'fields': {'keys': 1}, 'cookies': {'sailthru_content': 'cookie_content'}, 'id': TEST_EMAIL, 'vars': {'last_login_date': ANY}}) self.assertTrue('sailthru_hid' in response.cookies) self.assertEquals(response.cookies['sailthru_hid'].value, "test_cookie")
def test_drop_cookie(self, mock_sailthru, mock_get_current_request): """ Test add_email_marketing_cookies """ response = JsonResponse({"success": True, "redirect_url": "test.com/test"}) self.request.COOKIES["sailthru_content"] = "cookie_content" mock_get_current_request.return_value = self.request mock_sailthru.return_value = SailthruResponse(JsonResponse({"keys": {"cookie": "test_cookie"}})) add_email_marketing_cookies(None, response=response, user=self.user) mock_sailthru.assert_called_with( "user", { "fields": {"keys": 1}, "cookies": {"sailthru_content": "cookie_content"}, "id": TEST_EMAIL, "vars": {"last_login_date": ANY}, }, ) self.assertTrue("sailthru_hid" in response.cookies) self.assertEquals(response.cookies["sailthru_hid"].value, "test_cookie")
def test_drop_cookie(self, mock_sailthru): """ Test add_email_marketing_cookies """ response = JsonResponse({ "success": True, "redirect_url": 'test.com/test', }) mock_sailthru.return_value = SailthruResponse( JsonResponse({'keys': { 'cookie': 'test_cookie' }})) add_email_marketing_cookies(None, response=response, user=self.user) self.assertTrue('sailthru_hid' in response.cookies) self.assertEquals(mock_sailthru.call_args[0][0], "user") userparms = mock_sailthru.call_args[0][1] self.assertEquals(userparms['fields']['keys'], 1) self.assertEquals(userparms['id'], TEST_EMAIL) self.assertEquals(response.cookies['sailthru_hid'].value, "test_cookie")
def test_just_return_signals(self, mock_log_error): """ Ensure that disabling Sailthru just returns """ update_email_marketing_config(enabled=False) add_email_marketing_cookies(None) self.assertFalse(mock_log_error.called) email_marketing_register_user(None, None, None) self.assertFalse(mock_log_error.called) update_email_marketing_config(enabled=True) # test anonymous users anon = AnonymousUser() email_marketing_register_user(None, anon, None) self.assertFalse(mock_log_error.called) email_marketing_user_field_changed(None, user=anon) self.assertFalse(mock_log_error.called)
def test_drop_cookie_error_path(self, mock_sailthru): """ test that error paths return no cookie """ response = JsonResponse({ "success": True, "redirect_url": 'test.com/test', }) mock_sailthru.return_value = SailthruResponse( JsonResponse({'keys': { 'cookiexx': 'test_cookie' }})) add_email_marketing_cookies(None, response=response, user=self.user) self.assertFalse('sailthru_hid' in response.cookies) mock_sailthru.return_value = SailthruResponse( JsonResponse({ 'error': "error", "errormsg": "errormsg" })) add_email_marketing_cookies(None, response=response, user=self.user) self.assertFalse('sailthru_hid' in response.cookies) mock_sailthru.side_effect = SailthruClientError add_email_marketing_cookies(None, response=response, user=self.user) self.assertFalse('sailthru_hid' in response.cookies)
def test_drop_cookie_error_path(self, mock_sailthru): """ test that error paths return no cookie """ response = JsonResponse({"success": True, "redirect_url": "test.com/test"}) mock_sailthru.return_value = SailthruResponse(JsonResponse({"keys": {"cookiexx": "test_cookie"}})) add_email_marketing_cookies(None, response=response, user=self.user) self.assertFalse("sailthru_hid" in response.cookies) mock_sailthru.return_value = SailthruResponse(JsonResponse({"error": "error", "errormsg": "errormsg"})) add_email_marketing_cookies(None, response=response, user=self.user) self.assertFalse("sailthru_hid" in response.cookies) mock_sailthru.side_effect = SailthruClientError add_email_marketing_cookies(None, response=response, user=self.user) self.assertFalse("sailthru_hid" in response.cookies)