Как протестировать OpenID в рельсах с огурцом

Как протестировать OpenID в рельсах с огурцом. У кого-нибудь есть реальный пример? Например, используя Fakeweb. Спасибо


person boblin    schedule 28.01.2010    source источник
comment
Вам необходимо предоставить некоторые дополнительные сведения, например, что именно вы хотите протестировать, что вы уже пробовали и какие библиотеки / инструменты вы используете с точки зрения OpenID и тестирования.   -  person tobyclemson    schedule 29.01.2010


Ответы (2)


Я предполагаю, что вы не хотите тестировать с реальным провайдером OpenID, поэтому вам, вероятно, придется создать какую-то подделку. Или, может быть, заглушите механизм OpenID, чтобы вы могли выбирать путь выполнения через свой код, заставляя его возвращать разные стандартные ответы для разных тестов.

С точки зрения использования Cucumber с Rails, Webrat считается стандартным способом подделки запроса через веб-стек - он довольно мощный и приводит к хорошо читаемым определениям шагов. Взгляните на эти ссылки для получения дополнительной информации:

person tobyclemson    schedule 28.01.2010
comment
Спасибо за ответ. Для тестирования огурцов использую webrat. Поддельное соединение OpenID - вот что я хочу сделать. Можно использовать библиотеку Fakeweb для создания поддельного HTTP-ответа. Но, похоже, это непросто. Похоже, есть еще ответы от сервера OpenID. У меня это не работает. Я не знаю, как проверить связь между приложением rails и сервером openid. - person boblin; 01.02.2010
comment
Все, что вам нужно проверить, это то, что ваше приложение правильно реагирует на любой ответ, который дает поставщик OpenID. Таким образом, имеет смысл заменить класс в вашем приложении, который общается с поставщиком OpenID, на заглушку и, возвращая эквивалент вызова поставщику OpenID для методов этого класса, который вы используете, вы эффективно реплицируете функциональность провайдера OpenID без отправки реальных запросов. - person tobyclemson; 01.02.2010

Я нашел это сообщение в блоге, в котором объясняется как использовать Ruby OpenID Test Server (ROTS) в качестве локального сервера с открытым идентификатором для запуска интеграционных тестов.

Есть также связанный с этим вопрос - Как подделать логин OpenID в истории пользователя RSpec / Cucumber при использовании плагина open_id_authentication

person tpower    schedule 20.06.2010