Модульное тестирование с удаленной аутентификацией - PullRequest
2 голосов
/ 05 июня 2011

У меня есть набор тестов, которые я написал, когда мое приложение использовало аутентификацию Django по умолчанию, но теперь я добавил Atlassian Crowd в качестве метода аутентификации, и эти тесты теперь не проходят, главным образом потому, что сервер Crowd не существует, когда яхочу запускать свои тесты из дома.

У каждого приложения есть это в своем методе Setup ()

def setUp(self):
    """Set up the shared test data."""
    self.client.login(username='admin', password='letmein')

В данный момент я работаю над этим, комментируя AUTHENTICATION_BACKENDS, но этоне будет работать на сервере CI.

Я не думаю, что ошибка, которую я получаю, важна, но для полноты:

URLError: <urlopen error [Errno 8] nodename nor servname provided, or not known>

Я попытался добавить обаauth backends в AUTHENTICATION_BACKENDS, и я все еще получаю те же результаты.

Какие есть варианты для прохождения этих тестов?

Есть ли способ заставить пользователя войти в систему?Могу ли я каким-то образом издеваться над объектом auth?

Могу ли я поставить галочку рядом с разделом AUTHENTICATION_BACKENDS в настройке, чтобы проверить, работает ли он в тестовом режиме?но потом я пишу особые случаи для моих тестов и такого рода поражений объекта.

1 Ответ

3 голосов
/ 05 июня 2011

Вы можете изменить настройку AUTHENTICATION_BACKENDS в методе setUp, а затем изменить ее обратно на tearDown. Этот принятый ответ на вопрос имеет пример именно этого, но с другой настройкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...