红宝石 – 使用录像机过滤敏感数据

我使用VCR宝石来记录http交互并重播.我想在uri请求中过滤掉我的实际密码值.以下是uri的样例:
http://services.somesite.com/Services.asmx/Cabins
Username=long&Password=john&StartDate=03%2F22%2F2012&EndDate=03%2F29%2F2012

虽然这里提供了一个解释,但我仍然不知道如何做一些尝试后自己:

https://www.relishapp.com/myronmarston/vcr/v/2-0-0/docs/configuration/filter-sensitive-data

任何帮助将不胜感激.

解决方法

VCR.configure do |c|
  c.filter_sensitive_data("<SOMESITE_PASSWORD>") do
    ENV['SOMESITE_PASSWORD']
    # or $credentials['somesite']['password'] or whatever
  end
end

从本质上讲,您给VCR一些占位符文本,然后块需要返回真正的密码,从任何规范密码“存储库”读取它.

请注意,真实密码仅在首次记录请求时才需要;在后续运行中,它可以是一个假的密码(只要代码发出请求使用的伪密码是一样的).

相关文章

以下代码导致我的问题: class Foo def initialize(n=0) @n = n end attr_accessor :n d...
这是我的spec文件,当为上下文添加测试“而不是可单独更新用户余额”时,我得到以下错误. require 's...
我有一个拦截器:DevelopmentMailInterceptor和一个启动拦截器的inititializer setup_mail.rb. 但我想将...
例如,如果我有YAML文件 en: questions: new: 'New Question' other: recent: ...
我听说在RSpec中避免它,let,let !,指定,之前和主题是最佳做法. 关于让,让!之前,如果不使用这些,我该如...
我在Rails中使用MongoDB和mongo_mapper gem,项目足够大.有什么办法可以将数据从Mongoid迁移到 Postgres...