ker*_*lin 15 ruby testing rspec ruby-on-rails-3 vcr
我正在使用VCR gem记录http交互,并在将来重播它们.我想在uri请求中过滤掉我的实际密码值.这是uri的样子:
http://services.somesite.com/Services.asmx/Cabins
Username=long&Password=john&StartDate=03%2F22%2F2012&EndDate=03%2F29%2F2012
Run Code Online (Sandbox Code Playgroud)
虽然这里提供了一个解释,但我仍然不确定自己经过几次尝试后该怎么做:
https://www.relishapp.com/myronmarston/vcr/v/2-0-0/docs/configuration/filter-sensitive-data
任何帮助,将不胜感激.
Myr*_*ton 25
VCR.configure do |c|
c.filter_sensitive_data("<SOMESITE_PASSWORD>") do
ENV['SOMESITE_PASSWORD']
# or $credentials['somesite']['password'] or whatever
end
end
Run Code Online (Sandbox Code Playgroud)
基本上,你给VCR一些占位符文本,然后块需要返回真实密码,从任何规范密码"存储库"读取它.
请注意,只有在记录请求时第一次才需要真实密码; 在后续运行中,它可以是假密码(只要它与发出请求的代码使用的假密码相同).
对于rails 4+,如果你使用secrets.yml,你可能想做
VCR.configure do |config|
Rails.application.secrets.each do |k,v|
config.filter_sensitive_data("ENV[#{k}]") { v }
end
end
Run Code Online (Sandbox Code Playgroud)
现在你肯定不会忘记任何
归档时间: |
|
查看次数: |
2406 次 |
最近记录: |