camcorder icon indicating copy to clipboard operation
camcorder copied to clipboard

FYI, you may have to re-record cassettes with psych 2.1.0+

Open jrafanie opened this issue 6 years ago • 0 comments

For future people including me, if you get a Camcorder::ProxyPlaybackError because it can't find a recording, it could be due to psych changes.

Because camcorder uses yaml to dump the args for each method call, if you upgrade to newer versions of psych that change the format (even slightly), you may have to rerecord your cassettes:

https://github.com/ghempton/camcorder/blob/f2591cf7c40c570b312c48f06769a4e6ee5fe4c6/lib/camcorder/proxy.rb#L28-L30

For example, psych 2.0.17 to 2.1.0 introduced this change.

irb(main):001:0> require 'yaml'
=> true
irb(main):002:0> Psych::VERSION
=> "2.0.17"
irb(main):003:0> YAML.dump "078123423"
=> "--- 078123423\n...\n"
irb(main):004:0> require 'digest'
=> true
irb(main):005:0> Digest::MD5.hexdigest(YAML.dump("078123423"))
=> "9ad7bbd6de568e136bf7f30105dcbb8d"
irb(main):001:0> require 'yaml'
=> true
irb(main):002:0> Psych::VERSION
=> "2.1.0"
irb(main):003:0> YAML.dump "078123423"
=> "--- '078123423'\n"
irb(main):004:0> require 'digest'
=> true
irb(main):005:0> Digest::MD5.hexdigest(YAML.dump("078123423"))
=> "884af5b4d3e7878a214262fca58a9ae6"

See also: https://github.com/ManageIQ/manageiq-gems-pending/pull/344

jrafanie avatar Apr 12 '18 20:04 jrafanie