Обновлен с Rails 2.3.4 до 2.3.14 и теперь тесты не пройдены (шокирующе, я знаю) - PullRequest
0 голосов
/ 26 января 2012

Проблема, кажется, со всеми тестами, которые делают запросы POST, PUT, DELETE.Похоже, что токен csrf не связан с этими запросами.Таким образом я перенаправлен в / логин.Это прекрасно с GET-запросами, конечно.

Стоит отметить, что с браузером все в порядке.Так что это работает в dev, но не в тестовой среде.

Кто-нибудь еще видел это?

Ответы [ 2 ]

0 голосов
/ 26 января 2012

Хорошо, значит, проблема была с protect_from_forgery. По какой-то неизвестной мне причине before_filter :login_required срабатывал слишком рано. Я не знаю специфику или как «правильно» это исправить. Но после этого я наконец смог запустить свой тест:

protect_from_forgery unless Rails.env.test?
0 голосов
/ 26 января 2012

Это может быть связано с устранением уязвимостей безопасности csrf. Если вы еще не добавили csrf_meta_tags и не обновили свой файл jquery-ujs, возможно, вам потребуется сделать это и для обновления. Это может быть не так, если он работает в режиме разработки, хотя. Вот более подробный пост в блоге на эту тему. http://jasoncodes.com/posts/rails-csrf-vulnerability

...