Sha256: 1f205696543604173222223aef83b38cbf91f3b0f0d9378362bad02dcc70e9f5
Contents?: true
Size: 1.67 KB
Versions: 6
Compression:
Stored size: 1.67 KB
Contents
require "spec_helper" describe Alephant::Publisher::Queue::SQSHelper::Archiver do let (:cache) { instance_double("Alephant::Cache", :put => nil) } let (:queue) { instance_double("AWS::SQS::Queue", :url => nil) } let (:msg_body) {{ :Message => JSON.generate(msg_uri) }} let (:msg_uri) {{ :uri => "/content/asset/newsbeat" }} let (:message) do instance_double( "AWS::SQS::ReceivedMessage", :id => "id", :md5 => "qux", :queue => queue, :body => JSON.generate(msg_body) ) end let (:opts) do { :log_archive_message => true, :async_store => false } end let (:subject) { described_class.new(cache, opts) } describe "#see" do let (:time_now) { DateTime.parse("Feb 24 1981") } context "calls cache put with the correct params" do before(:each) do allow(DateTime).to receive(:now).and_return(time_now) end specify do expect(cache).to receive(:put).with( "archive/#{time_now.strftime('%d-%m-%Y_%H')}/id", message.body, :id => message.id, :md5 => message.md5, :logged_at => time_now.to_s, :queue => message.queue.url ) subject.see(message) end end end describe "logging archive message" do context "enabled" do specify do subject.see(message) expect(message).to have_received(:body).twice end end context "disabled" do before(:each) do opts[:log_archive_message] = false end specify do subject.see(message) expect(message).to have_received(:body).once end end end end
Version data entries
6 entries across 6 versions & 1 rubygems