2011-04-05 48 views
0

我正在开发一个应用程序,该应用程序使用declarative_authorization进行模型安全性测试,并且在构建fixtures时不需要/需要他们通过授权框架。目前我正在使用类似下面的代码片段,但由于这将是一个相当普遍的任务,我想知道是否有更好或更简洁的方法来实现相同的目标。更简洁的使用方法without_access_control

def disable_auth(code, *args) 
    without_access_control do 
    return code.call(*args) 
    end 
end 

get :index, :product_id => disable_auth(lambda { Factory(:product) }) 
+0

如果这是Ruby on Rails,你应该在你的问题中加入'ruby-on-rails'标签。 (我不知道是否是,或者我会为你编辑它。) – Phrogz 2011-04-05 22:07:44

+0

这是红宝石在轨道上,但我认为它适用于一般的红宝石。 – MrEvil 2011-04-05 22:17:53

回答

0

我通常以我的测试的开始块中的授权用户身份登录。这样可以很容易地编写测试来验证我的权限是否按我希望的方式工作。

我不会按照你描述的方式去做。

+0

在此特定实例中,我验证匿名用户无法访问预先存在的产品。我有很多类似于此的测试,需要一些预先存在的状态,然后由各种其他权限级别的用户访问。与多个用户签约以创建夹具,然后切换用户进行实际测试是PITA。 – MrEvil 2011-04-05 23:14:22

相关问题