def test_update_unenrolled_list_errors(self, mock_sailthru_client): # test get error from Sailthru mock_sailthru_client.reset_mock() # simulate retryable error mock_sailthru_client.api_get.return_value = MockSailthruResponse({}, error='Got an error', code=43) self.assertFalse(_update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, False)) # test get error from Sailthru mock_sailthru_client.reset_mock() # simulate unretryable error mock_sailthru_client.api_get.return_value = MockSailthruResponse({}, error='Got an error', code=1) self.assertTrue(_update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, False)) # test post error from Sailthru mock_sailthru_client.reset_mock() mock_sailthru_client.api_post.return_value = MockSailthruResponse({}, error='Got an error', code=9) mock_sailthru_client.api_get.return_value = MockSailthruResponse({'vars': {'unenrolled': [self.course_url]}}) self.assertFalse(_update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, False)) # test exception mock_sailthru_client.api_get.side_effect = SailthruClientError self.assertFalse(_update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, False))
def test_update_unenrolled_list_new(self, mock_sailthru_client): """ test routine which updates the unenrolled list in Sailthru """ # test a new unenroll mock_sailthru_client.api_get.return_value = MockSailthruResponse( {'vars': { 'unenrolled': ['course_u1'] }}) self.assertTrue( _update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, True)) mock_sailthru_client.api_get.assert_called_with( "user", { "id": TEST_EMAIL, "fields": { "vars": 1 } }) mock_sailthru_client.api_post.assert_called_with( 'user', { 'vars': { 'unenrolled': ['course_u1', self.course_url] }, 'id': TEST_EMAIL, 'key': 'email' })
def test_update_unenrolled_list_old(self, mock_sailthru_client): # test an existing unenroll mock_sailthru_client.reset_mock() mock_sailthru_client.api_get.return_value = MockSailthruResponse({'vars': {'unenrolled': [self.course_url]}}) self.assertTrue(_update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, True)) mock_sailthru_client.api_get.assert_called_with("user", {"id": TEST_EMAIL, "fields": {"vars": 1}}) mock_sailthru_client.api_post.assert_not_called()
def test_update_unenrolled_list_reenroll(self, mock_sailthru_client): # test an enroll of a previously unenrolled course mock_sailthru_client.reset_mock() mock_sailthru_client.api_get.return_value = MockSailthruResponse({'vars': {'unenrolled': [self.course_url]}}) self.assertTrue(_update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, False)) mock_sailthru_client.api_post.assert_called_with('user', {'vars': {'unenrolled': []}, 'id': TEST_EMAIL, 'key': 'email'})
def test_update_unenrolled_list_reenroll(self, mock_sailthru_client): # test an enroll of a previously unenrolled course mock_sailthru_client.reset_mock() mock_sailthru_client.api_get.return_value = MockSailthruResponse({'vars': {'unenrolled': [self.course_url]}}) self.assertTrue(_update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, False)) mock_sailthru_client.api_post.assert_called_with( 'user', { 'vars': {'unenrolled': []}, 'id': TEST_EMAIL, 'key': 'email' })
def test_update_unenrolled_list_new(self, mock_sailthru_client): """ test routine which updates the unenrolled list in Sailthru """ # test a new unenroll mock_sailthru_client.api_get.return_value = MockSailthruResponse({'vars': {'unenrolled': ['course_u1']}}) self.assertTrue(_update_unenrolled_list(mock_sailthru_client, TEST_EMAIL, self.course_url, True)) mock_sailthru_client.api_get.assert_called_with("user", {"id": TEST_EMAIL, "fields": {"vars": 1}}) mock_sailthru_client.api_post.assert_called_with('user', {'vars': {'unenrolled': ['course_u1', self.course_url]}, 'id': TEST_EMAIL, 'key': 'email'})