ruby - 使用 VCR 过滤敏感数据

标签 ruby ruby-on-rails-3 testing rspec 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

虽然这里提供了解释,但我自己尝试了几次后仍然不确定如何去做:

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 一些占位符文本,然后该 block 需要返回真实密码,从任何规范密码“存储库”中读取它。

请注意,真正的密码只在第一次需要,当请求被记录时;在后续运行中,它可以是假密码(只要它与发出请求的代码使用的假密码相同)。

关于ruby - 使用 VCR 过滤敏感数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9816152/

相关文章:

ruby-on-rails - 安装 ffmpeg

ruby-on-rails-3 - Rails 操作缓存过期后刷新

jquery - 将 Javascript 变量传递给 Rails 部分

reactjs - 运行 Jest 时,Babel 不会编译 .test.js 文件

testing - 如何在 Ember.js 集成测试中模拟按下修饰键的按键事件?

ruby-on-rails - 用于布局的 Ruby Controller

ruby - 动态交换 Rails3 布局

mysql - Rails 与连接表相交查询

ios - 存折自动化测试

ruby-on-rails - Ruby 哈希 delete_if 很多