Sha256: 4e17f1102ddb182f70b6c405d184e11acf629e4f7fe044a83dcb2ec0db2ec1c5
Contents?: true
Size: 1.04 KB
Versions: 3
Compression:
Stored size: 1.04 KB
Contents
require "helper" require "flipper/adapters/memory" require "flipper/instrumenters/memory" require "flipper/adapters/sync/synchronizer" RSpec.describe Flipper::Adapters::Sync::Synchronizer do let(:local) { Flipper::Adapters::Memory.new } let(:remote) { Flipper::Adapters::Memory.new } let(:instrumenter) { Flipper::Instrumenters::Memory.new } subject { described_class.new(local, remote, instrumenter: instrumenter) } it "instruments call" do subject.call events = instrumenter.events.select do |event| event.name == "synchronizer_call.flipper" end expect(events.size).to be(1) end it "does not raise, but instruments exceptions for visibility" do exception = StandardError.new expect(remote).to receive(:get_all).and_raise(exception) expect { subject.call }.not_to raise_error events = instrumenter.events.select do |event| event.name == "synchronizer_exception.flipper" end expect(events.size).to be(1) event = events[0] expect(event.payload[:exception]).to eq(exception) end end
Version data entries
3 entries across 3 versions & 1 rubygems