2011-04-05 70 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

相關問題